aboutsummaryrefslogtreecommitdiff
path: root/gn3/migrations.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/migrations.py')
-rw-r--r--gn3/migrations.py33
1 files changed, 0 insertions, 33 deletions
diff --git a/gn3/migrations.py b/gn3/migrations.py
deleted file mode 100644
index 3451e07..0000000
--- a/gn3/migrations.py
+++ /dev/null
@@ -1,33 +0,0 @@
-"""Run the migrations in the app, rather than with yoyo CLI."""
-from pathlib import Path
-from typing import Union
-
-from yoyo import read_migrations
-from yoyo.backends import DatabaseBackend
-from yoyo.migrations import Migration, MigrationList
-
-class MigrationNotFound(Exception):
- """Raised if a migration is not found at the given path."""
- def __init__(self, migration_path: Path):
- """Initialise the exception."""
- super().__init__(f"Could not find migration '{migration_path}'")
-
-def apply_migrations(backend: DatabaseBackend, migrations: MigrationList):
- "Apply the provided migrations."
- with backend.lock():
- backend.apply_migrations(backend.to_apply(migrations))
-
-def rollback_migrations(backend: DatabaseBackend, migrations: MigrationList):
- "Rollback the provided migrations."
- with backend.lock():
- backend.rollback_migrations(backend.to_rollback(migrations))
-
-def get_migration(migration_path: Union[Path, str]) -> Migration:
- """Retrieve a migration at thi given `migration_path`."""
- migration_path = Path(migration_path)
- if migration_path.exists():
- for migration in read_migrations(str(migration_path.parent)):
- if Path(migration.path) == migration_path:
- return migration
-
- raise MigrationNotFound(migration_path)