import os from sqlalchemy import create_engine, Column, Integer, String, Text, Boolean, DateTime, ForeignKey, JSON, UniqueConstraint from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker, relationship from datetime import datetime from database.models import Role, RoleLanguage from dotenv import load_dotenv env_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "db.env") load_dotenv(env_path) Base = declarative_base() username = os.getenv("DB_USER", "") password = os.getenv("DB_PASSWORD", "") host = os.getenv("DB_HOST", "") dbname = os.getenv("DB_NAME", "") # 创建数据库连接 DATABASE_URL = f"mysql+pymysql://{username}:{password}@{host}/{dbname}" engine = create_engine(DATABASE_URL) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) # 插入数据 def insert_roles_and_languages(): db = SessionLocal() try: # 插入 Role 记录 role = Role( role_key="happy_tiger", name="快乐虎", description="国美家电吉祥物,以小白虎为原型,融合现代卡通风格,热情友好,聪明机智,为消费者提供贴心服务。", content="角色:快乐虎是国美家电的吉祥物,以小白虎为原型,融合现代卡通风格,整体形象萌趣又不失活力。", default_language="zh", volcano_model_id="ep-20250225080614-8d6dm", homophones=["通通"], enabled=True ) db.add(role) db.commit() # 插入 RoleLanguage 记录 role_language_zh = RoleLanguage( role_id=role.id, language_code="zh", name="快乐虎", content="角色:快乐虎是国美家电的吉祥物,以小白虎为原型,融合现代卡通风格,整体形象萌趣又不失活力。", url="roles/happy_tiger/zh" ) role_language_en = RoleLanguage( role_id=role.id, language_code="en", name="Happy Tiger", content="Role: Happy Tiger is Gome's appliance mascot, designed as a cute white tiger with modern cartoon style.", url="roles/happy_tiger/en" ) db.add(role_language_zh) db.add(role_language_en) # 插入萌萌 Role 记录 mengmeng_role = Role( role_key="mengmeng", name="萌萌", description="以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格,传递中国文化,促进人与自然和谐共处。", content="角色:萌萌是以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格。", default_language="zh", volcano_model_id="ep-20250225080614-8d6dm", homophones=["萌萌", "芃芃", "檬檬"], enabled=True ) db.add(mengmeng_role) db.commit() # 插入萌萌 Role 记录 mengmeng_role = Role( role_key="mengmeng", name="萌萌", description="以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格,传递中国文化,促进人与自然和谐共处。", content="角色:萌萌是以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格。", default_language="zh", volcano_model_id="ep-20250225080614-8d6dm", homophones=["萌萌", "芃芃", "檬檬"], enabled=True ) db.add(mengmeng_role) db.commit() # 插入萌萌 RoleLanguage 记录 mengmeng_zh = RoleLanguage( role_id=mengmeng_role.id, language_code="zh", name="萌萌", content="角色:萌萌是以中国国宝大熊猫为原型的智能体,融合现代科技感与可爱风格。", url="roles/panda_assistant/zh" ) mengmeng_en = RoleLanguage( role_id=mengmeng_role.id, language_code="en", name="MengMeng", content="Role: MengMeng is a panda-inspired AI assistant blending technology with cuteness, promoting Chinese culture and harmony with nature.", url="roles/panda_assistant/en" ) db.add(mengmeng_zh) db.add(mengmeng_en) db.commit() except Exception as e: db.rollback() print(f"An error occurred: {e}") finally: db.close() insert_roles_and_languages()