python_arango_ogm.db.tests.database

 1from contextlib import contextmanager
 2import pathlib
 3import shutil
 4
 5from python_arango_ogm.db.pao_migration_builder import PAOMigrationBuilder
 6from python_arango_ogm.db.pao_database import PAODatabase
 7from python_arango_ogm.db.pao_migrator import PAOMigrator
 8
 9mig_path = pathlib.Path(__file__).parent.parent.parent.parent.resolve()
10print("MIGRATION PATH:", mig_path)
11
12
13@contextmanager
14def use_database():
15    migrator_builder = PAOMigrationBuilder(str(mig_path))
16    try:
17        migrator_builder.create_model_migrations()
18        pao_database = PAODatabase(delete_db=True)
19        pao_database.setup_app_database(delete_db=True)
20
21        pao_migrator = PAOMigrator(pao_database, target_path=str(mig_path))
22        pao_migrator.apply_migrations()
23
24        yield pao_database
25
26    finally:
27        print("Deleting migrations from ", migrator_builder.migration_pathname)
28        shutil.rmtree(migrator_builder.migration_pathname)
mig_path = PosixPath('/Users/windfox/src/python-arango-ogm')
@contextmanager
def use_database():
14@contextmanager
15def use_database():
16    migrator_builder = PAOMigrationBuilder(str(mig_path))
17    try:
18        migrator_builder.create_model_migrations()
19        pao_database = PAODatabase(delete_db=True)
20        pao_database.setup_app_database(delete_db=True)
21
22        pao_migrator = PAOMigrator(pao_database, target_path=str(mig_path))
23        pao_migrator.apply_migrations()
24
25        yield pao_database
26
27    finally:
28        print("Deleting migrations from ", migrator_builder.migration_pathname)
29        shutil.rmtree(migrator_builder.migration_pathname)