""" 数据库初始化脚本 """ import os import sys import logging from datetime import datetime # 将项目根目录添加到Python路径 sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from sqlalchemy.orm import Session from core.models import Base, User from core.database import engine, SessionLocal from core.auth import get_password_hash logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def init_db(): """初始化数据库""" # 创建所有表 Base.metadata.create_all(bind=engine) # 创建数据库会话 db = SessionLocal() try: # 检查是否已有用户 user = db.query(User).first() if not user: # 创建默认用户 default_user = User( username="admin", email="admin@example.com", hashed_password=get_password_hash("password"), institution="江西财经大学", position="学生", research_fields=["人工智能", "计算机视觉", "自然语言处理"], membership_type="高级研究版", expiry_date=datetime(2025, 12, 31), credits=5280 ) db.add(default_user) db.commit() logger.info("创建了默认用户") else: logger.info("数据库已初始化") finally: db.close() logger.info("数据库初始化完成") if __name__ == "__main__": logger.info("初始化数据库...") init_db()