def do_version(): engine = sql_repository.get_engine() alembic_ext = AlembicExtension(engine, migration_config) version = alembic_ext.version() if version is None: print("Cannot determine version. Check if this database has Alembic " "version information. ") sys.exit(1) print(version)
def do_upgrade(): engine = sql_repository.get_engine() alembic_ext = AlembicExtension(engine, migration_config) rev = CONF.command.revision db_rev = alembic_ext.version() fp = Fingerprint(engine) if fp.schema_raw != "" and db_rev is None: print("Non-empty database schema without Alembic version metadata " "detected. Please use the `stamp` subcommand to add version " "metadata.") sys.exit(1) alembic_ext.upgrade(rev)
def do_stamp(): rev = CONF.command.revision from_fingerprint = CONF.command.from_fingerprint engine = sql_repository.get_engine() alembic_ext = AlembicExtension(engine, migration_config) if rev is None: if from_fingerprint is False: print("No revision specified. Specify --from-fingerprint to " "attempt a guess based on the current database schema's " "fingerprint.") sys.exit(1) else: fp = Fingerprint(engine) if fp.revision is None: print(_FP_NOREVISION % fp.sha1) sys.exit(1) rev = fp.revision alembic_ext.stamp(rev)