34 lines
953 B
Python
34 lines
953 B
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
"""
|
|||
|
|
用 SQLAlchemy 建表(不依赖 Flask-Migrate)。适用于首次部署或 migrations 未就绪时。
|
|||
|
|
用法: 在 backend 目录下设置 DATABASE_URL 后执行
|
|||
|
|
python scripts/create_tables.py
|
|||
|
|
或: docker compose run --rm -e DATABASE_URL=... backend python scripts/create_tables.py
|
|||
|
|
"""
|
|||
|
|
import os
|
|||
|
|
import sys
|
|||
|
|
|
|||
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|||
|
|
|
|||
|
|
os.environ.setdefault("FLASK_ENV", "development")
|
|||
|
|
|
|||
|
|
from app import create_app, db
|
|||
|
|
from app.models.user import User, Role
|
|||
|
|
from app.models.chat import Conversation, Message
|
|||
|
|
from app.utils.ensure_admin import ensure_admin_user
|
|||
|
|
|
|||
|
|
|
|||
|
|
def main():
|
|||
|
|
app = create_app()
|
|||
|
|
with app.app_context():
|
|||
|
|
print("创建表...")
|
|||
|
|
db.create_all()
|
|||
|
|
print("表已创建。")
|
|||
|
|
print("创建默认管理员 (admin / 123456)...")
|
|||
|
|
ensure_admin_user()
|
|||
|
|
print("完成。")
|
|||
|
|
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
main()
|