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)
|