29 lines
1.0 KiB
Plaintext
29 lines
1.0 KiB
Plaintext
from importlib import import_module
|
|
from alembic import context
|
|
from alchemical.alembic.env import run_migrations
|
|
|
|
# Load Alembic configuration
|
|
config = context.config
|
|
|
|
try:
|
|
# Import the Alchemical database instance as specified in alembic.ini
|
|
import_mod, db_name = config.get_main_option('alchemical_db', '').split(':')
|
|
db = getattr(import_module(import_mod), db_name)
|
|
print(f"Successfully loaded Alchemical database instance: {db}")
|
|
|
|
# Use the metadata associated with the Alchemical instance
|
|
metadata = db.Model.metadata
|
|
print(f"Metadata tables detected: {metadata.tables.keys()}") # Debug output
|
|
except (ModuleNotFoundError, AttributeError) as e:
|
|
raise ValueError(
|
|
'Could not import the Alchemical database instance or access metadata. '
|
|
'Ensure that the alchemical_db setting in alembic.ini is correct and '
|
|
'that the Alchemical instance is correctly configured.'
|
|
) from e
|
|
|
|
# Run migrations with metadata
|
|
run_migrations(db, {
|
|
'render_as_batch': True,
|
|
'compare_type': True,
|
|
})
|