| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- {
- "修复说明": "DDL Parse API 格式修复 - 符合参考文档 DDLparse格式.txt",
-
- "参考格式_单表": {
- "说明": "来自 docs/DDLparse格式.txt",
- "格式": {
- "code": 200,
- "data": {
- "table_info": {
- "name_zh": "科室对照表",
- "name_en": "TB_JC_KSDZB"
- },
- "columns": [
- {
- "name_zh": "医疗机构代码",
- "name_en": "YLJGDM",
- "data_type": "VARCHAR(22)",
- "is_primary": "是",
- "comment": "医疗机构代码,复合主键",
- "nullable": "否"
- }
- ]
- },
- "message": "操作成功"
- }
- },
-
- "修复后格式_单表": {
- "说明": "修复后的格式,使用数组返回,单表也是数组格式",
- "格式": {
- "code": 200,
- "data": [
- {
- "table_info": {
- "name_zh": "科室对照表",
- "name_en": "TB_JC_KSDZB"
- },
- "columns": [
- {
- "name_zh": "医疗机构代码",
- "name_en": "YLJGDM",
- "data_type": "VARCHAR(22)",
- "is_primary": "是",
- "comment": "医疗机构代码,复合主键",
- "nullable": "否"
- },
- {
- "name_zh": "HIS科室代码",
- "name_en": "HISKSDM",
- "data_type": "CHAR(20)",
- "is_primary": "是",
- "comment": "HIS科室代码,主键、唯一",
- "nullable": "否"
- },
- {
- "name_zh": "HIS科室名称",
- "name_en": "HISKSMC",
- "data_type": "CHAR(20)",
- "is_primary": "否",
- "comment": "HIS科室名称",
- "nullable": "否"
- }
- ]
- }
- ],
- "message": "操作成功"
- }
- },
-
- "修复后格式_多表": {
- "说明": "修复后的格式,使用数组返回多个表,不使用表名作为key",
- "格式": {
- "code": 200,
- "data": [
- {
- "table_info": {
- "name_zh": "科室对照表",
- "name_en": "TB_JC_KSDZB"
- },
- "columns": [
- {
- "name_zh": "医疗机构代码",
- "name_en": "YLJGDM",
- "data_type": "VARCHAR(22)",
- "is_primary": "是",
- "comment": "医疗机构代码,复合主键",
- "nullable": "否"
- }
- ]
- },
- {
- "table_info": {
- "name_zh": "用户表",
- "name_en": "TB_USER"
- },
- "columns": [
- {
- "name_zh": "用户ID",
- "name_en": "USER_ID",
- "data_type": "INTEGER",
- "is_primary": "是",
- "comment": "用户唯一标识",
- "nullable": "否"
- }
- ]
- }
- ],
- "message": "操作成功"
- }
- },
-
- "关键改进": [
- "✅ 1. 删除了冲突的 system message,统一使用 _optimize_ddl_prompt()",
- "✅ 2. 添加了缺失的字段:is_primary, comment, nullable",
- "✅ 3. 使用 table_info + columns 结构(符合参考格式)",
- "✅ 4. 保持表名和字段名原始大小写",
- "✅ 5. 使用JSON数组格式返回,不使用表名作为key",
- "✅ 6. 支持单表和多表,统一返回数组格式"
- ],
-
- "字段说明": {
- "table_info.name_zh": "表的中文名称,从COMMENT ON TABLE提取",
- "table_info.name_en": "表的英文名称,保持原始大小写",
- "columns[].name_zh": "字段中文名称,从COMMENT ON COLUMN提取",
- "columns[].name_en": "字段英文名称,保持原始大小写",
- "columns[].data_type": "数据类型,包含长度信息(如VARCHAR(22))",
- "columns[].is_primary": "是否主键,取值:是/否",
- "columns[].comment": "完整的注释内容",
- "columns[].nullable": "是否可为空,取值:是/否(根据NOT NULL约束判断)"
- },
-
- "修改文件": [
- "app/core/llm/ddl_parser.py - parse_ddl() 方法",
- "app/core/llm/ddl_parser.py - _optimize_ddl_prompt() 方法"
- ]
- }
|