#!/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()