import os import sys import django os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings') django.setup() from django.core.management import call_command def run_migrations(): """ 执行数据库迁移脚本 用于首次部署时创建数据库表结构 """ print("=" * 60) print("开始执行数据库迁移...") print("=" * 60) try: print("\n[1/2] 执行 makemigrations...") call_command('makemigrations', verbosity=2) print("✓ makemigrations 执行成功") print("\n[2/2] 执行 migrate...") call_command('migrate', verbosity=2) print("✓ migrate 执行成功") print("\n" + "=" * 60) print("数据库迁移完成!") print("=" * 60) return True except Exception as e: print(f"\n✗ 数据库迁移失败: {e}") import traceback traceback.print_exc() return False if __name__ == '__main__': success = run_migrations() sys.exit(0 if success else 1)