good version for 算法注册
This commit is contained in:
45
backend/migrate_add_service_fields.py
Normal file
45
backend/migrate_add_service_fields.py
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python3
|
||||
"""数据库迁移脚本:为algorithm_services表添加技术分类和输出类型字段"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from sqlalchemy import text
|
||||
from app.models.database import engine
|
||||
|
||||
def migrate():
|
||||
"""执行数据库迁移"""
|
||||
try:
|
||||
with engine.connect() as conn:
|
||||
# 检查字段是否已存在(PostgreSQL语法)
|
||||
result = conn.execute(text("""
|
||||
SELECT column_name
|
||||
FROM information_schema.columns
|
||||
WHERE table_name = 'algorithm_services'
|
||||
"""))
|
||||
columns = [row[0] for row in result.fetchall()]
|
||||
|
||||
# 添加 tech_category 字段
|
||||
if 'tech_category' not in columns:
|
||||
conn.execute(text("ALTER TABLE algorithm_services ADD COLUMN tech_category VARCHAR(50) DEFAULT 'computer_vision'"))
|
||||
print("✓ 已添加 tech_category 字段到 algorithm_services 表")
|
||||
else:
|
||||
print("✓ tech_category 字段已存在于 algorithm_services 表")
|
||||
|
||||
# 添加 output_type 字段
|
||||
if 'output_type' not in columns:
|
||||
conn.execute(text("ALTER TABLE algorithm_services ADD COLUMN output_type VARCHAR(50) DEFAULT 'image'"))
|
||||
print("✓ 已添加 output_type 字段到 algorithm_services 表")
|
||||
else:
|
||||
print("✓ output_type 字段已存在于 algorithm_services 表")
|
||||
|
||||
conn.commit()
|
||||
print("\n数据库迁移完成!")
|
||||
|
||||
except Exception as e:
|
||||
print(f"数据库迁移失败: {e}")
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
migrate()
|
||||
Reference in New Issue
Block a user