#!/usr/bin/env python3 """创建测试表单管理表""" import asyncio from sqlalchemy.ext.asyncio import create_async_engine from sqlalchemy import text DB_CONFIG = { 'host': '123.57.81.127', 'port': 3306, 'user': 'cpy_admin', 'password': 'Tgzz2025+', 'database': 'ruoyi-fastapi' } DATABASE_URL = ( f"mysql+asyncmy://{DB_CONFIG['user']}:{DB_CONFIG['password']}@" f"{DB_CONFIG['host']}:{DB_CONFIG['port']}/{DB_CONFIG['database']}" ) async def create_table(): engine = create_async_engine(DATABASE_URL, echo=False) async with engine.connect() as conn: print("=" * 80) print("Creating test_form table") print("=" * 80) # 创建测试表单表 await conn.execute(text(""" CREATE TABLE IF NOT EXISTS test_form ( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '表单ID', name VARCHAR(100) NOT NULL COMMENT '表单名称', form_type VARCHAR(20) NOT NULL COMMENT '表单类型: CONDITION=测试条件, RESULT=测试结果', form_json TEXT NOT NULL COMMENT '表单JSON定义', description VARCHAR(500) COMMENT '表单说明', is_active TINYINT(1) DEFAULT 1 COMMENT '是否启用: 0=禁用, 1=启用', del_flag VARCHAR(1) DEFAULT '0' COMMENT '删除标志: 0=正常, 1=已删除', create_by VARCHAR(64) COMMENT '创建者', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_by VARCHAR(64) COMMENT '更新者', update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', remark VARCHAR(500) COMMENT '备注', INDEX idx_form_type (form_type), INDEX idx_is_active (is_active) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试表单模板表' """)) await conn.commit() print(" [OK] test_form table created") # 验证表结构 print("\n[Verification]") result = await conn.execute(text("DESCRIBE test_form")) columns = result.fetchall() for col in columns: print(f" {col[0]:<20} | {col[1]:<30}") print("\n" + "=" * 80) await engine.dispose() if __name__ == '__main__': asyncio.run(create_table())