| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- """
- 执行数据库回滚脚本
- 用于将数据库回滚到指定版本
- """
- 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 <target_version>")
- 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()
|