| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- {
- "说明": "DDL Parse API 返回格式 - 使用JSON数组,不使用表名作为key",
-
- "单表示例": {
- "描述": "即使只有一个表,也返回数组格式",
- "API响应": {
- "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": "否"
- },
- {
- "name_zh": "病案科室代码",
- "name_en": "BAKSDM",
- "data_type": "CHAR(20)",
- "is_primary": "否",
- "comment": "病案科室代码,应与\"病案明细表\"里的科室ID对应",
- "nullable": "是"
- }
- ],
- "exist": false
- }
- ],
- "message": "操作成功"
- }
- },
-
- "多表示例": {
- "描述": "多个表都放在数组中,不使用表名作为key",
- "API响应": {
- "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": "否"
- }
- ],
- "exist": false
- },
- {
- "table_info": {
- "name_zh": "用户表",
- "name_en": "TB_USER"
- },
- "columns": [
- {
- "name_zh": "用户ID",
- "name_en": "USER_ID",
- "data_type": "INTEGER",
- "is_primary": "是",
- "comment": "用户唯一标识",
- "nullable": "否"
- },
- {
- "name_zh": "用户名",
- "name_en": "USERNAME",
- "data_type": "VARCHAR(50)",
- "is_primary": "否",
- "comment": "用户登录名",
- "nullable": "否"
- }
- ],
- "exist": true
- },
- {
- "table_info": {
- "name_zh": "部门表",
- "name_en": "TB_DEPARTMENT"
- },
- "columns": [
- {
- "name_zh": "部门ID",
- "name_en": "DEPT_ID",
- "data_type": "INTEGER",
- "is_primary": "是",
- "comment": "部门唯一标识",
- "nullable": "否"
- },
- {
- "name_zh": "部门名称",
- "name_en": "DEPT_NAME",
- "data_type": "VARCHAR(100)",
- "is_primary": "否",
- "comment": "部门名称",
- "nullable": "否"
- }
- ],
- "exist": false
- }
- ],
- "message": "操作成功"
- }
- },
-
- "格式特点": {
- "1. 数组结构": "使用JSON数组返回,即使只有一个表也是数组",
- "2. 不使用表名作为key": "所有表都是数组元素,不以表名为key",
- "3. 统一结构": "每个表都包含 table_info 和 columns",
- "4. exist字段": "由后端添加,表示该表在数据库中是否已存在",
- "5. 支持多表": "一次可以解析包含多个CREATE TABLE语句的SQL文件"
- },
-
- "字段说明": {
- "table_info": "表的基本信息",
- "table_info.name_zh": "表的中文名称(从COMMENT ON TABLE提取)",
- "table_info.name_en": "表的英文名称(保持原始大小写)",
- "columns": "字段数组",
- "columns[].name_zh": "字段中文名称",
- "columns[].name_en": "字段英文名称",
- "columns[].data_type": "数据类型(含长度)",
- "columns[].is_primary": "是否主键(是/否)",
- "columns[].comment": "完整注释内容",
- "columns[].nullable": "是否可为空(是/否)",
- "exist": "表是否在数据库中已存在(由后端查询添加)"
- },
-
- "前端使用示例": {
- "JavaScript": "const tables = response.data;\ntables.forEach(table => {\n console.log('表名:', table.table_info.name_zh);\n console.log('字段数:', table.columns.length);\n console.log('是否存在:', table.exist);\n});",
- "Python": "tables = response['data']\nfor table in tables:\n print(f\"表名: {table['table_info']['name_zh']}\")\n print(f\"字段数: {len(table['columns'])}\")\n print(f\"是否存在: {table['exist']}\")"
- }
- }
|