2025-08-17 18:52:05 +08:00
|
|
|
from src.flask_prompt_master import create_app, db
|
2025-02-23 09:07:52 +08:00
|
|
|
import pymysql
|
2025-08-17 18:52:05 +08:00
|
|
|
from src.flask_prompt_master.promptsTemplates import templates as init_templates
|
|
|
|
|
from src.flask_prompt_master.templates.prompts import templates as prompt_templates
|
2025-02-23 09:07:52 +08:00
|
|
|
|
|
|
|
|
def insert_all_templates():
|
2025-03-16 21:31:44 +08:00
|
|
|
"""向 prompt_template 表插入所有模板数据"""
|
2025-02-23 09:07:52 +08:00
|
|
|
try:
|
2025-03-22 22:44:40 +08:00
|
|
|
# 合并两个模板列表
|
|
|
|
|
all_templates = init_templates + prompt_templates
|
|
|
|
|
print(f"准备插入的模板总数: {len(all_templates)}")
|
|
|
|
|
|
2025-02-23 09:07:52 +08:00
|
|
|
# 连接MySQL数据库
|
|
|
|
|
conn = pymysql.connect(
|
|
|
|
|
host='localhost',
|
|
|
|
|
user='root',
|
|
|
|
|
password='123456',
|
2025-08-16 20:30:06 +08:00
|
|
|
database='pro_db',
|
2025-02-23 09:07:52 +08:00
|
|
|
charset='utf8mb4'
|
|
|
|
|
)
|
|
|
|
|
cursor = conn.cursor()
|
|
|
|
|
|
|
|
|
|
# 先清空表
|
2025-03-16 21:31:44 +08:00
|
|
|
cursor.execute("TRUNCATE TABLE prompt_template")
|
2025-02-23 09:07:52 +08:00
|
|
|
|
|
|
|
|
# SQL 插入语句
|
2025-03-16 21:31:44 +08:00
|
|
|
check_sql = "SELECT COUNT(*) FROM prompt_template WHERE name = %s"
|
|
|
|
|
insert_sql = """
|
|
|
|
|
INSERT INTO prompt_template
|
2025-02-23 09:07:52 +08:00
|
|
|
(name, description, category, industry, profession, sub_category, system_prompt)
|
|
|
|
|
VALUES (%(name)s, %(description)s, %(category)s, %(industry)s, %(profession)s,
|
|
|
|
|
%(sub_category)s, %(system_prompt)s)
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# 遍历所有模板数据并插入
|
|
|
|
|
success_count = 0
|
2025-03-16 21:31:44 +08:00
|
|
|
duplicate_count = 0
|
2025-03-22 22:44:40 +08:00
|
|
|
error_count = 0
|
|
|
|
|
|
|
|
|
|
for template in all_templates:
|
2025-02-23 09:07:52 +08:00
|
|
|
try:
|
2025-03-16 21:31:44 +08:00
|
|
|
# 检查模板名称是否已存在
|
|
|
|
|
cursor.execute(check_sql, (template['name'],))
|
|
|
|
|
exists = cursor.fetchone()[0] > 0
|
|
|
|
|
|
|
|
|
|
if exists:
|
|
|
|
|
print(f"模板已存在,跳过: {template['name']}")
|
|
|
|
|
duplicate_count += 1
|
|
|
|
|
continue
|
|
|
|
|
|
2025-02-23 09:07:52 +08:00
|
|
|
# 准备模板数据
|
|
|
|
|
template_data = {
|
|
|
|
|
'name': template['name'],
|
|
|
|
|
'description': template['description'],
|
|
|
|
|
'category': template.get('category', ''),
|
|
|
|
|
'industry': template.get('industry', ''),
|
|
|
|
|
'profession': template.get('profession', ''),
|
|
|
|
|
'sub_category': template.get('sub_category', ''),
|
|
|
|
|
'system_prompt': template['system_prompt']
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# 执行插入
|
2025-03-16 21:31:44 +08:00
|
|
|
cursor.execute(insert_sql, template_data)
|
2025-02-23 09:07:52 +08:00
|
|
|
success_count += 1
|
|
|
|
|
|
|
|
|
|
print(f"成功插入模板: {template['name']}")
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
2025-03-22 22:44:40 +08:00
|
|
|
print(f"插入模板 {template['name']} 失败:")
|
|
|
|
|
print(f"错误类型: {type(e).__name__}")
|
|
|
|
|
print(f"错误信息: {str(e)}")
|
|
|
|
|
error_count += 1
|
2025-02-23 09:07:52 +08:00
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
# 提交事务
|
|
|
|
|
conn.commit()
|
|
|
|
|
|
|
|
|
|
print("\n=== 数据插入完成 ===")
|
2025-03-22 22:44:40 +08:00
|
|
|
print(f"成功插入: {success_count} 个模板")
|
|
|
|
|
print(f"重复跳过: {duplicate_count} 个模板")
|
|
|
|
|
print(f"插入失败: {error_count} 个模板")
|
|
|
|
|
print(f"总计模板: {len(all_templates)} 个")
|
2025-02-23 09:07:52 +08:00
|
|
|
print("===================")
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(f"数据库连接失败: {str(e)}")
|
|
|
|
|
if 'conn' in locals():
|
|
|
|
|
conn.rollback()
|
|
|
|
|
finally:
|
|
|
|
|
if 'cursor' in locals():
|
|
|
|
|
cursor.close()
|
|
|
|
|
if 'conn' in locals():
|
|
|
|
|
conn.close()
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
insert_all_templates()
|