I am trying to integrate my Flask
project with Alembic
My application structure looks like
project/ configuration/ __init__.py dev.py test.py core/ # all source code db/ migrations/ __init__.py alembic.ini env.py versions/
When I try to run the following from my db
directory, I see
File "migration/env.py", line 55, in run_migrations_online from configuration import app, db ImportError: No module named configuration
I tried the solution mentioned in Request a simple alembic working example for Auto Generating Migrations, but it does not work for me
My method in env.py
run_migrations_online()
with change is
def run_migrations_online(): """Run migrations in 'online' mode. In this scenario we need to create an Engine and associate a connection with the context. """ import os import sys sys.path.append(os.getcwd()) from configuration import app, db alembic_config = config.get_section(config.config_ini_section) alembic_config['sqlalchemy.url'] = app.config['SQLALCHEMY_DATABASE_URI'] target_metadata = db.metadata engine = engine_from_config( alembic_config, prefix='sqlalchemy.', poolclass=pool.NullPool) connection = engine.connect() context.configure( connection=connection, target_metadata=target_metadata ) try: with context.begin_transaction(): context.run_migrations() finally: connection.close() if context.is_offline_mode(): run_migrations_offline() else: run_migrations_online()
How can I fix this?
I did export PYTHONPATH=<path_to_project>
and ran the command again and it ran successfully
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With