Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ refresh_specific_views([SomeMaterializedView], concurrently=True, strict=True)

Under the hood that function is implemented usingh three public utility functions from `django_pgviews.dependencies`, which you can use directly if you need more control over the refresh process:

- `get_views_dependendants`: Get all dependants of a given view(s).
- `get_views_dependants`: Get all dependants of a given view(s).
- `get_views_dependencies`: Get all dependencies of a given view(s).
- `reorder_by_dependencies`: Reorder views to ensure that dependencies are refreshed before dependants.

Expand Down
4 changes: 2 additions & 2 deletions django_pgviews/dependencies.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__all__ = ["get_views_dependencies", "get_views_dependendants", "reorder_by_dependencies"]
__all__ = ["get_views_dependencies", "get_views_dependants", "reorder_by_dependencies"]

from collections.abc import Iterable

Expand All @@ -7,7 +7,7 @@
from django_pgviews import view as pg


def get_views_dependendants(mat_views: Iterable[type[pg.View]]) -> list[type[pg.View]]:
def get_views_dependants(mat_views: Iterable[type[pg.View]]) -> list[type[pg.View]]:
"""
Returns a list of materialized views which depend on the given materialized views.
"""
Expand Down
4 changes: 2 additions & 2 deletions django_pgviews/refresh.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from collections.abc import Iterable

from django_pgviews import view as pg
from django_pgviews.dependencies import get_views_dependencies, get_views_dependendants, reorder_by_dependencies
from django_pgviews.dependencies import get_views_dependants, get_views_dependencies, reorder_by_dependencies

logger = logging.getLogger("django_pgviews.refresh")

Expand All @@ -22,7 +22,7 @@ def refresh_specific_views(

to_refresh = list(to_refresh)

to_refresh.extend(get_views_dependendants(to_refresh))
to_refresh.extend(get_views_dependants(to_refresh))
to_refresh.extend(get_views_dependencies(to_refresh))
to_refresh = reorder_by_dependencies(to_refresh)

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "django-pgviews-redux"
version = "1.0.0"
version = "1.0.1"
description = "Create and manage Postgres SQL Views in Django"
authors = ["Mikuláš Poul <mikulas.poul@xelix.com>"]
readme = "README.md"
Expand Down
8 changes: 3 additions & 5 deletions tests/test_dependencies.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import pytest

from django_pgviews import view as pg
from django_pgviews.dependencies import get_views_dependencies, get_views_dependendants, reorder_by_dependencies
from django_pgviews.dependencies import get_views_dependants, get_views_dependencies, reorder_by_dependencies
from tests.test_project.schemadbtest.models import SchemaMonthlyObservationMaterializedView
from tests.test_project.viewtest.models import (
DependantMaterializedView,
Expand All @@ -20,10 +20,8 @@
pytest.param([RelatedView], [DependantView], id="view"),
],
)
def test_get_views_dependendants(
views: list[type[pg.MaterializedView]], results: list[type[pg.MaterializedView]]
) -> None:
assert get_views_dependendants(views) == results
def test_get_views_dependants(views: list[type[pg.MaterializedView]], results: list[type[pg.MaterializedView]]) -> None:
assert get_views_dependants(views) == results


@pytest.mark.parametrize(
Expand Down