""" 执行数据库回滚脚本 用于将数据库回滚到指定版本 """ import sys import os sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) from backend.modules.database.migrations import DatabaseMigration from backend.utils.logger_config import setup_logger logger = setup_logger(__name__) def main(): """执行数据库回滚""" if len(sys.argv) != 2: logger.error("使用方法: python migrate_down.py ") logger.error("示例: python migrate_down.py 1.0.0") sys.exit(1) target_version = sys.argv[1] try: # 创建迁移实例 migration = DatabaseMigration() # 获取当前版本 current_version = migration.get_current_version() if not current_version: logger.error("数据库未初始化") sys.exit(1) logger.info(f"当前数据库版本: {current_version}") logger.info(f"目标回滚版本: {target_version}") # 执行回滚 if migration.migrate_down(target_version): logger.info("数据库回滚成功") new_version = migration.get_current_version() logger.info(f"当前数据库版本: {new_version}") else: logger.error("数据库回滚失败") except Exception as e: logger.error(f"执行回滚时发生错误: {e}") sys.exit(1) if __name__ == "__main__": main()