Frédéric Mangano-Tarumi [2020-02-22 22:31:26 +0100]
diff --git a/aurweb/initdb.py b/aurweb/initdb.py index e3e96503..c02fb961 100644 --- a/aurweb/initdb.py +++ b/aurweb/initdb.py @@ -31,10 +33,17 @@ def feed_initial_data(conn):
def run(args): + # Ensure Alembic is fine before we do the real work, in order not to fail at + # the last step and leave the database in an inconsistent state. The + # configuration is loaded lazily, so we query it to force its loading. + alembic_config = alembic.config.Config('alembic.ini') + alembic_config.get_main_option('script_location') + engine = sqlalchemy.create_engine(aurweb.db.get_sqlalchemy_url(), echo=(args.verbose >= 1)) aurweb.schema.metadata.create_all(engine) feed_initial_data(engine.connect()) + alembic.command.stamp(alembic_config, 'head')
if __name__ == '__main__':
I’ve realized this chunk breaks the test suite because it requires initdb to be run from the top-level directory. The test suite doesn’t need Alembic so I’ll add a flag to initdb to disable it.