def action_db_migrate(action=('a', 'start'), debug=False): """Migrate database. This command is responsible for data base migrations. Actions: init - initiates migration module use only once. migrate - creates schema migration. upgrade - upgrades database using schema migrations. Options: - '--debug' use debug configuration """ from flask.ext.migrate import upgrade, init, migrate, stamp, downgrade if debug: app = make_debug(with_debug_layer=False) else: app = make_app() with app.app_context(): if action == 'init': init() elif action == 'migrate': migrate() elif action == 'upgrade': upgrade() elif action == 'stamp': stamp() elif action == 'downgrade': downgrade() else: print('Unknown action')
def downgrade(ctx, tag, sql, revision): """Downgrade database""" if not len(revision): revision = '-1' app = factory(ctx.obj['CONFIG']) with app.app_context(): migrate_extension.downgrade(revision=revision, sql=sql, tag=tag)
def fin(): with app.app_context(): migrate_extension.downgrade(revision='base')
def db_downgrade(c, dir=DEFAULT_MIGRATION_DIR): """ Downgrade database to a specific revision. """ with app.app_context(): migrate.downgrade(directory=dir)
def db_downgrade(c, dir=DEFAULT_MIGRATION_DIR): with app.app_context(): migrate.downgrade(directory=dir)