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, })