njzscloud-dispose/z-doc/pdma/njzscloud-dispose.pdma

14856 lines
1.0 MiB
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{
"id": "E268FF1C-0171-4BED-94BF-973DD8D729BB",
"profile": {
"version": "0.0.2",
"global": {
"dbDialects": [
{
"defKey": "MySQL",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M1001.632 793.792c-7.84-13.856-26.016-37.536-93.12-83.2a1096.224 1096.224 0 0 0-125.152-74.144c-30.592-82.784-89.824-190.112-176.256-319.36-93.056-139.168-201.12-197.792-321.888-174.56a756.608 756.608 0 0 0-40.928-37.696C213.824 78.688 139.2 56.48 96.32 60.736c-19.424 1.952-34.016 9.056-43.36 21.088-21.664 27.904-14.432 68.064 85.504 198.912 19.008 55.616 23.072 84.672 23.072 99.296 0 30.912 15.968 66.368 49.984 110.752l-32 109.504c-28.544 97.792 23.328 224.288 71.616 268.384 25.76 23.552 47.456 20.032 58.176 15.84 21.504-8.448 38.848-29.472 50.048-89.504 5.728 14.112 11.808 29.312 18.208 45.6 34.56 87.744 68.352 136.288 106.336 152.736a32.032 32.032 0 0 0 25.44-58.688c-9.408-4.096-35.328-23.712-72.288-117.504-31.168-79.136-53.856-132.064-69.376-161.856a32.224 32.224 0 0 0-35.328-16.48 32.032 32.032 0 0 0-25.024 29.92c-3.872 91.04-13.056 130.4-19.2 147.008-26.496-30.464-68.128-125.984-47.232-197.536 20.768-71.232 32.992-112.928 36.64-125.248a31.936 31.936 0 0 0-5.888-29.28c-41.664-51.168-46.176-75.584-46.176-83.712 0-29.472-9.248-70.4-28.288-125.152a31.104 31.104 0 0 0-4.768-8.896c-53.824-70.112-73.6-105.216-80.832-121.888 25.632 1.216 74.336 15.04 91.008 29.376a660.8 660.8 0 0 1 49.024 46.304c8 8.448 19.968 11.872 31.232 8.928 100.192-25.92 188.928 21.152 271.072 144 87.808 131.328 146.144 238.048 173.408 317.216a32 32 0 0 0 16.384 18.432 1004.544 1004.544 0 0 1 128.8 75.264c7.392 5.024 14.048 9.696 20.064 14.016h-98.848a32.032 32.032 0 0 0-24.352 52.736 3098.752 3098.752 0 0 0 97.856 110.464 32 32 0 1 0 46.56-43.872 2237.6 2237.6 0 0 1-50.08-55.328h110.08a32.032 32.032 0 0 0 27.84-47.776z\" p-id=\"5952\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path><path d=\"M320 289.472c12.672 21.76 22.464 37.344 29.344 46.784 8.288 16.256 21.184 29.248 29.44 45.536l2.016-1.984c14.528-9.952 25.92-49.504 2.752-75.488-12.032-18.176-51.04-17.664-63.552-14.848z\" p-id=\"5953\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n </g>\n </svg>",
"driverFiles": "mysql-connector-j-8.3.0.jar",
"jdbcReferDriver": "com.mysql.cj.jdbc.Driver",
"jdbcReferUrl": "jdbc:mysql://[ip]:[port]/[dbname]?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTC",
"tableCreate": "DROP TABLE IF EXISTS {{=it.defKey}};\r\nCREATE TABLE {{=it.defKey}}\r\n(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n {{=field.defKey}} {{=field.dbDataType}}{{?field.dataLen>0}}{{='('}}{{=field.dataLen}}{{?field.numScale>0}}{{=','}}{{=field.numScale}}{{?}}{{=')'}}{{?}} {{= field.defaultValue ? 'DEFAULT' + ' ' + field.defaultValue : '' }} {{= field.notNull ? 'NOT NULL' : 'NULL' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} COMMENT '{{=field.intro ? field.defName + '' + field.intro : field.defName}}'{{= index < it.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}{{~}}\r\n{{? pkList.length >0 }}\r\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci \r\n COMMENT = '{{=it.intro > 0? it.defName + '' + it.intro : it.defName}}';\r\n$blankline",
"tableUpdate": "{{\n let defKey = it.baseUpdate.next.defKey||'';\n let defName = it.baseUpdate.next.defName||'';\n let intro = it.baseUpdate.next.intro;\n let indexFields = it.indexFields;\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\n}}\n{{? isPrimaryKeyModified }}\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\n{{? indexFields && indexFields.length > 0}}\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY ({{~indexFields:field:i}}`{{= field.defKey }}`{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\n{{?}}\n{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}ALTER TABLE {{= tableKey }} COMMENT '{{=it.func.strJoin(defName, intro, \";\", true)}}'; {{?}}\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= schemaName }}{{=it.defKey}} RENAME TO {{= schemaName }}{{=defKey}};{{?}}\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeLenAndNum = (dataLen, numScale, maxDataLen, maxNumScale) => {\r\n if(!dataLen || dataLen <= 0) {\r\n return '';\r\n }\r\n let currentDataLen = dataLen, currentNumScale = numScale;\r\n if(dataLen >= maxDataLen) {\r\n currentDataLen = maxDataLen;\r\n }\r\n if(!numScale || numScale <= 0) {\r\n return `(${currentDataLen},0)`;\r\n }\r\n if(currentNumScale > maxNumScale) {\r\n currentNumScale = maxNumScale\r\n }\r\n if(currentNumScale > currentDataLen && currentDataLen <= maxNumScale) {\r\n currentNumScale = currentDataLen;\r\n }\r\n return `(${currentDataLen},${currentNumScale})`;\r\n };\r\n const computeDefaultValue = (field) => {\r\n const { defaultValue, dbDataType, primaryKey } = field;\r\n if(!defaultValue) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase().endsWith('BLOB') || \r\n dbDataType.toUpperCase().endsWith('GEOMETRY') || \r\n dbDataType.toUpperCase().endsWith('TEXT') || \r\n dbDataType.toUpperCase().endsWith('JSON')) {\r\n return '';\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET') {\r\n return ` DEFAULT \"${defaultValue}\"`;\r\n } else {\r\n return ` DEFAULT ${defaultValue}`;\r\n }\r\n };\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'NVARCHAR' ||\r\n dbDataType.toUpperCase() === 'VARBINARY') {\r\n return `${dbDataType}(${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'YEAR' ||\r\n dbDataType.toUpperCase() === 'TINYTEXT' ||\r\n dbDataType.toUpperCase() === 'MEDIUMTEXT' ||\r\n dbDataType.toUpperCase() === 'LONGTEXT' ||\r\n dbDataType.toUpperCase() === 'TINYBLOB' ||\r\n dbDataType.toUpperCase() === 'MEDIUMBLOB' ||\r\n dbDataType.toUpperCase() === 'LONGBLOB' ||\r\n dbDataType.toUpperCase() === 'BOOLEAN' ||\r\n dbDataType.toUpperCase() === 'FLOAT' ||\r\n dbDataType.toUpperCase() === 'INT' ||\r\n dbDataType.toUpperCase() === 'JSON' ) {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET' ) {\r\n return `${dbDataType}(${defaultValue})`;\r\n } else if(dbDataType.toUpperCase() === 'TIME' ||\r\n dbDataType.toUpperCase() === 'DATETIME' ||\r\n dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType}${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 255, 30)}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 65, 30)}`;\r\n } else if(dataLen && dataLen > 0) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n return `${dbDataType}`;\r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\nALTER TABLE {{= tableKey }} ADD COLUMN `{{=field.defKey}}` {{=computeDatatype(field)}} {{= field.notNull ? 'NOT NULL' : '' }}{{= field.autoIncrement ? ' AUTO_INCREMENT ' : '' }}{{= computeDefaultValue(field)}} {{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}};\r\n{{~}}\r\n",
"columnUpdate": "{{ \r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeLenAndNum = (dataLen, numScale, maxDataLen, maxNumScale) => {\r\n if(!dataLen || dataLen <= 0) {\r\n return '';\r\n }\r\n let currentDataLen = dataLen, currentNumScale = numScale;\r\n if(dataLen >= maxDataLen) {\r\n currentDataLen = maxDataLen;\r\n }\r\n if(!numScale || numScale <= 0) {\r\n return `(${currentDataLen},0)`;\r\n }\r\n if(currentNumScale > maxNumScale) {\r\n currentNumScale = maxNumScale\r\n }\r\n if(currentNumScale > currentDataLen && currentDataLen <= maxNumScale) {\r\n currentNumScale = currentDataLen;\r\n }\r\n return `(${currentDataLen},${currentNumScale})`;\r\n };\r\n const computeDefaultValue = (field) => {\r\n const { defaultValue, primaryKey } = field;\r\n const dbDataType = field.dbDataType ? field.dbDataType : '';\r\n if(!defaultValue) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase().endsWith('BLOB') || \r\n dbDataType.toUpperCase().endsWith('GEOMETRY') || \r\n dbDataType.toUpperCase().endsWith('TEXT') || \r\n dbDataType.toUpperCase().endsWith('JSON')) {\r\n return '';\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET') {\r\n return `DEFAULT \"${defaultValue}\"`;\r\n } else {\r\n return `DEFAULT ${defaultValue}`;\r\n }\r\n };\r\n const computeDatatype = (field) => {\r\n const { dataLen, numScale, defaultValue } = field;\r\n const dbDataType = field.dbDataType ? field.dbDataType : '';\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'NVARCHAR' ||\r\n dbDataType.toUpperCase() === 'VARBINARY') {\r\n return `${dbDataType}(${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'YEAR' ||\r\n dbDataType.toUpperCase() === 'TINYTEXT' ||\r\n dbDataType.toUpperCase() === 'MEDIUMTEXT' ||\r\n dbDataType.toUpperCase() === 'LONGTEXT' ||\r\n dbDataType.toUpperCase() === 'TINYBLOB' ||\r\n dbDataType.toUpperCase() === 'MEDIUMBLOB' ||\r\n dbDataType.toUpperCase() === 'LONGBLOB' ||\r\n dbDataType.toUpperCase() === 'BOOLEAN' ||\r\n dbDataType.toUpperCase() === 'FLOAT' ||\r\n dbDataType.toUpperCase() === 'INT' ||\r\n dbDataType.toUpperCase() === 'JSON' ) {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET' ) {\r\n return `${dbDataType}(${defaultValue})`;\r\n } else if(dbDataType.toUpperCase() === 'TIME' ||\r\n dbDataType.toUpperCase() === 'DATETIME' ||\r\n dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType}${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 255, 30)}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 65, 30)}`;\r\n } else if(dataLen && dataLen > 0) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n return `${dbDataType}`;\r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\n{{ \r\n let nextPrimaryKey = field.baseUpdate.next.primaryKey;\r\n let prePrimaryKey = field.baseUpdate.pre.primaryKey;\r\n let preDefKey = field.baseUpdate.pre.defKey;\r\n let updateKeys = field.baseUpdate.updateKeys.split(',');\r\n}}\r\n{{? updateKeys.includes('primaryKey') && updateKeys.includes('defaultValue')}}\r\nALTER TABLE {{= tableKey }} ALTER COLUMN `{{=field.defKey}}` SET DEFAULT {{=field.defaultValue}};\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey' || item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'intro' || item === 'defName' || item === 'notNull' || item === 'autoIncrement') }}\r\nALTER TABLE {{= tableKey }} {{? updateKeys.includes('defKey')}}CHANGE `{{=preDefKey}}` `{{=field.defKey}}` {{??}} MODIFY COLUMN `{{=field.defKey}}` {{?}} {{=computeDatatype(field)}} {{= field.notNull ? 'NOT NULL' : '' }}{{= field.autoIncrement ? ' AUTO_INCREMENT ' : '' }} {{= computeDefaultValue(field)}}{{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}};\r\n{{?}}\r\n{{~}}\r\n",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}} {{?}}INDEX `{{=row.defKey}}` ON {{= tableKey }} (\r\n {{~row.fields:field:idx}}\r\n `{{=field.fieldDefKey}}` {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n){{? row.defName || row.intro }}COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}'{{?}};\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n let updateKeys = row.baseUpdate.updateKeys.split(',');\n let preDefKey = row.baseUpdate.pre.defKey;\n}}\nALTER TABLE {{= tableKey }}\nDROP INDEX {{? updateKeys.includes('defKey')}}`{{=preDefKey}}` {{??}} `{{=row.defKey}}`{{?}}, \nADD {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}} {{?}} INDEX `{{=row.defKey}}`(\n {{~row.fields:field:idx}}\n `{{=field.fieldDefKey}}` {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n){{? row.defName || row.intro }}COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}'{{?}};\n{{~}}",
"indexDelete": "{{\r\n let indexesUpdate = it.indexesUpdate; \r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~indexesUpdate:index:i}}\r\nALTER TABLE {{= tableKey }} DROP INDEX {{=index.defKey}};\r\n{{~}}",
"metaTableQuery": "SELECT\r\n null AS id,\r\n table_name AS def_key,\r\n table_comment AS def_name,\r\n table_schema AS schema_name\r\nFROM\r\n information_schema.tables\r\nWHERE table_type = 'BASE TABLE'\r\n and table_schema in (:schemaName)",
"metaColumnQuery": "SELECT\n table_schema as schema_name,\n table_name AS tbl_def_key,\n ordinal_position as order_value,\n column_name AS def_key,\n column_comment AS def_name,\n '' AS intro,\n data_type AS db_data_type,\n IF(data_type = column_type or data_type = 'decimal', IF(data_type = 'decimal', CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(COLUMN_TYPE, '(', -1), ',', 1) AS UNSIGNED), NULL),character_maximum_length) AS data_len,\n IF(data_type = column_type or data_type = 'decimal', IF(data_type = 'decimal', CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(COLUMN_TYPE, ',', -1), ')', 1) AS UNSIGNED), NULL), numeric_scale ) AS num_scale,\n IF(column_key = 'PRI', 1, 0 ) AS primary_key,\n IF(is_nullable = 'YES', 0, 1 ) AS not_null,\n IF(extra = 'AUTO_INCREMENT', 1, 0 ) AS auto_increment,\n column_default AS default_value\nFROM\n information_schema.COLUMNS\nWHERE\n table_schema in (:schemaName)\n and CONCAT(table_schema, '.', table_name) in (:sysTableNames)\nORDER BY\n table_schema ASC,\n table_name ASC,\n ordinal_position ASC",
"metaIndexQuery": "SELECT INDEX_SCHEMA AS SCHEMA_NAME,\r\n TABLE_NAME AS TBL_DEF_KEY,\r\n COLUMN_NAME AS COL_DEF_KEY,\r\n INDEX_COMMENT AS DEF_NAME,\r\n COMMENT AS INTRO,\r\n IF (NON_UNIQUE = 1, 'NORMAL', 'UNIQUE') AS TYPE,\r\n SEQ_IN_INDEX AS ORDER_VALUE,\r\n IF (COLLATION = 'A', 'ASC', 'DESC') AS SORT_TYPE,\r\n INDEX_NAME AS DEF_KEY FROM information_schema.STATISTICS\r\nWHERE INDEX_SCHEMA IN (:schemaName) AND CONCAT(INDEX_SCHEMA, '.', TABLE_NAME) IN (:sysTableNames) AND INDEX_NAME != 'PRIMARY'\r\nORDER BY INDEX_SCHEMA,TBL_DEF_KEY, DEF_KEY, ORDER_VALUE",
"metaQueryCharset": null,
"orderValue": 0,
"isEnabled": 1,
"id": "BPMCJTYLY2UAC"
},
{
"defKey": "Oracle",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M896 170.666667H128c-46.933333 0-85.333333 38.4-85.333333 85.333333v512c0 46.933333 38.4 85.333333 85.333333 85.333333h768c46.933333 0 85.333333-38.4 85.333333-85.333333V256c0-46.933333-38.4-85.333333-85.333333-85.333333z m-507.733333 160h241.066666c64 0 115.2 34.133333 136.533334 89.6h-38.4c-19.2-44.8-53.333333-55.466667-98.133334-55.466667H388.266667c-44.8 0-78.933333 10.666667-98.133334 55.466667h-38.4c21.333333-55.466667 72.533333-89.6 136.533334-89.6z m362.666666 234.666666l-10.666666 21.333334h-76.8c-2.133333 0-4.266667-2.133333-6.4-4.266667-2.133333-2.133333-2.133333-4.266667-2.133334-8.533333v-108.8h17.066667v100.266666h78.933333zM486.4 490.666667l-44.8 96h-19.2l53.333333-115.2c2.133333-4.266667 6.4-8.533333 10.666667-6.4 4.266667 0 8.533333 2.133333 10.666667 6.4l53.333333 115.2h-19.2l-8.533333-21.333334h-44.8l-10.666667-21.333333H512L486.4 490.666667z m59.733333 66.133333c-8.533333-19.2-8.533333-42.666667 0-59.733333 8.533333-19.2 23.466667-29.866667 38.4-29.866667h59.733334l-10.666667 21.333333h-49.066667c-10.666667 0-19.2 6.4-25.6 19.2-4.266667 12.8-4.266667 27.733333 0 40.533334 4.266667 12.8 14.933333 19.2 25.6 19.2h61.866667l-10.666667 21.333333h-51.2c-14.933333-2.133333-29.866667-14.933333-38.4-32z m-128 29.866667h-25.6L341.333333 526.933333h46.933334c4.266667 0 6.4-2.133333 10.666666-6.4 2.133333-4.266667 4.266667-8.533333 4.266667-12.8 0-4.266667-2.133333-10.666667-4.266667-12.8-2.133333-4.266667-6.4-6.4-10.666666-6.4h-55.466667v100.266667h-17.066667v-121.6h74.666667c17.066667 0 29.866667 19.2 29.866667 40.533333s-12.8 40.533333-29.866667 40.533334h-8.533333l36.266666 38.4zM170.666667 524.8c0-34.133333 19.2-59.733333 44.8-59.733333h51.2c23.466667 0 44.8 27.733333 44.8 59.733333 0 17.066667-4.266667 32-12.8 42.666667-8.533333 10.666667-19.2 17.066667-32 17.066666h-51.2c-25.6 2.133333-44.8-25.6-44.8-59.733333z m458.666666 189.866667H388.266667c-64 0-113.066667-34.133333-136.533334-89.6h38.4c19.2 44.8 53.333333 55.466667 98.133334 55.466666h241.066666c44.8 0 78.933333-10.666667 98.133334-55.466666h38.4c-21.333333 55.466667-72.533333 89.6-136.533334 89.6z m213.333334-128h-51.2c-23.466667 0-42.666667-27.733333-42.666667-59.733334 0-34.133333 19.2-59.733333 42.666667-59.733333h59.733333l-10.666667 21.333333h-49.066666c-12.8 0-23.466667 10.666667-27.733334 27.733334h83.2l-10.666666 21.333333h-72.533334c4.266667 17.066667 14.933333 27.733333 27.733334 27.733333H853.333333l-10.666666 21.333334z m-558.933334-34.133334c6.4-6.4 8.533333-17.066667 8.533334-27.733333s-2.133333-21.333333-8.533334-27.733333c-6.4-6.4-12.8-10.666667-19.2-10.666667h-49.066666c-14.933333 0-27.733333 17.066667-27.733334 38.4s12.8 38.4 27.733334 38.4h49.066666c8.533333 2.133333 14.933333-2.133333 19.2-10.666667z\" p-id=\"8258\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" stroke=\"none\"></path>\n </g>\n </svg>",
"driverFiles": "ojdbc6-11.2.0.4.jar",
"jdbcReferDriver": "oracle.jdbc.driver.OracleDriver",
"jdbcReferUrl": "jdbc:oracle:thin:@//[ip]:[port]/helowin",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\nBEGIN\r\n EXECUTE IMMEDIATE 'DROP TABLE {{= tableKey }}';\r\nEXCEPTION\r\n WHEN OTHERS THEN\r\n IF SQLCODE != -942 THEN -- Table does not exist error\r\n RAISE;\r\n END IF;\r\nEND;\r\n/\r\n\r\nCREATE TABLE {{= tableKey }} (\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n {{=field.defKey}} {{=field.dbDataType}}{{? \r\n field.dbDataType?.toUpperCase() === 'VARCHAR2'\r\n }} ({{=field.dataLen ? field.dataLen : 128}}) {{??\r\n field.dbDataType?.toUpperCase() === 'TIMESTAMP'\r\n }} {{? field.dataLen }} {{? field.dataLen >= 0 && field.dataLen <= 9}} ({{=field.dataLen}}) {{??}} (6) {{?}} {{?? }} (6) {{?}} {{??\r\n field.dbDataType?.toUpperCase() === 'INTEGER' ||\r\n field.dbDataType?.toUpperCase() === 'BINARY_DOUBLE' ||\r\n field.dbDataType?.toUpperCase() === 'DATE' ||\r\n field.dbDataType?.toUpperCase() === 'CLOB' ||\r\n field.dbDataType?.toUpperCase() === 'LONG' ||\r\n field.dbDataType?.toUpperCase() === 'NCLOB' ||\r\n field.dbDataType?.toUpperCase() === 'BLOB' \r\n }} {{??\r\n field.dbDataType?.toUpperCase() === 'FLOAT'\r\n }} {{? field.dataLen && field.dataLen >= 1 && field.dataLen <= 126}} ({{=field.dataLen}}) {{?}} {{?? \r\n field.dbDataType?.toUpperCase() === 'DECIMAL' ||\r\n field.dbDataType?.toUpperCase() === 'NUMBER' \r\n }}{{? field.dataLen && field.dataLen >= 1 && field.dataLen <= 38}}{{? field.numScale && field.numScale >= -84 && field.numScale <= 127}}({{=field.dataLen}},{{=field.numScale}}){{??}}({{=field.dataLen}}) {{?}}{{?}}{{?? \r\n field.dataLen && field.dataLen >= 0\r\n }}({{=field.dataLen}}){{?}}{{= field.autoIncrement ? '' : '' }}{{? field.defaultValue }} DEFAULT {{=field.defaultValue}} {{?}}{{=field.notNull?'NOT NULL' : '' }}{{= index < it.fields.length-1 ? ',' : ( pkList.length > 0 ? ',' : '' ) }} {{~}}\r\n{{? pkList.length > 0 }} \r\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i < pkList.length-1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n);\r\n\r\n{{? it.defName || it.intro }} \r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n{{?}}\r\n\r\n{{~it.fields:field:index}}\r\n{{? field.defName || field.intro }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n$blankline",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD CONSTRAINT {{=it.defKey}}_PRIMARY_KEY PRIMARY KEY ({{~indexFields:field:i}}{{= field.defKey }}{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}'; \r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}\r\nALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};\r\n{{?}}",
"tableDelete": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\nBEGIN\r\n EXECUTE IMMEDIATE 'DROP TABLE {{= tableKey }}';\r\nEXCEPTION\r\n WHEN OTHERS THEN\r\n IF SQLCODE != -942 THEN -- Table does not exist error\r\n RAISE;\r\n END IF;\r\nEND;",
"columnCreate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeDataLen = (dataLen, maxDataLen, defaultDataLen) => {\r\n if(!dataLen) {\r\n return defaultDataLen;\r\n }\r\n if(dataLen >= 0 && dataLen <= maxDataLen) {\r\n return dataLen;\r\n }\r\n return defaultDataLen;\r\n \r\n };\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR2') {\r\n return `${dbDataType} (${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType} (${computeDataLen(dataLen, 9, 6)})`;\r\n } else if(dbDataType.toUpperCase() === 'INTEGER' ||\r\n dbDataType.toUpperCase() === 'BINARY_DOUBLE' ||\r\n dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'CLOB' ||\r\n dbDataType.toUpperCase() === 'LONG' ||\r\n dbDataType.toUpperCase() === 'NCLOB' ||\r\n dbDataType.toUpperCase() === 'BLOB') {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 126) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL' ||\r\n dbDataType.toUpperCase() === 'NUMBER') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= -84 && numScale <= 127) ? `(${dataLen},${numScale})` : `(${dataLen})`) : ''}`; \r\n } else if(dataLen && dataLen >= 0) {\r\n return `${dbDataType} (${dataLen})`\r\n }\r\n return dbDataType;\r\n \r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\n{{\r\n const finalDataType = computeDatatype(field);\r\n}}\r\nALTER TABLE {{= tableKey }} ADD {{= field.defKey }} {{= finalDataType }}{{? field.defaultValue}} DEFAULT {{=field.defaultValue}} {{?}}{{? field.notNull}} NOT NULL{{?}};\r\n{{? field.defName || field.intro }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{= field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}",
"columnUpdate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n let updateIndexData = it.updateIndexData;\r\n const computeDataLen = (dataLen, maxDataLen, defaultDataLen) => {\r\n if(!dataLen) {\r\n return defaultDataLen;\r\n }\r\n if(dataLen >= 0 && dataLen <= maxDataLen) {\r\n return dataLen;\r\n }\r\n return defaultDataLen;\r\n \r\n };\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR2') {\r\n return `${dbDataType} (${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType} (${computeDataLen(dataLen, 9, 6)})`;\r\n } else if(dbDataType.toUpperCase() === 'INTEGER' ||\r\n dbDataType.toUpperCase() === 'BINARY_DOUBLE' ||\r\n dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'CLOB' ||\r\n dbDataType.toUpperCase() === 'LONG' ||\r\n dbDataType.toUpperCase() === 'NCLOB' ||\r\n dbDataType.toUpperCase() === 'BLOB') {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 126) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL' ||\r\n dbDataType.toUpperCase() === 'NUMBER') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= -84 && numScale <= 127) ? `(${dataLen},${numScale})` : `(${dataLen})`) : ''}`; \r\n } else if(dataLen && dataLen >= 0) {\r\n return `${dbDataType} (${dataLen})`\r\n }\r\n return dbDataType;\r\n \r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~updateIndexData:updateIndex:index}}\r\n{{? updateIndex?.fieldsUpdate?.length > 0 }}\r\nBEGIN\r\n EXECUTE IMMEDIATE 'DROP INDEX {{= schemaName }}{{= updateIndex?.defKey }}';\r\nEXCEPTION\r\n WHEN OTHERS THEN\r\n IF SQLCODE!= -1418 THEN -- Index does not exist error\r\n RAISE;\r\n END IF;\r\nEND;\r\n{{?}}\r\n{{~}}\r\n{{~fieldsUpdate:field:index}}\r\n{{\r\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n const finalDataType = computeDatatype(field);\r\n const preDefKey = field?.baseUpdate?.pre?.defKey;\r\n const nextDefKey = field?.baseUpdate?.next?.defKey;\r\n}}\r\n{{? updateKeys.includes('defKey') }}\r\nALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey}} TO {{= nextDefKey}};\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale') }}\r\nALTER TABLE {{= tableKey }} MODIFY {{=field.defKey}} {{=finalDataType}};\r\n{{?}}\r\n{{? updateKeys.includes('notNull') }}\r\nALTER TABLE {{= tableKey }} MODIFY {{=field.defKey}} {{? field.notNull }} NOT NULL {{??}} NULL {{?}};\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{= field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{? updateKeys.includes('defaultValue') }}\r\nALTER TABLE {{= tableKey }} MODIFY {{=field.defKey}} DEFAULT {{=field.defaultValue}};\r\n{{?}}\r\n{{~}}",
"columnDelete": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\r\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}} {{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\r\n {{~row.fields:field:idx}}\r\n -- {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{=field.fieldDefKey}} {{='ASC'}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{~}}",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nBEGIN\n EXECUTE IMMEDIATE 'DROP INDEX {{= schemaName }}{{? preDefKey}}{{= preDefKey}}{{??}}{{=row.defKey}}{{?}}';\nEXCEPTION\n WHEN OTHERS THEN\n IF SQLCODE!= -1418 THEN -- Index does not exist error\n RAISE;\n END IF;\nEND;\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}} {{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\r\n let indexesUpdate = it.indexesUpdate; \r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~indexesUpdate:row:i}}\r\nBEGIN\r\n EXECUTE IMMEDIATE 'DROP INDEX {{= schemaName }}{{=row.defKey}}';\r\nEXCEPTION\r\n WHEN OTHERS THEN\r\n IF SQLCODE!= -1418 THEN -- Index does not exist error\r\n RAISE;\r\n END IF;\r\nEND;\r\n{{~}}",
"metaTableQuery": "SELECT\n\t\t'' as id,\n t.table_name AS def_key,\n c.comments AS def_name,\n t.OWNER AS schema_name\nFROM all_tables t left join all_tab_comments c on t.OWNER=c.OWNER and t.TABLE_NAME=c.TABLE_NAME\nwhere t.OWNER in (:schemaName) order by def_key",
"metaColumnQuery": "SELECT\n col.owner AS schema_name,\n\tcol.table_name AS tbl_def_key,\n\tcol.column_id AS order_value,\n\tcol.column_name AS def_key,\n\tclc.comments AS def_name,\n\t'' AS intro,\n\tcol.data_type AS db_data_type,\n\tnvl(col.data_precision,col.data_length) AS data_len,\n\tcol.data_scale AS num_scale,\n\tdecode(col.nullable,'Y',0,1) AS not_null,\n\tCASE WHEN cc.constraint_name IS NOT NULL THEN 1 ELSE 0 END AS primary_key,\n\t'' AS auto_increment,\n\tcol.data_default AS default_value\nFROM\n\tall_tab_columns col LEFT JOIN all_col_comments clc ON col.OWNER = clc.OWNER AND col.table_name = clc.table_name AND col.column_name = clc.column_name \n\t LEFT JOIN (all_cons_columns cc JOIN all_constraints cs ON cc.constraint_name = cs.constraint_name AND cc.owner = cs.owner and cs.constraint_type = 'P') on col.owner=cc.owner and col.table_name=cc.table_name and col.column_name = cc.column_name\nWHERE\n\tcol.owner in (:schemaName)\n\tAND CONCAT(CONCAT(col.owner, '.') , col.table_name) in (:sysTableNames)\nORDER BY\n\tcol.owner ASC, col.table_name ASC,col.column_id ASC ",
"metaIndexQuery": "SELECT i.owner AS schema_name,\r\n i.table_name AS TBL_DEF_KEY,\r\n ic.column_name AS COL_DEF_KEY,\r\n DATA_DEFAULT AS VIRTUAL_COL_DEF_KEY,\r\n i.index_name AS DEF_KEY,\r\n CASE\r\n WHEN i.uniqueness = 'UNIQUE' THEN 'UNIQUE'\r\n ELSE 'NORMAL'\r\n END AS TYPE,\r\n CASE\r\n WHEN ic.descend = 'DESC' THEN 'DESC'\r\n ELSE 'ASC'\r\n END AS SORT_TYPE,\r\n ic.column_position AS ORDER_VALUE,\r\n NULL AS INTRO -- Oracle does not have a direct equivalent for INDEX_COMMENT\r\nFROM all_indexes i\r\n LEFT JOIN all_ind_columns ic ON i.index_name = ic.index_name AND i.table_name = ic.table_name\r\n LEFT JOIN ALL_TAB_COLS co ON (co.table_name = i.table_name AND co.column_name = ic.column_name)\r\nWHERE i.owner in (:schemaName)\r\n AND CONCAT(CONCAT(i.owner, '.') , i.table_name) IN (:sysTableNames)\r\n AND co.owner in (:schemaName)\r\n -- AND NULLABLE = 'Y'\r\n AND GENERATED = 'N'--是否是自动生成\r\nORDER BY i.owner, i.table_name, i.index_name, ic.column_position",
"metaQueryCharset": null,
"orderValue": 1,
"isEnabled": 0,
"id": "BPMCJTYLY0UAC"
},
{
"defKey": "PostgreSQL",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M730.794667 0a432.384 432.384 0 0 0-117.546667 17.194667l-2.688 0.853333A466.005333 466.005333 0 0 0 537.6 11.008C487.338667 10.154667 444.16 22.357333 409.344 42.666667 375.04 30.762667 303.872 10.24 228.864 14.336 176.64 17.194667 119.637333 33.066667 77.397333 77.653333 35.285333 122.24 13.013333 191.232 17.706667 285.098667c1.28 25.898667 8.661333 68.138667 20.906666 122.837333s29.44 118.741333 50.901334 177.152c21.461333 58.453333 44.970667 110.933333 81.706666 146.602667 18.346667 17.877333 43.605333 32.896 73.386667 31.658666 20.906667-0.853333 39.808-10.026667 56.106667-23.552 7.936 10.453333 16.426667 15.018667 24.149333 19.242667 9.728 5.333333 19.2 8.96 29.013333 11.349333 17.621333 4.394667 47.786667 10.282667 83.114667 4.266667 12.032-2.005333 24.704-5.930667 37.333333-11.52 0.469333 14.08 1.024 27.861333 1.578667 41.813333 1.749333 44.202667 2.858667 85.034667 16.128 120.832 2.133333 5.845333 7.978667 35.968 31.018667 62.549334 23.04 26.624 68.181333 43.221333 119.594666 32.213333 36.266667-7.765333 82.389333-21.76 113.024-65.365333 30.293333-43.093333 43.946667-104.917333 46.634667-205.184a201.813333 201.813333 0 0 1 2.346667-14.336l7.210666 0.64h0.853334c38.698667 1.749333 80.682667-3.754667 115.754666-20.053334 31.061333-14.378667 54.570667-28.928 71.68-54.741333 4.266667-6.4 8.96-14.122667 10.24-27.434667s-6.357333-34.133333-19.029333-43.733333c-25.386667-19.285333-41.344-11.946667-58.453333-8.405333a267.52 267.52 0 0 1-51.285334 6.229333c49.322667-83.072 84.693333-171.306667 104.874667-249.386667 11.946667-46.08 18.645333-88.576 19.2-125.738666 0.554667-37.162667-2.474667-70.058667-24.746667-98.517334C911.36 25.6 813.525333 1.024 737.834667 0.170667c-2.346667-0.042667-4.693333-0.085333-7.04-0.042667z m-2.005334 27.306667c71.594667-0.682667 163.072 19.413333 228.736 103.338666 14.762667 18.858667 19.157333 46.421333 18.645334 80.384-0.554667 33.92-6.826667 74.538667-18.304 119.04-22.272 86.186667-64.341333 186.666667-123.605334 276.821334a32.256 32.256 0 0 0 6.741334 3.669333c12.373333 5.12 40.576 9.514667 96.853333-2.048 14.165333-2.986667 24.533333-4.992 35.285333 3.2a22.186667 22.186667 0 0 1 7.808 18.133333 30.037333 30.037333 0 0 1-5.546666 14.336c-10.88 16.341333-32.341333 31.829333-59.861334 44.586667-24.362667 11.349333-59.306667 17.28-90.282666 17.621333-15.530667 0.170667-29.866667-1.024-42.026667-4.821333l-0.768-0.298667c-4.693333 45.226667-15.488 134.528-22.528 175.274667-5.632 32.853333-15.488 58.965333-34.304 78.506667-18.773333 19.541333-45.354667 31.317333-81.109333 38.997333-44.288 9.514667-76.586667-0.725333-97.408-18.261333-20.778667-17.493333-30.293333-40.704-36.010667-54.912-3.925333-9.813333-5.973333-22.528-7.936-39.509334-1.962667-16.981333-3.413333-37.76-4.394667-61.184a2194.176 2194.176 0 0 1-1.28-107.648 130.602667 130.602667 0 0 1-66.218666 32.426667c-29.397333 4.992-55.637333 0.085333-71.296-3.84a97.109333 97.109333 0 0 1-22.186667-8.576c-7.253333-3.882667-14.165333-8.277333-18.773333-16.938667a23.893333 23.893333 0 0 1-2.432-16.256 26.026667 26.026667 0 0 1 9.301333-14.122666c8.448-6.869333 19.626667-10.709333 36.48-14.208 30.677333-6.314667 41.386667-10.624 47.914667-15.786667 5.546667-4.437333 11.818667-13.397333 22.912-26.538667a49.493333 49.493333 0 0 1-0.128-1.749333 126.293333 126.293333 0 0 1-56.746667-15.274667c-6.4 6.741333-39.082667 41.301333-78.933333 89.258667-16.768 20.053333-35.285333 31.573333-54.826667 32.384-19.541333 0.853333-37.205333-9.002667-52.224-23.552-29.994667-29.141333-53.930667-79.274667-74.794667-135.936-20.821333-56.661333-37.76-119.765333-49.792-173.525333-12.074667-53.76-19.2-97.109333-20.224-118.016-4.48-88.832 16.298667-148.693333 51.925334-186.453334 35.669333-37.76 84.565333-52.053333 132.224-54.784 85.546667-4.906667 166.784 24.917333 183.210666 31.317334 31.658667-21.504 72.448-34.901333 123.392-34.048a315.306667 315.306667 0 0 1 71.722667 9.301333l0.853333-0.384a292.437333 292.437333 0 0 1 31.530667-9.130667A410.709333 410.709333 0 0 1 728.746667 27.392z m6.485334 28.586666h-6.229334a372.906667 372.906667 0 0 0-72.704 8.192c53.162667 23.552 93.312 59.818667 121.6 96a360.106667 360.106667 0 0 1 48.298667 81.92c4.693333 11.264 7.850667 20.778667 9.642667 28.16 0.896 3.712 1.493333 6.826667 1.706666 10.069334a18.773333 18.773333 0 0 1-0.512 6.144c0 0.128-0.213333 0.426667-0.256 0.554666 1.28 37.376-7.978667 62.72-9.088 98.389334-0.853333 25.856 5.76 56.234667 7.381334 89.386666 1.536 31.146667-2.218667 65.365333-22.442667 98.944 1.706667 2.048 3.242667 4.096 4.864 6.144 53.504-84.266667 92.074667-177.493333 112.64-256.981333 11.008-42.794667 16.853333-81.578667 17.365333-112.298667 0.426667-30.72-5.290667-52.992-12.586666-62.293333-57.258667-73.216-134.741333-91.861333-199.68-92.373333z m-204.373334 10.922667c-50.432 0.128-86.613333 15.36-114.048 38.186667-28.288 23.594667-47.274667 55.893333-59.733333 88.96-14.805333 39.253333-19.882667 77.226667-21.888 102.997333l0.554667-0.341333c15.232-8.533333 35.242667-17.066667 56.661333-22.016 21.418667-4.906667 44.501333-6.442667 65.408 1.664s38.186667 27.178667 44.458667 56.106666c30.037333 138.965333-9.344 190.634667-23.850667 229.632a410.026667 410.026667 0 0 0-14.122667 43.221334c1.834667-0.426667 3.669333-0.938667 5.504-1.109334 10.24-0.853333 18.261333 2.56 23.04 4.608 14.592 6.058667 24.618667 18.773333 30.037334 33.28 1.408 3.797333 2.432 7.893333 3.029333 12.117334a14.336 14.336 0 0 1 0.853333 5.418666 2352.64 2352.64 0 0 0 0.554667 159.488c0.981333 22.954667 2.432 43.178667 4.266667 59.136 1.834667 15.914667 4.437333 28.032 6.101333 32.128 5.461333 13.653333 13.44 31.530667 27.861333 43.690667 14.421333 12.117333 35.114667 20.224 72.917334 12.117333 32.768-7.04 52.992-16.810667 66.517333-30.848 13.482667-14.037333 21.546667-33.578667 26.709333-63.488 7.722667-44.8 23.253333-174.72 25.130667-199.168-0.853333-18.432 1.877333-32.597333 7.765333-43.392 6.058667-11.093333 15.445333-17.877333 23.552-21.546666 4.053333-1.834667 7.850667-3.072 10.965334-3.968a254.122667 254.122667 0 0 0-10.368-13.866667 190.122667 190.122667 0 0 1-28.416-46.890667 353.962667 353.962667 0 0 0-10.965334-20.608c-5.674667-10.24-12.842667-23.04-20.352-37.418666-15.018667-28.8-31.36-63.701333-39.850666-97.706667-8.448-33.962667-9.685333-69.12 11.989333-93.909333 19.2-22.016 52.906667-31.146667 103.509333-26.026667-1.493333-4.48-2.389333-8.192-4.906666-14.165333a333.525333 333.525333 0 0 0-44.416-75.264c-42.88-54.826667-112.298667-109.184-219.562667-110.933334h-4.906667z m-283.392 2.218667c-5.418667 0-10.837333 0.170667-16.213333 0.469333-43.093333 2.474667-83.84 14.976-112.981333 45.866667-29.184 30.890667-48.384 81.536-44.202667 165.376 0.810667 15.872 7.722667 60.330667 19.584 113.152 11.818667 52.821333 28.586667 114.986667 48.725333 169.898666 20.181333 54.912 44.629333 102.698667 67.84 125.312 11.690667 11.306667 21.845333 15.872 31.061334 15.488 9.258667-0.426667 20.394667-5.76 34.005333-22.101333a1845.077333 1845.077333 0 0 1 77.226667-87.381333 149.205333 149.205333 0 0 1-49.792-134.4c4.394667-31.530667 4.992-61.013333 4.48-84.309334-0.512-22.698667-2.133333-37.802667-2.133334-47.232a14.336 14.336 0 0 1 0-0.810666v-0.213334l-0.042666-0.256v-0.042666a422.101333 422.101333 0 0 1 25.258666-144.042667c11.946667-31.744 29.738667-64 56.405334-90.112-26.197333-8.618667-72.704-21.76-123.050667-24.234667a324.394667 324.394667 0 0 0-16.213333-0.426666zM776.490667 294.4c-28.970667 0.384-45.226667 7.850667-53.76 17.621333-12.074667 13.866667-13.226667 38.186667-5.717334 68.138667 7.466667 29.994667 22.912 63.530667 37.418667 91.392 7.253333 13.952 14.293333 26.496 19.968 36.693333 5.717333 10.24 9.898667 17.493333 12.458667 23.68 2.346667 5.717333 4.949333 10.752 7.594666 15.445334 11.221333-23.68 13.226667-46.933333 12.074667-71.168-1.493333-29.994667-8.448-60.672-7.424-91.733334 1.152-36.309333 8.32-59.946667 8.96-88.021333a247.168 247.168 0 0 0-31.573333-2.048z m-351.317334 4.906667a120.32 120.32 0 0 0-26.282666 3.157333 199.04 199.04 0 0 0-49.194667 19.157333 103.125333 103.125333 0 0 0-14.890667 9.728l-0.938666 0.853334c0.256 6.229333 1.493333 21.333333 2.005333 43.562666 0.512 24.32-0.085333 55.338667-4.778667 88.917334-10.197333 72.96 42.752 133.376 104.96 133.461333 3.626667-14.976 9.6-30.165333 15.573334-46.165333 17.322667-46.677333 51.413333-80.725333 22.698666-213.589334-4.693333-21.76-13.994667-30.549333-26.794666-35.498666a62.890667 62.890667 0 0 0-22.357334-3.584z m337.792 8.704h2.133334a37.461333 37.461333 0 0 1 7.68 0.938666c2.304 0.512 4.266667 1.28 5.888 2.346667a6.997333 6.997333 0 0 1 3.2 4.693333l-0.042667 0.341334h0.042667-0.042667a10.24 10.24 0 0 1-1.493333 5.76 28.501333 28.501333 0 0 1-4.693334 6.4 28.885333 28.885333 0 0 1-16.469333 9.045333 25.173333 25.173333 0 0 1-17.493333-4.394667 25.941333 25.941333 0 0 1-5.546667-5.034666 11.093333 11.093333 0 0 1-2.688-5.418667 7.253333 7.253333 0 0 1 1.792-5.461333 16.384 16.384 0 0 1 4.992-3.84c4.096-2.304 9.642667-4.010667 15.914667-4.949334 2.346667-0.341333 4.650667-0.512 6.826666-0.554666z m-333.653333 7.168c2.261333 0 4.650667 0.213333 7.082667 0.554666 6.528 0.896 12.330667 2.645333 16.768 5.205334a19.029333 19.029333 0 0 1 5.674666 4.522666 9.514667 9.514667 0 0 1 2.304 7.253334 12.885333 12.885333 0 0 1-3.2 6.570666 27.690667 27.690667 0 0 1-6.101333 5.546667 27.306667 27.306667 0 0 1-19.114667 4.821333 31.061333 31.061333 0 0 1-17.92-9.728 30.293333 30.293333 0 0 1-5.034666-6.997333 11.946667 11.946667 0 0 1-1.749334-7.552c0.64-4.608 4.437333-6.997333 8.149334-8.32a36.949333 36.949333 0 0 1 13.098666-1.706667z m386.56 313.301333l-0.128 0.042667c-6.272 2.261333-11.434667 3.2-15.786667 5.12a19.285333 19.285333 0 0 0-10.197333 9.130666c-2.688 4.906667-4.992 13.610667-4.309333 28.416a21.76 21.76 0 0 0 6.314666 2.986667c7.296 2.218667 19.541333 3.669333 33.194667 3.456 27.221333-0.298667 60.714667-6.656 78.506667-14.933333a168.533333 168.533333 0 0 0 40.234666-26.24h-0.042666c-59.434667 12.288-93.013333 9.002667-113.621334 0.512a56.106667 56.106667 0 0 1-14.165333-8.533334z m-342.656 4.010667h-0.896c-2.261333 0.213333-5.546667 0.981333-11.904 8.021333-14.848 16.64-20.053333 27.093333-32.298667 36.864-12.245333 9.728-28.16 14.933333-59.946666 21.461333a81.834667 81.834667 0 0 0-19.669334 6.144c1.237333 1.024 1.109333 1.28 2.986667 2.261334 4.650667 2.56 10.624 4.821333 15.445333 6.058666 13.653333 3.413333 36.096 7.381333 59.52 3.413334 23.424-4.010667 47.786667-15.232 68.565334-44.373334 3.584-5.034667 3.968-12.458667 1.024-20.437333-2.986667-7.978667-9.514667-14.848-14.122667-16.768a27.861333 27.861333 0 0 0-8.704-2.56z\" p-id=\"6988\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n </g>\n </svg>",
"driverFiles": "postgresql-42.7.3.jar",
"jdbcReferDriver": "org.postgresql.Driver",
"jdbcReferUrl": "jdbc:postgresql://[ip]:[port]/[dbname]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n const dataTypeArray = [\r\n 'INT2',\r\n 'INT4',\r\n 'INT',\r\n 'INT8',\r\n 'SERIAL2',\r\n 'SERIAL4',\r\n 'SERIAL8',\r\n 'FLOAT4',\r\n 'FLOAT8',\r\n 'MONEY',\r\n 'TEXT',\r\n 'BYTEA',\r\n 'BOOLEAN',\r\n 'JSONB',\r\n 'JSON',\r\n 'DATE'\r\n ];\r\n\r\n function getDataType(field) {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(autoIncrement) {\r\n return dbDataType.toUpperCase() === 'INT8' ? 'BIGSERIAL' : 'SERIAL';\r\n }\r\n if(dataTypeArray.includes(dbDataType.toUpperCase())) {\r\n return dbDataType;\r\n }\r\n if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n if(dataLen && dataLen >= 1 && dataLen <= 1000) {\r\n if(numScale && numScale >= 0 && numScale <= dataLen) {\r\n return `${dbDataType}(${dataLen},${numScale})`;\r\n } else {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n }\r\n return dbDataType;\r\n }\r\n if(dataLen && dataLen >= 0) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n return dbDataType;\r\n }\r\n\r\n function getConstraints(field) {\r\n let constraints = '';\r\n if (field.notNull) {\r\n constraints += ' NOT NULL';\r\n }\r\n if (field.defaultValue) {\r\n constraints += ` DEFAULT ${field.defaultValue}`;\r\n }\r\n return constraints;\r\n }\r\n}}\r\n\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}{{=field.defKey}} {{= getDataType(field) }}{{= getConstraints(field) }}{{= index < it.fields.length-1 || pkList.length>0 ? ',' : '' }}\r\n{{~}}\r\n{{? pkList.length > 0 }} PRIMARY KEY ({{= pkList.join(',')}}){{?}}\r\n);\r\n\r\n{{~it.fields:field:index}}\r\n{{? field.defName || field.intro }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n\r\n{{? it.defName || it.intro }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n{{?}}\r\n$blankline",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nDO $$\r\n DECLARE\r\n pk_constraint_name text;\r\n BEGIN\r\n SELECT constraint_name\r\n INTO pk_constraint_name\r\n FROM information_schema.table_constraints\r\n WHERE table_name = '{{=it.defKey}}' AND constraint_type = 'PRIMARY KEY'\r\n LIMIT 1;\r\n\r\n IF pk_constraint_name IS NOT NULL THEN\r\n EXECUTE 'ALTER TABLE {{= schemaName }}{{=it.defKey}} DROP CONSTRAINT ' || pk_constraint_name;\r\n ELSE\r\n RAISE NOTICE 'No primary key constraint found for the table.';\r\n END IF;\r\nEND $$;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY ({{~indexFields:field:i}}\"{{= field.defKey }}\"{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}COMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}';{{?}}\r\n$blankline\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};\n$blankline",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'INT8' ? 'BIGSERIAL' : 'SERIAL';\n }\n if(dbDataType.toUpperCase() === 'INT2' ||\n dbDataType.toUpperCase() === 'INT4' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'INT8' ||\n dbDataType.toUpperCase() === 'SERIAL2' ||\n dbDataType.toUpperCase() === 'SERIAL4' ||\n dbDataType.toUpperCase() === 'SERIAL8' ||\n dbDataType.toUpperCase() === 'FLOAT4' ||\n dbDataType.toUpperCase() === 'FLOAT8' ||\n dbDataType.toUpperCase() === 'MONEY' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BYTEA' ||\n dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'JSONB' ||\n dbDataType.toUpperCase() === 'JSON' ||\n dbDataType.toUpperCase() === 'DATE') {\n return dbDataType;\n }\n if(dbDataType.toUpperCase() === 'DECIMAL') {\n if(dataLen && dataLen >= 1 && dataLen <= 1000) {\n if(numScale && numScale >= 0 && numScale <= dataLen) {\n return `${dbDataType}(${dataLen},${numScale})`;\n } else {\n return `${dbDataType}(${dataLen})`;\n }\n }\n return dbDataType;\n }\n if(dataLen && dataLen >= 0) {\n return `${dbDataType}(${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD COLUMN {{= field.defKey }} {{= finalDataType }}{{? field.notNull }} NOT NULL{{?}};\n{{? field.defName || field.intro }}\nCOMMENT ON COLUMN {{= tableKey }}.{{= field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{? field.defaultValue !== null && field.defaultValue !== undefined && field.defaultValue !== ''}}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} SET DEFAULT {{=field.defaultValue}};\n{{?}}\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'INT8' ? 'BIGSERIAL' : 'SERIAL';\n }\n if(dbDataType.toUpperCase() === 'INT2' ||\n dbDataType.toUpperCase() === 'INT4' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'INT8' ||\n dbDataType.toUpperCase() === 'SERIAL2' ||\n dbDataType.toUpperCase() === 'SERIAL4' ||\n dbDataType.toUpperCase() === 'SERIAL8' ||\n dbDataType.toUpperCase() === 'FLOAT4' ||\n dbDataType.toUpperCase() === 'FLOAT8' ||\n dbDataType.toUpperCase() === 'MONEY' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BYTEA' ||\n dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'JSONB' ||\n dbDataType.toUpperCase() === 'JSON' ||\n dbDataType.toUpperCase() === 'DATE') {\n return dbDataType;\n }\n if(dbDataType.toUpperCase() === 'DECIMAL') {\n if(dataLen && dataLen >= 1 && dataLen <= 1000) {\n if(numScale && numScale >= 0 && numScale <= dataLen) {\n return `${dbDataType}(${dataLen},${numScale})`;\n } else {\n return `${dbDataType}(${dataLen})`;\n }\n }\n return dbDataType;\n }\n if(dataLen && dataLen >= 0) {\n return `${dbDataType}(${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey}} TO {{= nextDefKey}};{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'autoIncrement') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} DROP default;\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} TYPE {{=finalDataType}} USING '{{= field.defKey}}'::{{=finalDataType}};\n{{?}}\n{{? updateKeys.includes('notNull') }}ALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}}{{? field.notNull }} SET {{??}} DROP {{?}} NOT NULL;{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\nCOMMENT ON COLUMN {{= tableKey}}.{{= field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{? updateKeys.includes('defaultValue') }}\nALTER TABLE {{= tableKey}} ALTER COLUMN {{= field.defKey}}{{? field.defaultValue }} SET DEFAULT {{=field.defaultValue}}{{??}} DROP default{{?}};\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}} {{?}}INDEX {{=row.defKey}} ON {{= tableKey }} (\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{? (row.defName || row.intro) && row.defKey && row.fields.length > 0}}\r\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX IF EXISTS {{= schemaName }}{{? preDefKey}}{{= preDefKey}}{{??}}{{=row.defKey}}{{?}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{? (row.defName || row.intro) && row.defKey && row.fields.length > 0}}\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\n{{?}}\n{{??}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') && row.fields.length > 0}}\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX IF EXISTS {{= schemaName }}{{=row.defKey}};\n{{~}}",
"metaTableQuery": "SELECT\r\n tb.TABLE_NAME as def_key,\r\n d.description as def_name,\r\n tb.table_schema as schema_name\r\nFROM\r\n information_schema.tables tb\r\n JOIN pg_class C ON C.relname = tb.TABLE_NAME\r\n JOIN pg_namespace n ON tb.table_schema = n.nspname AND c.relnamespace = n.oid\r\n LEFT JOIN pg_description d ON d.objoid = C.oid\r\n AND d.objsubid = '0'\r\nWHERE\r\n tb.table_schema IN (:schemaName)\r\nORDER BY\r\n\ttb.table_schema asc",
"metaColumnQuery": "SELECT\r\n col.table_schema as schema_name,\r\n col.TABLE_NAME AS tbl_def_key,\r\n col.ordinal_position AS order_value,\r\n col.COLUMN_NAME AS def_key,\r\n d.description AS def_name,\r\n\t\t'' AS intro,\r\n col.udt_name AS db_data_type,\r\n\t\tCASE WHEN col.character_maximum_length IS NULL AND col.numeric_precision IS NOT NULL THEN col.numeric_precision\r\n\t\t ELSE col.character_maximum_length\r\n\t\tEND AS data_len,\r\n\t\tCASE WHEN col.numeric_precision IS NOT NULL THEN (CASE WHEN col.numeric_scale = 0 THEN NULL ELSE col.numeric_scale END)\r\n\t\t\t\tELSE NULL\r\n\t\tEND AS num_scale,\r\n CASE WHEN kc.column_name IS NOT NULL THEN 1 ELSE 0 END AS primary_key,\r\n CASE WHEN col.IS_NULLABLE = 'NO' THEN 1 ELSE 0 END AS not_null,\r\n CASE WHEN col.COLUMN_DEFAULT LIKE 'nextval%' THEN 1 ELSE 0 END AS auto_increment,\r\n\t\tsubstr(col.column_default,0,strpos(col.column_default, concat('::',col.data_type))) AS default_value\r\nFROM\r\n information_schema.COLUMNS col LEFT JOIN (information_schema.key_column_usage kc LEFT JOIN information_schema.table_constraints tc\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tON\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkc.constraint_name = tc.constraint_name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand tc.constraint_type = 'PRIMARY KEY'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand kc.table_schema=tc.table_schema\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand kc.table_name=tc.table_schema\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ON\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcol.TABLE_NAME = kc.table_name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND col.COLUMN_NAME = kc.column_name AND kc.table_schema = col.table_schema\r\nLEFT JOIN pg_class C ON C.relname = col.TABLE_NAME\r\nLEFT JOIN pg_namespace n ON col.table_schema = n.nspname AND c.relnamespace = n.oid\r\nLEFT JOIN pg_description d ON d.objoid = C.oid AND d.objsubid = col.ordinal_position\r\nWHERE\r\n col.table_schema IN (:schemaName)\r\n AND nspName IN (:schemaName)\r\n AND CONCAT(col.table_schema, '.', col.TABLE_NAME) IN (:sysTableNames)\r\nORDER BY\r\n\tcol.table_schema asc, col.TABLE_NAME asc,col.ordinal_position ASC\r\n",
"metaIndexQuery": "SELECT ns.nspname AS schema_name, \r\n t.relname AS tbl_def_key,\r\n a.attname AS col_def_key,\r\n d.description AS def_name,\r\n '' AS intro,\r\n CASE\r\n WHEN ix.indoption[array_position(ix.indkey, a.attnum) - 1] & 1 = 0 THEN 'ASC'\r\n ELSE 'DESC'\r\n END AS sort_type,\r\n CASE\r\n WHEN ix.indisunique THEN 'UNIQUE'\r\n ELSE 'NORMAL'\r\n END AS type,\r\n array_position(ix.indkey, a.attnum) AS order_value,\r\n idx.relname AS def_key\r\nFROM pg_class t\r\n JOIN\r\n pg_namespace ns ON ns.oid = t.relnamespace\r\n JOIN\r\n pg_index ix ON t.oid = ix.indrelid\r\n JOIN\r\n pg_class idx ON ix.indexrelid = idx.oid\r\n JOIN\r\n unnest(ix.indkey) WITH ORDINALITY AS key_col(attnum, ord) ON true\r\n JOIN\r\n pg_attribute a ON t.oid = a.attrelid AND a.attnum = key_col.attnum\r\n LEFT JOIN\r\n pg_description d ON idx.oid = d.objoid\r\nWHERE ns.nspname IN (:schemaName)\r\n AND CONCAT(ns.nspname, '.', t.relname) IN (:sysTableNames)\r\n AND indisprimary = false \r\nORDER BY ns.nspname asc, tbl_def_key, def_key",
"metaQueryCharset": null,
"orderValue": 2,
"isEnabled": 0,
"id": "BPMCJTYLF1UAC"
},
{
"defKey": "SQLServer",
"defName": null,
"icon": "<svg t=\"1720168381651\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"9492\" width=\"200\" height=\"200\"><path d=\"M215.846 671.657c54.004-35.684 107.171-74.018 165.288-102.444 60.464-26.253 120.071-47.82 182.395-70.003 60.822-22.361 122.782-40.591 185.705-56.6 62.935-15.947 126.791-28.496 191.238-37.383l-9.76 19.962c-14.888-24.35-34.334-45.821-56.344-64.332-22.02-18.564-46.653-34.11-72.414-47.6a497.77 497.77 0 0 0-19.584-9.685c-6.597-3.106-13.241-6.132-19.963-9.003a599.898 599.898 0 0 0-20.331-8.266 695.449 695.449 0 0 0-20.608-7.678c-27.652-9.841-55.948-18.185-84.619-25.233-28.659-7.003-57.794-12.756-86.917-16.841-3.636-0.498-7.247-0.97-10.797-1.349l-11.274-1.236a2146.98 2146.98 0 0 1-22.539-2.722c-15.023-1.862-30.02-4.012-44.999-6.311-29.939-4.727-59.814-10.263-89.313-17.815-7.368-1.917-14.71-3.951-22.012-6.155-7.301-2.205-14.569-4.561-21.728-7.285-7.159-2.713-14.259-5.65-21.132-9.179-3.424-1.788-6.796-3.715-10.028-5.926-1.614-1.111-3.196-2.288-4.697-3.616a27.685 27.685 0 0 1-2.167-2.143c-0.347-0.386-0.683-0.79-1.006-1.225a11.139 11.139 0 0 1-0.477-0.691l-0.232-0.388c-0.081-0.149-0.142-0.252-0.271-0.547a1.62 1.62 0 1 1 2.971-1.294c-0.026-0.083 0.031 0.018 0.078 0.066l0.166 0.193c0.121 0.135 0.257 0.276 0.4 0.415 0.286 0.279 0.601 0.555 0.932 0.822a23.997 23.997 0 0 0 2.122 1.519c1.484 0.962 3.066 1.832 4.69 2.633 3.253 1.602 6.669 2.955 10.136 4.177 6.931 2.464 14.076 4.447 21.288 6.168 14.442 3.405 29.1 6.078 43.857 8.208 29.503 4.34 59.261 7.279 89.071 9.662 14.902 1.23 29.833 2.21 44.766 3.183l22.415 1.309 11.216 0.625c3.95 0.212 7.823 0.513 11.665 0.833 15.366 1.279 30.547 3.217 45.704 5.485 15.153 2.25 30.215 5.067 45.224 8.19 29.998 6.318 59.705 14.396 88.786 24.637 7.262 2.579 14.496 5.261 21.674 8.104a633.708 633.708 0 0 1 21.366 9.004c7.068 3.145 14.1 6.396 21.039 9.854a530.944 530.944 0 0 1 20.593 10.872 434.182 434.182 0 0 1 39.592 24.811c12.771 8.993 25.085 18.719 36.728 29.26 23.299 21.032 43.896 45.489 59.789 72.911l10.27 17.718-20.028 2.244c-63.62 7.125-126.857 18.122-189.391 32.393-62.549 14.216-124.444 32.854-185.355 53.341-60.944 20.386-120.986 42.426-179.757 68.681-29.383 13.128-58.455 26.986-87.121 41.661-14.349 7.303-28.602 14.803-42.719 22.554-14.101 7.766-28.14 15.716-41.803 24.169l-0.029 0.018a1.623 1.623 0 0 1-1.749-2.732z\" p-id=\"9493\"></path><path d=\"M209.963 677.652c20.688-16.411 40.803-33.515 59.903-51.661 19.143-18.088 37.364-37.122 54.246-57.217 8.426-10.058 16.51-20.385 24.139-31.006 7.608-10.626 14.793-21.563 21.103-32.862a183.354 183.354 0 0 0 4.47-8.515l0.506-1.056 0.557-1.205 0.991-2.27 1.889-4.479a313.186 313.186 0 0 0 3.579-9.053 301.38 301.38 0 0 0 3.343-9.108 325.21 325.21 0 0 0 5.77-18.427c1.738-6.176 3.177-12.413 4.475-18.649a227.377 227.377 0 0 0 3.041-18.802c0.772-6.281 1.302-12.572 1.521-18.859 0.115-3.143 0.151-6.285 0.117-9.42-0.01-3.136-0.095-6.268-0.254-9.392a192.937 192.937 0 0 0-1.856-18.635c-3.512-24.695-11.826-48.505-23.843-70.371-5.981-10.957-12.992-21.366-20.633-31.296-7.681-9.896-16.184-19.212-25.226-27.776a175.341 175.341 0 0 0-6.899-6.159l-1.733-1.436-1.576-1.252c0.077 0.06-0.885-0.679-0.535-0.417l-0.117-0.102-0.233-0.204-0.466-0.407-0.948-0.874-1.88-1.762-3.716-3.564a282.594 282.594 0 0 1-3.577-3.748c-2.395-2.494-4.61-5.203-6.828-7.915-4.306-5.549-8.327-11.507-11.268-18.321-1.43-3.413-2.653-7.043-3.015-10.975-0.187-1.948-0.123-4.001 0.423-5.963 0.294-0.976 0.716-1.918 1.291-2.729 0.559-0.808 1.319-1.497 2.181-1.788-0.704 1.638-0.39 3.185 0.184 4.521 0.554 1.347 1.395 2.552 2.299 3.71 1.866 2.293 4.085 4.373 6.421 6.364 4.685 3.976 9.759 7.672 14.905 11.32 2.526 1.876 5.178 3.629 7.736 5.496 1.294 0.917 2.601 1.824 3.917 2.721l3.889 2.773 3.523 2.455 1.247 0.924 1.1 0.842 2.118 1.674a198.672 198.672 0 0 1 8.03 6.844c10.402 9.296 19.787 19.517 28.375 30.409 8.616 10.868 16.206 22.564 22.811 34.816 6.636 12.24 11.99 25.197 16.188 38.51 4.164 13.33 6.91 27.101 8.338 40.964 2.73 27.772-0.331 55.83-8.101 82.046-1.896 6.572-4.157 13.016-6.587 19.364-2.426 6.352-5.143 12.571-8.058 18.671a308.25 308.25 0 0 1-4.513 9.065 325.117 325.117 0 0 1-4.848 8.863l-2.528 4.382-1.267 2.135-0.513 1.027-0.6 1.157c-1.605 3.046-3.298 5.961-5.037 8.852-6.976 11.521-14.706 22.418-22.84 32.979-8.137 10.557-16.735 20.716-25.658 30.556-35.729 39.361-76.427 73.677-119.473 104.235z\" p-id=\"9494\"></path><path d=\"M690.811 462.863c-11.202-10.033-23.855-19.852-35.554-29.38-11.68-9.552-23.726-18.717-36.167-27.376-6.239-4.303-12.542-8.533-18.979-12.561a597.859 597.859 0 0 0-19.576-11.684c-26.471-14.997-54.155-28.04-82.668-39.175-28.453-11.315-57.758-20.741-87.595-28.368-29.823-7.76-27.023-23.895 4.021-18.259 31.023 5.783 61.779 13.468 91.98 23.226 30.136 9.932 59.694 21.938 88.283 36.152a624.38 624.38 0 0 1 21.287 11.007c7.038 3.795 14.057 7.649 20.979 11.689 13.88 8.018 27.484 16.59 40.701 25.777 13.191 9.221 25.917 19.161 37.968 29.873a391.554 391.554 0 0 1 17.569 16.581\" p-id=\"9495\"></path><path d=\"M504.265 210.272c7.783 20.086 13.193 41.187 16.299 62.71 3.1 21.525 3.785 43.508 1.912 65.352a297.933 297.933 0 0 1-1.9 16.374 214.153 214.153 0 0 1-1.403 8.137 249.382 249.382 0 0 1-1.724 8.121c-2.505 10.788-5.811 21.432-10.021 31.704-4.19 10.278-9.157 20.225-14.752 29.741-5.613 9.508-11.797 18.612-18.305 27.395-6.501 8.792-13.396 17.21-20.378 25.483-7.015 8.273-14.046 16.353-21.409 24.36-14.654 15.997-30.276 31.101-46.621 45.297-16.339 14.21-33.456 27.443-51.069 39.884a713.556 713.556 0 0 1-26.824 18.032 1231.056 1231.056 0 0 1-13.691 8.56c-4.612 2.777-9.218 5.555-13.899 8.215l12.484-10.215c4.177-3.373 8.331-6.772 12.459-10.198a1921.952 1921.952 0 0 0 24.653-20.604c16.29-13.859 32.193-28.084 47.546-42.809a789.044 789.044 0 0 0 44.143-45.921c3.516-3.964 6.976-7.995 10.467-12.047 3.489-4.036 6.954-8.08 10.37-12.151 6.84-8.134 13.449-16.402 19.757-24.824 6.299-8.429 12.219-17.076 17.55-26.025 5.357-8.931 10.134-18.162 14.155-27.707 4.007-9.548 7.361-19.368 9.895-29.436a234.407 234.407 0 0 0 1.772-7.585c0.542-2.582 1.021-4.99 1.513-7.687a294.292 294.292 0 0 0 2.503-15.502c2.848-20.812 3.639-41.967 2.602-63.149-1.024-21.194-3.927-42.38-8.084-63.505zM654.02 238.096c0.518 2.054 0.892 4.13 1.276 6.211 0.327 2.083 0.623 4.175 0.888 6.277 0.492 4.202 0.758 8.433 0.847 12.671a159.8 159.8 0 0 1-1.553 25.397c-0.272 2.107-0.622 4.201-0.985 6.293l-0.568 3.133-0.146 0.783-0.037 0.196-0.048 0.217-0.089 0.377-0.355 1.51c-0.983 4.118-2.055 8.2-3.201 12.268a305.387 305.387 0 0 1-7.876 24.147c-6.003 15.864-13.405 31.254-22.155 45.773-8.718 14.542-18.58 28.298-29.112 41.369a580.201 580.201 0 0 1-16.155 19.239l-8.222 9.268-8.147 9.285c-5.462 6.183-10.864 12.463-16.47 18.629a647.404 647.404 0 0 1-8.477 9.225 474.458 474.458 0 0 1-8.775 9.014 324.52 324.52 0 0 1-38.248 32.636c-6.761 4.911-13.643 9.618-20.685 14.061a599.722 599.722 0 0 1-10.618 6.553c-3.593 2.097-7.168 4.209-10.821 6.199l9.5-8.051a724.68 724.68 0 0 0 9.454-8.048c6.244-5.421 12.45-10.848 18.486-16.427 12.113-11.12 23.596-22.724 34.324-35.011 10.743-12.269 20.933-25.157 31.472-37.996 2.617-3.221 5.307-6.392 7.984-9.578 2.676-3.174 5.42-6.377 8.074-9.454 5.335-6.216 10.599-12.472 15.667-18.857 10.133-12.769 19.664-25.921 28.028-39.733 8.354-13.812 15.638-28.22 21.504-43.251a291.694 291.694 0 0 0 7.984-22.877 337.49 337.49 0 0 0 3.316-11.68l0.398-1.5 0.1-0.375 0.1-0.34 0.219-0.725 0.86-2.906 1.649-5.834c2.136-7.801 4.107-15.67 5.84-23.667a524.034 524.034 0 0 0 2.471-12.092c0.412-2.032 0.794-4.076 1.145-6.13l1.157-6.199zM822.932 290.223c-3.896 19.357-10.441 38.246-19.119 56.222-8.687 17.978-19.675 34.894-32.108 50.501-12.437 15.627-26.202 30.026-40.509 43.656-7.143 6.636-14.486 13.05-22.189 19.208a221.19 221.19 0 0 1-11.889 8.92c-4.093 2.849-8.298 5.586-12.806 7.972 2.541-4.421 5.308-8.567 8.153-12.638 2.847-4.068 5.8-8.029 8.868-11.893 6.117-7.736 12.646-15.163 19.583-22.159 13.807-13.665 27.259-27.554 39.798-42.145 12.549-14.581 24.136-29.908 34.447-46.224a393.993 393.993 0 0 0 14.589-25.138c4.585-8.592 8.915-17.377 13.182-26.282z\" p-id=\"9496\"></path><path d=\"M345.965 547.814c33.042-32.345 69.5-61.194 107.723-87.398 38.283-26.148 78.514-49.519 120.168-69.979 41.652-20.465 84.758-37.989 128.859-52.278 44.111-14.228 89.215-25.373 134.961-32.052-44.042 13.988-87.524 28.726-130.216 45.387a1606.714 1606.714 0 0 0-125.675 55.097 1600.647 1600.647 0 0 0-120.477 65.695c-39.289 23.588-77.555 48.94-115.343 75.528zM393.713 444.275a383.308 383.308 0 0 1 14.563-17.172c4.999-5.596 10.141-11.057 15.365-16.442 10.466-10.75 21.354-21.084 32.536-31.091 22.4-19.971 46.024-38.562 70.553-55.831a836.583 836.583 0 0 1 76.195-47.736c13.12-7.242 26.423-14.146 39.945-20.604 6.768-3.216 13.57-6.355 20.448-9.339a446.32 446.32 0 0 1 20.835-8.515 987.665 987.665 0 0 1-18.4 12.902l-18.481 12.625-36.948 24.996c-24.595 16.627-49.021 33.367-73.24 50.387a3321.594 3321.594 0 0 0-71.992 52.044c-11.912 8.828-23.761 17.766-35.621 26.754l-17.811 13.515a1597.439 1597.439 0 0 1-17.947 13.507zM394.681 318.676c1.843-3.003 3.827-5.863 5.873-8.676 2.037-2.817 4.156-5.553 6.308-8.26 4.318-5.397 8.851-10.586 13.516-15.641 9.362-10.074 19.302-19.556 29.712-28.485a363.39 363.39 0 0 1 32.68-25.008c5.703-3.84 11.517-7.531 17.503-10.982 3.002-1.715 6.025-3.397 9.116-4.987 3.085-1.597 6.214-3.131 9.461-4.503-2.156 2.79-4.425 5.426-6.72 8.021-2.288 2.605-4.634 5.128-6.985 7.641-4.72 5.001-9.559 9.832-14.452 14.583-9.814 9.467-19.885 18.567-30.198 27.384-10.311 8.819-20.847 17.371-31.695 25.625-5.44 4.109-10.947 8.157-16.598 12.07-2.835 1.947-5.68 3.887-8.595 5.762-2.906 1.879-5.851 3.734-8.926 5.456z\" p-id=\"9497\"></path><path d=\"M377.385 198.376c7.314 10.42 13.067 21.728 18.192 33.278 2.505 5.8 4.857 11.673 6.954 17.642 0.531 1.49 1.042 2.987 1.542 4.489 0.529 1.601 1.014 2.927 1.52 4.539 0.979 3.108 1.859 6.175 2.617 9.317 3.056 12.519 4.389 25.521 3.754 38.388a123.34 123.34 0 0 1-2.46 19.107c-1.343 6.278-3.107 12.454-5.732 18.401-1.064-6.414-1.678-12.653-2.379-18.819a1281.01 1281.01 0 0 0-2.105-18.259c-1.469-12.039-3.251-23.862-5.484-35.695l-1.735-8.858c-0.27-1.405-0.624-3.078-0.93-4.478l-1.037-4.493c-1.406-5.988-2.791-12.004-4.25-18.017-2.814-12.069-5.852-24.104-8.467-36.542zM400.461 418.669c3.467 0.23 6.864 0.806 10.224 1.573 3.365 0.756 6.67 1.755 9.938 2.907 6.52 2.334 12.803 5.438 18.746 9.173 11.894 7.464 22.255 17.681 30.145 29.499 7.903 11.82 13.317 25.195 15.93 38.873 1.309 6.843 1.981 13.755 1.945 20.638-0.039 3.445-0.206 6.874-0.597 10.289-0.379 3.412-0.928 6.805-1.798 10.171-1.359-3.2-2.545-6.363-3.734-9.485l-3.545-9.241c-2.362-6.078-4.739-12.002-7.301-17.747-5.113-11.491-10.798-22.307-17.533-32.398-6.715-10.105-14.476-19.442-23.241-28.313-4.378-4.444-9.038-8.73-13.914-12.995-2.432-2.145-4.94-4.247-7.484-6.394-2.553-2.137-5.163-4.266-7.781-6.55zM213.98 674.63s-101.966 69.187-52.733 141.79c0 0 35.523 62.631 161.722 96.598 0 0 144.272 33.34 219.991 29.601 0 0 9.038-1.869-16.203-6.854 0 0-72.877-10.811-146.453-25.862-51.476-10.532-100.322-31.201-122.46-45.183 0 0-129.315-71.046-68.864-149.258 0 0 20.914-32.032 52.056-54.967\" p-id=\"9498\"></path><path d=\"M535.012 942.074s48.847-108.205 75.021-251.542c0 0 17.688-104.204 0-192.57l19.944-7.041s19.941 83.071-3.116 230.147c0 0-20.753 119.558-82.45 220.829\" p-id=\"9499\"></path><path d=\"M542.96 941.841s-1.385 0.233-3.722 0.233c-3.706 0-3.725-1.792-3.725-1.792M165.298 756.591s225.6-62.942 291.66-90.364c0 0 127.756-49.232 165.772-87.871v13.088s-109.256 83.509-222.27 112.177c0 0-131.71 39.884-235.163 59.205v-6.235z\" p-id=\"9500\"></path><path d=\"M224.502 848.203s129.095-167.642 164.884-266.732l25.194-11.84S384.845 679.34 303.65 759.708c0 0-57.958 72.292-74.162 95.351l-4.986-6.856zM501.206 532.861s14.539 90.365-58.479 216.252c0 0-63.669 121.524-102.308 162.034h11.841s63.547-54.22 132.733-205.034c0 0 44.714-112.178 32.958-178.237l-16.745 4.985zM359.115 911.147s196.478-57.505 215.629-65.438v6.232c0 0.001-149.569 59.83-215.629 59.206z\" p-id=\"9501\"></path><path d=\"M581.599 842.594s-136.481-18.072-211.889-88.495c0 0-83.509-62.943-50.167-143.337l-27.733 6.232s-20.566 76.654 39.262 129.626c-0.001 0 87.247 98.466 250.527 95.974zM414.58 567.138s28.667 115.293 199.425 145.207l8.726-3.74s-192.562-64.189-192.562-149.777l-15.589 8.31z\" p-id=\"9502\"></path><path d=\"M235.098 855.059s199.9-66.06 244.919-86.626c0 0 82.264-26.798 142.714-66.059l-4.985 9.971s-56.089 38.639-150.815 75.407c0 0-100.336 41.755-236.819 72.915l4.986-5.608zM519.92 530.369s99.071 59.827 110.913 60.451v-4.363s-96.444-57.958-105.322-64.19l-5.591 8.102zM549.186 219.389s-55.458-79.146-70.416-150.815c0 0-206.281 68.553-194.44 105.322l25.76 12.556 4.154-1.961s-19.942-18.696 48.61-56.089c0 0 66.06-36.146 112.177-51.103 0 0 15.58 108.438 52.973 138.975l21.182 3.115z\" p-id=\"9503\"></path><path d=\"M341.042 134.633l50.526 67.306 24.944 2.493-75.47-76.654z\" p-id=\"9504\"></path><path d=\"M501.206 162.054s-160.164-11.217-153.309-34.276h8.102s136.751 26.976 145.207 25.552v8.724zM456.766 206.301s48.179-37.954 50.048-38.607l-3.116-5.64s-61.386 34.808-72.759 37.658c-11.374 2.851 25.827 6.589 25.827 6.589z\" p-id=\"9505\"></path><path d=\"M215.846 671.657c54.004-35.684 107.171-74.018 165.288-102.444 60.464-26.253 120.071-47.82 182.395-70.003 60.822-22.361 122.782-40.591 185.705-56.6 62.935-15.947 126.791-28.496 191.238-37.383l-9.76 19.962c-14.888-24.35-34.334-45.821-56.344-64.332-22.02-18.564-46.653-34.11-72.414-47.6a497.77 497.77 0 0 0-19.584-9.685c-6.597-3.106-13.241-6.132-19.963-9.003a599.898 599.898 0 0 0-20.331-8.266 695.449 695.449 0 0 0-20.608-7.678c-27.652-9.841-55.948-18.185-84.619-25.233-28.659-7.003-57.794-12.756-86.917-16.841-3.636-0.498-7.247-0.97-10.797-1.349l-11.274-1.236a2146.98 2146.98 0 0 1-22.539-2.722c-15.023-1.862-30.02-4.012-44.999-6.311-29.939-4.727-59.814-10.263-89.313-17.815-7.368-1.917-14.71-3.951-22.012-6.155-7.301-2.205-14.569-4.561-21.728-7.285-7.159-2.713-14.259-5.65-21.132-9.179-3.424-1.788-6.796-3.715-10.028-5.926-1.614-1.111-3.196-2.288-4.697-3.616a27.685 27.685 0 0 1-2.167-2.143c-0.347-0.386-0.683-0.79-1.006-1.225a11.139 11.139 0 0 1-0.477-0.691l-0.232-0.388c-0.081-0.149-0.142-0.252-0.271-0.547a1.62 1.62 0 1 1 2.971-1.294c-0.026-0.083 0.031 0.018 0.078 0.066l0.166 0.193c0.121 0.135 0.257 0.276 0.4 0.415 0.286 0.279 0.601 0.555 0.932 0.822a23.997 23.997 0 0 0 2.122 1.519c1.484 0.962 3.066 1.832 4.69 2.633 3.253 1.602 6.669 2.955 10.136 4.177 6.931 2.464 14.076 4.447 21.288 6.168 14.442 3.405 29.1 6.078 43.857 8.208 29.503 4.34 59.261 7.279 89.071 9.662 14.902 1.23 29.833 2.21 44.766 3.183l22.415 1.309 11.216 0.625c3.95 0.212 7.823 0.513 11.665 0.833 15.366 1.279 30.547 3.217 45.704 5.485 15.153 2.25 30.215 5.067 45.224 8.19 29.998 6.318 59.705 14.396 88.786 24.637 7.262 2.579 14.496 5.261 21.674 8.104a633.708 633.708 0 0 1 21.366 9.004c7.068 3.145 14.1 6.396 21.039 9.854a530.944 530.944 0 0 1 20.593 10.872 434.182 434.182 0 0 1 39.592 24.811c12.771 8.993 25.085 18.719 36.728 29.26 23.299 21.032 43.896 45.489 59.789 72.911l10.27 17.718-20.028 2.244c-63.62 7.125-126.857 18.122-189.391 32.393-62.549 14.216-124.444 32.854-185.355 53.341-60.944 20.386-120.986 42.426-179.757 68.681-29.383 13.128-58.455 26.986-87.121 41.661-14.349 7.303-28.602 14.803-42.719 22.554-14.101 7.766-28.14 15.716-41.803 24.169l-0.029 0.018a1.623 1.623 0 0 1-1.749-2.732z\" fill=\"#d81e06\" p-id=\"9506\"></path><path d=\"M209.963 677.652c41.157-33.063 79.92-69.152 113.493-109.449 8.364-10.084 16.385-20.433 23.952-31.061 7.543-10.635 14.661-21.577 20.888-32.849a181.168 181.168 0 0 0 4.4-8.473l1.057-2.271 0.956-2.286 1.811-4.49a309.195 309.195 0 0 0 3.422-9.077 297.476 297.476 0 0 0 3.198-9.113 337.505 337.505 0 0 0 5.489-18.396c1.652-6.155 2.99-12.367 4.214-18.561a224.385 224.385 0 0 0 2.809-18.658c0.702-6.223 1.173-12.449 1.331-18.663 0.085-3.106 0.092-6.209 0.031-9.306-0.033-3.095-0.14-6.185-0.318-9.267a189.717 189.717 0 0 0-1.964-18.362c-3.604-24.317-11.887-47.708-23.759-69.25-5.903-10.798-12.843-21.048-20.365-30.862-7.569-9.773-15.963-18.979-24.838-27.453a174.746 174.746 0 0 0-6.759-6.075l-1.686-1.406-1.482-1.188c0.106 0.081-1.082-0.831-0.637-0.496l-0.115-0.103-0.231-0.206-0.462-0.414-0.945-0.897-1.87-1.811-3.696-3.662-3.535-3.875c-2.375-2.572-4.537-5.397-6.716-8.212-4.201-5.783-8.093-12.021-10.82-19.185-1.318-3.587-2.418-7.409-2.595-11.542-0.101-2.046 0.081-4.204 0.753-6.241 0.363-1.011 0.828-1.993 1.505-2.808 0.654-0.811 1.506-1.478 2.423-1.709-0.584 1.762-0.026 3.268 0.639 4.522 0.68 1.271 1.639 2.372 2.629 3.432 2.051 2.092 4.394 3.979 6.841 5.796 4.9 3.625 10.104 7.044 15.353 10.458 2.564 1.773 5.27 3.408 7.849 5.198l3.958 2.594 3.911 2.675 3.442 2.293 1.311 0.968 1.13 0.863 2.166 1.703a202.806 202.806 0 0 1 8.169 6.928c10.57 9.387 20.062 19.719 28.763 30.734 8.736 10.982 16.397 22.838 23.08 35.25 6.721 12.396 12.093 25.551 16.321 39.05 4.184 13.521 6.898 27.496 8.289 41.545 2.614 28.153-0.677 56.531-8.782 82.9-1.97 6.613-4.333 13.083-6.848 19.452-2.511 6.374-5.327 12.602-8.339 18.702a306.657 306.657 0 0 1-4.658 9.061 327.575 327.575 0 0 1-5.004 8.84l-2.606 4.37-1.301 2.118-1.119 2.175c-1.632 3.072-3.347 5.995-5.107 8.893-7.058 11.548-14.855 22.44-23.054 32.993-8.199 10.549-16.86 20.686-25.844 30.5-17.956 19.641-37.226 37.955-57.332 55.201a801.43 801.43 0 0 1-62.796 48.463z\" fill=\"#d81e06\" p-id=\"9507\"></path><path d=\"M690.811 462.863c-11.202-10.033-23.855-19.852-35.554-29.38-11.68-9.552-23.726-18.717-36.167-27.376-6.239-4.303-12.542-8.533-18.979-12.561a597.859 597.859 0 0 0-19.576-11.684c-26.471-14.997-54.155-28.04-82.668-39.175-28.453-11.315-57.758-20.741-87.595-28.368-29.823-7.76-27.023-23.895 4.021-18.259 31.023 5.783 61.779 13.468 91.98 23.226 30.136 9.932 59.694 21.938 88.283 36.152a624.38 624.38 0 0 1 21.287 11.007c7.038 3.795 14.057 7.649 20.979 11.689 13.88 8.018 27.484 16.59 40.701 25.777 13.191 9.221 25.917 19.161 37.968 29.873a391.554 391.554 0 0 1 17.569 16.581\" fill=\"#d81e06\" p-id=\"9508\"></path><path d=\"M504.265 210.272c8.23 19.958 13.948 41.048 17.311 62.613a281.744 281.744 0 0 1 2.469 65.623 298.03 298.03 0 0 1-1.825 16.481c-0.375 2.582-0.886 5.504-1.393 8.193a245.919 245.919 0 0 1-1.716 8.188c-2.502 10.876-5.801 21.622-10.037 31.982-4.21 10.369-9.201 20.403-14.825 29.992-5.648 9.578-11.865 18.737-18.398 27.563-6.525 8.837-13.455 17.274-20.455 25.565-7.036 8.293-14.069 16.366-21.479 24.381-14.725 16.011-30.459 31.089-46.925 45.221-16.46 14.145-33.728 27.258-51.503 39.521a661.29 661.29 0 0 1-27.092 17.716 1221.997 1221.997 0 0 1-13.843 8.358c-4.669 2.697-9.327 5.403-14.073 7.968l24.617-20.859a2431.026 2431.026 0 0 0 24.386-20.923c16.127-14.034 31.881-28.382 47.111-43.169a828.927 828.927 0 0 0 43.838-45.999c3.495-3.96 6.938-7.99 10.421-12.042 3.481-4.033 6.939-8.071 10.345-12.135a573.112 573.112 0 0 0 19.681-24.744c6.273-8.385 12.16-16.977 17.458-25.855 5.328-8.86 10.081-18.002 14.081-27.457 3.982-9.458 7.342-19.177 9.879-29.155a230.665 230.665 0 0 0 1.778-7.52c0.546-2.57 1.021-4.922 1.525-7.631a295.142 295.142 0 0 0 2.579-15.396c2.967-20.684 3.939-41.738 3.158-62.878-0.768-21.152-3.362-42.347-7.073-63.602zM654.02 238.096c2.406 8.22 3.54 16.717 3.97 25.251 0.398 8.536 0.044 17.126-1.024 25.611-0.237 2.126-0.563 4.238-0.905 6.348l-0.531 3.162-0.138 0.789-0.033 0.198-0.05 0.225-0.088 0.378-0.35 1.511a310.785 310.785 0 0 1-3.186 12.34 307.855 307.855 0 0 1-7.864 24.303c-6.02 15.967-13.436 31.479-22.234 46.085-8.762 14.632-18.667 28.462-29.248 41.57a572.384 572.384 0 0 1-16.213 19.286l-8.241 9.245-8.168 9.25c-10.93 12.319-21.915 24.936-33.998 36.728a314.736 314.736 0 0 1-38.731 32.343 373.459 373.459 0 0 1-20.948 13.78 357.946 357.946 0 0 1-21.753 12.328c12.455-11.08 24.957-21.916 36.863-33.229 11.941-11.279 23.257-22.964 33.842-35.304 10.596-12.322 20.698-25.239 31.193-38.135 2.603-3.238 5.293-6.415 7.964-9.615 2.671-3.183 5.418-6.41 8.057-9.477 5.314-6.208 10.563-12.445 15.607-18.81 10.083-12.732 19.574-25.81 27.895-39.532 8.304-13.725 15.574-28.012 21.423-42.94a289.39 289.39 0 0 0 7.998-22.721 341.978 341.978 0 0 0 3.33-11.608l0.403-1.498 0.102-0.375 0.026-0.093c0.009-0.039 0.002 0.001 0.02-0.059l0.055-0.179 0.228-0.718 0.897-2.877 1.73-5.779c2.254-7.726 4.402-15.517 6.368-23.453 1.998-7.938 3.735-16.007 5.732-24.329zM822.932 290.223c-3.33 19.547-9.583 38.631-18.054 56.813-8.486 18.183-19.401 35.294-31.819 51.028-12.424 15.755-26.229 30.216-40.597 43.842-7.168 6.592-14.612 12.882-22.511 18.844-3.939 2.983-8.016 5.854-12.26 8.554-4.248 2.697-8.631 5.262-13.38 7.397 2.298-4.671 4.889-8.992 7.58-13.212a197.146 197.146 0 0 1 8.496-12.259c5.923-7.931 12.35-15.483 19.262-22.523 13.745-13.669 27.159-27.496 39.711-41.958 12.563-14.455 24.224-29.585 34.734-45.696 10.567-16.088 19.774-33.202 28.838-50.83z\" fill=\"#d81e06\" p-id=\"9509\"></path><path d=\"M345.965 547.814a554.561 554.561 0 0 1 25.007-24.114c8.562-7.806 17.35-15.363 26.277-22.762 17.879-14.767 36.438-28.729 55.501-41.985 38.164-26.459 78.401-50.008 120.13-70.507 41.727-20.505 84.978-37.926 129.251-51.931 22.144-6.98 44.542-13.115 67.147-18.258 11.308-2.555 22.654-4.9 34.056-6.94a594.59 594.59 0 0 1 34.343-5.212l-32.763 11.264c-10.886 3.781-21.745 7.563-32.546 11.472-21.612 7.778-43.068 15.82-64.323 24.294-42.53 16.878-84.302 35.349-125.282 55.445-40.977 20.104-81.146 41.848-120.515 65.167-19.703 11.632-39.191 23.681-58.536 36.055-19.37 12.348-38.491 25.146-57.747 38.012zM393.713 444.275c9.035-12.098 18.943-23.434 29.211-34.426 10.293-10.968 21.066-21.47 32.155-31.625 22.229-20.251 45.81-38.995 70.375-56.296a759.91 759.91 0 0 1 76.561-47.41c13.221-7.112 26.646-13.838 40.313-20.063 6.844-3.096 13.723-6.107 20.693-8.933a383.03 383.03 0 0 1 21.133-7.977c-11.965 9.213-24.18 17.829-36.34 26.475-12.179 8.606-24.398 17.063-36.577 25.538-24.396 16.885-48.696 33.723-72.875 50.714a5613.08 5613.08 0 0 0-72.171 51.577l-36 26.22-18.112 13.153a989.284 989.284 0 0 1-18.366 13.053zM394.681 318.676c1.69-3.162 3.557-6.145 5.497-9.073 1.928-2.933 3.958-5.767 6.025-8.568 4.152-5.583 8.573-10.903 13.13-16.087 9.161-10.32 19.057-19.883 29.473-28.832 10.428-8.937 21.396-17.241 32.981-24.723a248.85 248.85 0 0 1 17.886-10.531c3.083-1.617 6.188-3.195 9.378-4.66 3.183-1.474 6.417-2.872 9.798-4.069-2.021 2.964-4.184 5.736-6.381 8.455-2.19 2.729-4.453 5.356-6.722 7.967a360.601 360.601 0 0 1-14.071 15.035c-9.607 9.7-19.605 18.857-29.898 27.669-10.304 8.8-20.885 17.27-31.935 25.277-5.548 3.979-11.166 7.897-16.984 11.624-2.919 1.854-5.854 3.696-8.877 5.454-3.01 1.766-6.073 3.497-9.3 5.062z\" fill=\"#d81e06\" p-id=\"9510\"></path><path d=\"M377.385 198.376c7.893 10.171 13.98 21.39 19.39 32.877 2.634 5.773 5.105 11.629 7.288 17.595a208.038 208.038 0 0 1 1.603 4.488c0.557 1.625 1.058 2.91 1.593 4.547 1.024 3.13 1.943 6.208 2.726 9.374 3.157 12.603 4.434 25.751 3.541 38.719a112.472 112.472 0 0 1-3.022 19.212c-1.595 6.292-3.653 12.46-6.732 18.349-1.518-6.472-2.425-12.718-3.378-18.871l-2.668-18.153c-1.728-11.938-3.566-23.616-5.697-35.365l-1.626-8.801a186.252 186.252 0 0 0-0.857-4.471l-0.974-4.493-3.917-18.063c-2.531-12.133-5.235-24.257-7.27-36.944zM400.461 418.669c3.572-0.022 7.066 0.362 10.524 0.96 3.467 0.584 6.87 1.447 10.241 2.477a89.806 89.806 0 0 1 19.348 8.694c12.266 7.308 22.957 17.621 30.989 29.654 8.052 12.031 13.415 25.727 15.745 39.667 1.187 6.97 1.588 14.02 1.273 20.998-0.19 3.494-0.52 6.966-1.107 10.417-0.573 3.448-1.335 6.87-2.48 10.256-1.634-3.18-3.034-6.314-4.417-9.401l-4.055-9.112a633.294 633.294 0 0 0-7.974-17.387c-5.396-11.228-11.132-21.724-17.718-31.604-6.573-9.891-14.004-19.131-22.397-28.158a343.862 343.862 0 0 0-13.311-13.475c-2.33-2.267-4.739-4.505-7.182-6.824-2.453-2.305-4.965-4.626-7.479-7.162zM213.98 674.63s-101.966 69.187-52.733 141.79c0 0 35.523 62.631 161.722 96.598 0 0 144.272 33.34 219.991 29.601 0 0 9.038-1.869-16.203-6.854 0 0-72.877-10.811-146.453-25.862-51.476-10.532-100.322-31.201-122.46-45.183 0 0-129.315-71.046-68.864-149.258 0 0 20.914-32.032 52.056-54.967\" p-id=\"9511\"></path><path d=\"M535.012 942.074s48.847-108.205 75.021-251.542c0 0 17.688-104.204 0-192.57l19.944-7.041s19.941 83.071-3.116 230.147c0 0-20.753 119.558-82.45 220.829\" p-id=\"9512\"></path><path d=\"M542.96 941.841s-1.385 0.233-3.722 0.233c-3.706 0-3.725-1.792-3.725-1.792M165.298 756.591s225.6-62.942 291.66-90.364c0 0 127.756-49.232 165.772-87.871v13.088s-109.256 83.509-222.27 112.177c0 0-131.71 39.884-235.163 59.205v-6.235z\" p-id=\"9513\"></path><path d=\"M224.502 848.203s129.095-167.642 164.884-266.732l25.194-11.84S384.845 679.34 303.65 759.708c0 0-57.958 72.292-74.162 95.351l-4.986-6.856zM501.206 532.861s14.539 90.365-58.479 216.252c0 0-63.669 121.524-102.308 162.034h11.841s63.547-54.22 132.733-205.034c0 0 44.714-112.178 32.958-178.237l-16.745 4.985zM359.115 911.147s196.478-57.505 215.629-65.438v6.232c0 0.001-149.569 59.83-215.629 59.206z\" p-id=\"9514\"></path><path d=\"M581.599 842.594s-136.481-18.072-211.889-88.495c0 0-83.509-62.943-50.167-143.337l-27.733 6.232s-20.566 76.654 39.262 129.626c-0.001 0 87.247 98.466 250.527 95.974zM414.58 567.138s28.667 115.293 199.425 145.207l8.726-3.74s-192.562-64.189-192.562-149.777l-15.589 8.31z\" p-id=\"9515\"></path><path d=\"M235.098 855.059s199.9-66.06 244.919-86.626c0 0 82.264-26.798 142.714-66.059l-4.985 9.971s-56.089 38.639-150.815 75.407c0 0-100.336 41.755-236.819 72.915l4.986-5.608zM519.92 530.369s99.071 59.827 110.913 60.451v-4.363s-96.444-57.958-105.322-64.19l-5.591 8.102zM549.186 219.389s-55.458-79.146-70.416-150.815c0 0-206.281 68.553-194.44 105.322l25.76 12.556 4.154-1.961s-19.942-18.696 48.61-56.089c0 0 66.06-36.146 112.177-51.103 0 0 15.58 108.438 52.973 138.975l21.182 3.115z\" p-id=\"9516\"></path><path d=\"M341.042 134.633l50.526 67.306 24.944 2.493-75.47-76.654z\" p-id=\"9517\"></path><path d=\"M501.206 162.054s-160.164-11.217-153.309-34.276h8.102s136.751 26.976 145.207 25.552v8.724zM456.766 206.301s48.179-37.954 50.048-38.607l-3.116-5.64s-61.386 34.808-72.759 37.658c-11.374 2.851 25.827 6.589 25.827 6.589z\" p-id=\"9518\"></path></svg>",
"driverFiles": "mssql-jdbc-12.6.2.jre11.jar",
"jdbcReferDriver": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"jdbcReferUrl": "jdbc:sqlserver://[ip]:[port];databaseName=[databaseName];encrypt=true;trustServerCertificate=true",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}` : 'dbo';\r\n const tableKey = `${schemaName}.${it.defKey}`;\r\n\r\n const dataTypeArray = [\r\n 'TINYINT',\r\n 'SMALLINT',\r\n 'INT',\r\n 'BIGINT',\r\n 'REAL',\r\n 'DATE',\r\n 'DATETIME',\r\n 'TIMESTAMP',\r\n 'MONEY',\r\n 'BIT',\r\n 'TEXT'\r\n ];\r\n\r\n function getDataType(field) {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(autoIncrement) {\r\n return dbDataType.toUpperCase() === 'BIGINT' ? 'BIGINT IDENTITY(1,1)' : 'INT IDENTITY(1,1)';\r\n }\r\n if(dataTypeArray.includes(dbDataType.toUpperCase())) {\r\n return dbDataType;\r\n }\r\n if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n if(dataLen && dataLen >= 1 && dataLen <= 38) {\r\n if(numScale && numScale >= 0 && numScale <= dataLen) {\r\n return `${dbDataType}(${dataLen},${numScale})`;\r\n } else {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n }\r\n return dbDataType;\r\n }\r\n if(dbDataType.toUpperCase() === 'TIME' && dataLen && dataLen >= 1 && dataLen <= 7) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n if(dbDataType.toUpperCase() === 'FLOAT' && dataLen && dataLen >= 1 && dataLen <= 53) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n if(dataLen && dataLen >= 0) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n return dbDataType;\r\n }\r\n\r\n function getConstraints(field) {\r\n let constraints = '';\r\n if (field.notNull) {\r\n constraints += ' NOT NULL';\r\n }\r\n if (!field.notNull) {\r\n constraints += ' NULL';\r\n }\r\n if (field.defaultValue) {\r\n constraints += ` DEFAULT ${field.defaultValue}`;\r\n }\r\n return constraints;\r\n }\r\n}}\r\n\r\nIF OBJECT_ID('{{= tableKey }}','U') IS NOT NULL \r\n DROP TABLE {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push('[' + field.defKey + ']') }}{{?}} \r\n [{{=field.defKey}}] {{= getDataType(field) }}{{= getConstraints(field) }}{{= index < it.fields.length-1 || pkList.length>0 ? ',' : '' }} \r\n{{~}}\r\n{{? pkList.length > 0 }} PRIMARY KEY ({{= pkList.join(', ')}}){{?}}\r\n);\r\n\r\n{{~it.fields:field:index}}\r\n{{? field.defName || field.intro }}\r\nEXEC sp_addextendedproperty \r\n @name = N'MS_Description', \r\n @value = N'{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}', \r\n @level0type = N'SCHEMA', @level0name = N'{{=schemaName}}', \r\n @level1type = N'TABLE', @level1name = N'{{=it.defKey}}', \r\n @level2type = N'COLUMN', @level2name = N'{{=field.defKey}}';\r\n{{?}}\r\n{{~}}\r\n\r\n{{? it.defName || it.intro }}\r\nEXEC sp_addextendedproperty \r\n @name = N'MS_Description', \r\n @value = N'{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}', \r\n @level0type = N'SCHEMA', @level0name = N'{{=schemaName}}', \r\n @level1type = N'TABLE', @level1name = N'{{=it.defKey}}';\r\n{{?}}\r\n$blankline\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}` : 'dbo';\r\n const tableKey = `${schemaName}.${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nBEGIN\r\nDECLARE @constraint_name NVARCHAR(128);\r\nDECLARE @sql NVARCHAR(MAX);\r\n\r\nSELECT @constraint_name = name\r\nFROM sys.key_constraints\r\nWHERE type = 'PK'\r\n AND OBJECT_NAME(parent_object_id) = '{{=it.defKey}}' \r\n AND SCHEMA_NAME(schema_id) = '{{= schemaName }}';\r\n\r\nIF @constraint_name IS NOT NULL\r\n BEGIN\r\n SET @sql = 'ALTER TABLE {{= tableKey}} DROP CONSTRAINT ' + QUOTENAME(@constraint_name);\r\n EXEC sp_executesql @sql;\r\n END\r\nEND\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY ({{~indexFields:field:i}}{{= field.defKey }}{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nEXEC sp_updateextendedproperty \r\n @name = N'MS_Description', \r\n @value = N'{{=it.func.strJoin(defName, intro, \";\", true)}}', \r\n @level0type = N'SCHEMA', @level0name = N'{{= schemaName }}', \r\n @level1type = N'TABLE', @level1name = N'{{=it.defKey}}';\r\n{{?}}\r\n$blankline\r\n{{? updateKeys.some((item) => item === 'defKey') }}EXEC sp_rename '{{= tableKey }}', '{{=defKey}}'; {{?}}",
"tableDelete": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}` : 'dbo';\r\n const tableKey = `${schemaName}.${it.defKey}`;\r\n}}\r\nIF OBJECT_ID('{{= tableKey }}', 'U') IS NOT NULL \r\n DROP TABLE {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'BIGINT IDENTITY(1,1)' : 'INT IDENTITY(1,1)';\n }\n if(dbDataType.toUpperCase() === 'TINYINT' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'REAL' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DATETIME' ||\n dbDataType.toUpperCase() === 'TIMESTAMP' ||\n dbDataType.toUpperCase() === 'MONEY' ||\n dbDataType.toUpperCase() === 'BIT' ||\n dbDataType.toUpperCase() === 'TEXT') {\n return dbDataType; \n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dbDataType.toUpperCase() === 'TIME' ) {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 7) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 53) ? `(${dataLen})` : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}` : 'dbo';\n const tableKey = `${schemaName}.${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD {{= field.defKey}} {{= finalDataType}}{{? field.notNull}} NOT NULL{{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}};\n{{? field.defName || field.intro }}\nEXEC sp_addextendedproperty \n @name = N'MS_Description', \n @value = N'{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}', \n @level0type = N'SCHEMA', @level0name = N'{{= schemaName }}',\n @level1type = N'TABLE', @level1name = N'{{= it.defKey}}',\n @level2type = N'COLUMN', @level2name = N'{{= field.defKey}}';\n{{?}}\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'BIGINT IDENTITY(1,1)' : 'INT IDENTITY(1,1)';\n }\n if(dbDataType.toUpperCase() === 'TINYINT' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'REAL' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DATETIME' ||\n dbDataType.toUpperCase() === 'TIMESTAMP' ||\n dbDataType.toUpperCase() === 'MONEY' ||\n dbDataType.toUpperCase() === 'BIT' ||\n dbDataType.toUpperCase() === 'TEXT') {\n return dbDataType; \n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= field.dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dbDataType.toUpperCase() === 'TIME' ) {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 7) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 53) ? `(${dataLen})` : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}` : 'dbo';\n const tableKey = `${schemaName}.${it.defKey}`;\n let updateIndexData = it.updateIndexData;\n}}\n{{~updateIndexData:row:index}}\n{{? row?.fieldsUpdate?.length > 0 }}\nIF EXISTS (SELECT * FROM sys.indexes WHERE name = '{{=row.defKey}}' AND object_id = OBJECT_ID('{{= tableKey }}'))\n DROP INDEX {{=row.defKey}} ON {{= tableKey }};\n{{?}}\n{{~}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defaultValue') }}\nBEGIN\n DECLARE @constraint_name NVARCHAR(255);\n\n SELECT @constraint_name = name\n FROM sys.default_constraints\n WHERE parent_object_id = OBJECT_ID('{{= tableKey }}') \n AND parent_column_id = (SELECT column_id FROM sys.columns WHERE object_id = OBJECT_ID('{{= tableKey }}') AND name = '{{= preDefKey }}');\n \n IF @constraint_name IS NOT NULL\n BEGIN\n EXEC('ALTER TABLE {{= tableKey }} DROP CONSTRAINT ' + @constraint_name);\n END\nEND\n{{?}}\n{{? updateKeys.includes('defKey') }}EXEC sp_rename '{{= tableKey }}.{{= preDefKey}}', '{{= nextDefKey}}', 'COLUMN';{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'notNull' || item === 'autoIncrement') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{=finalDataType}}{{? field.notNull}} NOT NULL{{?}};\n{{?}}\n{{? updateKeys.includes('defaultValue') }}ALTER TABLE {{= tableKey }} ADD DEFAULT {{= field.defaultValue}} FOR {{= field.defKey}};{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\nEXEC sp_updateextendedproperty \n @name = N'MS_Description', \n @value = N'{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}', \n @level0type = N'SCHEMA', @level0name = N'{{=schemaName}}', \n @level1type = N'TABLE', @level1name = N'{{=it.defKey}}', \n @level2type = N'COLUMN', @level2name = N'{{=field.defKey}}';\n{{?}}\n{{~}}",
"columnDelete": "{{\r\n let fieldsUpdate = it.fieldsUpdate; \r\n let schemaName = it.schemaName ? `${it.schemaName}` : 'dbo';\r\n const tableKey = `${schemaName}.${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\nBEGIN\r\n DECLARE @constraint_name NVARCHAR(255);\r\n \r\n SELECT @constraint_name = name\r\n FROM sys.default_constraints\r\n WHERE parent_object_id = OBJECT_ID('{{= tableKey }}') \r\n AND parent_column_id = (SELECT column_id FROM sys.columns WHERE object_id = OBJECT_ID('{{= tableKey }}') AND name = '{{= field.defKey }}');\r\n \r\n IF @constraint_name IS NOT NULL\r\n EXEC('ALTER TABLE {{= tableKey }} DROP CONSTRAINT ' + @constraint_name);\r\n IF EXISTS (SELECT * FROM sys.columns WHERE name = '{{=field.defKey}}' AND object_id = OBJECT_ID('{{= tableKey }}'))\r\n ALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\r\nEND\r\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}` : 'dbo';\r\n const tableKey = `${schemaName}.${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\r\n {{~row.fields:field:idx}}\r\n [{{=field.fieldDefKey}}] {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{? row.defName || row.intro }}\r\nEXEC sp_addextendedproperty \r\n @name = N'MS_Description', \r\n @value = N'{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}', \r\n @level0type = N'SCHEMA', @level0name = N'{{= schemaName }}', \r\n @level1type = N'TABLE', @level1name = N'{{= it.defKey }}', \r\n @level2type = N'INDEX', @level2name = N'{{= row.defKey }}';\r\n{{?}}\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}` : 'dbo';\n const tableKey = `${schemaName}.${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nIF EXISTS (SELECT * FROM sys.indexes WHERE name = '{{= preDefKey}}' AND object_id = OBJECT_ID('{{=it.defKey}}'))\nBEGIN\n DROP INDEX {{= preDefKey}} ON {{= tableKey }};\nEND\nGO\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{=it.defKey}} (\n {{~row.fields:field:idx}}\n [{{=field.fieldDefKey}}] {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{? row.defName || row.intro }}\nEXEC sp_addextendedproperty \n @name = N'MS_Description', \n @value = N'{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}', \n @level0type = N'SCHEMA', @level0name = N'{{= schemaName }}', \n @level1type = N'TABLE', @level1name = N'{{= it.defKey }}', \n @level2type = N'INDEX', @level2name = N'{{= row.defKey }}';\n{{?}}\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\r\n let indexesUpdate = it.indexesUpdate; \r\n let schemaName = it.schemaName ? `${it.schemaName}` : 'dbo';\r\n const tableKey = `${schemaName}.${it.defKey}`;\r\n}}\r\n{{~indexesUpdate:row:i}}\r\nIF EXISTS (SELECT * FROM sys.indexes WHERE name = '{{=row.defKey}}' AND object_id = OBJECT_ID('{{= tableKey }}'))\r\nBEGIN\r\n DROP INDEX {{=row.defKey}} ON {{= tableKey }};\r\nEND\r\nGO\r\n{{~}}",
"metaTableQuery": "SELECT\n tab.name AS def_key,\n ep.value AS def_name,\n sch.name AS schema_name\nFROM sys.schemas sch JOIN sys.tables tab ON sch.schema_id = tab.schema_id\n LEFT JOIN sys.extended_properties ep ON tab.object_id = ep.major_id\n AND ep.minor_id = 0\n AND ep.name = 'MS_Description'\n AND ep.class = 1\nWHERE sch.name IN (:schemaName);",
"metaColumnQuery": "SELECT\r\n schema_name = sch.name,\r\n tbl_def_key = tab.name,\r\n order_value = col.column_id,\r\n def_key = col.name,\r\n def_name = ep.value,\r\n intro = '',\r\n db_data_type = t.name,\r\n data_len = IIF(col.max_length = 0, null, col.max_length),\r\n num_scale = IIF(col.scale = 0, null, col.scale),\r\n primary_key = ISNULL((\r\n SELECT\r\n 1\r\n FROM\r\n information_schema.table_constraints AS tc,\r\n information_schema.key_column_usage AS kcu\r\n WHERE tc.constraint_name = kcu.constraint_name\r\n AND tc.constraint_type = 'PRIMARY KEY'\r\n AND tc.table_name = tab.name\r\n AND tc.CONSTRAINT_SCHEMA = sch.name\r\n AND kcu.column_name= col.name\r\n ),0),\r\n not_null= IIF(col.is_nullable = 1, 0, 1),\r\n auto_increment = is_identity,\r\n default_value = ISNULL(REPLACE(REPLACE(dc.definition,'(',''), ')',''),'') -- ISNULL(dc.definition, '')\r\nFROM\r\n sys.schemas sch\r\n INNER JOIN sys.tables tab\r\n ON sch.schema_id = tab.schema_id\r\n INNER JOIN sys.columns col\r\n ON tab.object_id = col.object_id\r\n LEFT JOIN sys.extended_properties ep\r\n ON tab.object_id = ep.major_id\r\n AND col.column_id = ep.minor_id\r\n AND ep.name = 'MS_Description'\r\n AND ep.class = 1\r\n LEFT JOIN sys.types t ON col.system_type_id = t.system_type_id AND col.user_type_id = t.user_type_id\r\n LEFT JOIN sys.default_constraints dc ON dc.object_id = col.default_object_id\r\nwhere sch.name IN (:schemaName) AND CONCAT(sch.name, '.', tab.name) IN (:sysTableNames)\r\nORDER BY sch.name,tbl_def_key, order_value",
"metaIndexQuery": "SELECT\r\n sch.name AS schema_name,\r\n tab.name AS TBL_DEF_KEY,\r\n col.name AS COL_DEF_KEY,\r\n i.name AS DEF_KEY,\r\n ep.value AS def_name,\r\n IIF(i.is_unique = 1, 'UNIQUE', 'NORMAL') AS TYPE,\r\n IIF(ic.is_descending_key = 1, 'DESC', 'ASC') AS SORT_TYPE,\r\n ic.key_ordinal AS ORDER_VALUE,\r\n '' AS INTRO\r\nFROM\r\n sys.schemas sch LEFT JOIN sys.tables tab\r\n ON sch.schema_id = tab.schema_id\r\n LEFT JOIN sys.indexes i\r\n ON i.object_id = tab.object_id\r\n LEFT JOIN sys.index_columns ic\r\n ON i.object_id = ic.object_id AND i.index_id = ic.index_id\r\n LEFT JOIN sys.columns col\r\n ON ic.object_id = col.object_id AND ic.column_id = col.column_id\r\n LEFT JOIN sys.extended_properties ep\r\n ON tab.object_id = ep.major_id\r\n AND i.index_id = ep.minor_id\r\n AND ep.name = 'MS_Description'\r\n AND ep.class = 7\r\nWHERE sch.name in (:schemaName) AND CONCAT(sch.name, '.', tab.name) IN (:sysTableNames) AND is_primary_key = 0 AND i.type IN (1, 2)\r\nORDER BY sch.name,TBL_DEF_KEY, ORDER_VALUE\r\n",
"metaQueryCharset": null,
"orderValue": 3,
"isEnabled": 0,
"id": "BPMCJTYLF2UAC"
},
{
"defKey": "DB2",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M229.418667 859.434667V624.277333h76.672c78.762667 0 117.994667 38.293333 117.994666 114.773334 0 36.266667-10.944 65.621333-33.130666 87.530666-22.186667 21.888-50.56 33.045333-85.333334 33.045334h-76.202666v-0.213334z m47.36-194.282667v153.237333h25.792c22.485333 0 40-7.146667 52.864-21.248 12.842667-14.293333 19.242667-33.322667 19.242666-57.514666 0-23.338667-6.762667-41.621333-20.010666-54.762667-13.44-13.141333-30.677333-19.626667-52.096-19.626667h-25.813334v-0.085333z m184.746666 194.282667V624.277333h78.762667c24.106667 0 42.752 4.864 55.893333 14.570667 13.141333 9.728 19.541333 23.146667 19.541334 40.384 0 12.778667-4.096 24-12.202667 33.536-8.106667 9.514667-18.282667 16.192-30.656 19.904v0.661333c15.424 2.090667 27.904 8.106667 37.418667 18.282667 9.429333 10.197333 14.186667 22.869333 14.186666 38.101333 0 21.418667-7.125333 38.378667-21.525333 51.050667-14.378667 12.650667-33.898667 18.944-58.666667 18.944h-82.773333v-0.277333z m47.232-197.717334v58.197334h22.485334c10.858667 0 19.242667-2.773333 25.514666-8.298667 6.293333-5.525333 9.344-13.141333 9.344-23.04 0-18.005333-12.373333-27.050667-37.248-27.050667l-20.096 0.192z m0 95.701334v64.490666h28.096c11.904 0 21.248-2.965333 27.904-8.746666 6.677333-5.824 10.090667-14.016 10.090667-24.405334 0-9.898667-3.328-17.621333-10.090667-23.146666-6.762667-5.525333-16.192-8.277333-28.586666-8.277334l-27.413334 0.085334z m196.202667 61.333333h94.08v40.874667H651.52v-17.536c0-12.288 2.090667-23.509333 6.4-33.514667 4.266667-10.005333 10.090667-19.626667 17.493333-28.373333 7.530667-8.768 18.986667-18.965333 34.688-30.784 14.378667-11.306667 24.277333-21.418667 30.08-30.08 5.824-8.768 8.576-18.005333 8.576-27.904 0-21.248-10.858667-31.722667-32.661333-31.722667-19.050667 0-37.248 8.106667-54.677333 24.277333V640.213333c19.434667-13.333333 41.066667-19.904 65.344-19.904 22.186667 0 39.722667 5.994667 52.565333 18.005334 12.864 11.989333 19.434667 28.458667 19.434667 49.621333 0 11.797333-1.813333 22.378667-5.610667 31.701333-3.626667 9.429333-9.152 18.282667-16.213333 26.773334-7.04 8.277333-18.261333 18.282667-33.898667 29.994666-14.933333 11.328-25.045333 20.096-30.186667 26.282667-5.12 6.186667-7.893333 11.328-7.893333 16.085333zM85.418667 171.242667h165.056v24.746666H85.418667v-24.746666z m188.48 0v24.746666h235.349333s-24.576-24.746667-55.445333-24.746666H273.92z m282.197333 0v24.96h142.762667l-8.384-24.96h-134.378667z m378.090667 0h-133.034667l-8.384 24.96h141.44v-24.96zM85.418667 219.818667h165.056v24.746666H85.418667v-24.746666z m188.48 24.853333h263.616s-2.474667-19.626667-8.554667-24.768H273.898667v24.746667z m282.197333 0h158.762667l-7.146667-24.853333h-151.616v24.853333z m378.090667 0v-24.853333h-150.101334l-7.317333 24.853333h157.44z m-800.853334 22.186667h71.424v24.746666H133.333333v-24.746666z m188.672 0h71.424v24.746666h-71.424v-24.746666z m141.717334 24.746666h71.424s4.842667-13.12 4.842666-24.746666h-76.373333v24.746666h0.106667z m140.458666-24.746666v24.746666h126.762667l-8.362667-24.746666h-118.4z m156.48 24.746666h128.213334v-24.746666h-119.722667l-8.490667 24.746666zM133.333333 315.157333h71.424v24.768H133.333333v-24.746666z m188.672 24.768h183.509334s14.869333-13.141333 19.733333-24.746666h-203.242667v24.746666z m423.893334-3.712l-6.08-21.056H604.16v24.768h71.445333v-14.293333l4.949334 14.293333h131.904l4.757333-14.293333v14.293333h71.616v-24.746666H753.066667l-7.146667 21.034666zM133.333333 363.434667h71.424v24.746666H133.333333v-24.746666z m188.672 24.96h203.242667c-4.864-11.818667-19.733333-24.768-19.733333-24.768h-183.509334v24.746666z m282.176-24.96h71.445334v24.746666H604.16v-24.746666z m200.768 0H689.066667l8.746666 24.96h98.688l8.469334-24.96z m11.136 0h71.445334v24.746666h-71.445334v-24.746666zM133.333333 411.818667h71.424v24.746666H133.333333v-24.746666z m188.672 0h71.424v24.746666h-71.424v-24.746666z m213.12 0h-71.402666v24.746666h76.373333c-0.106667-11.712-4.949333-24.746667-4.949333-24.746666z m69.056 0h71.445334v24.746666H604.16v-24.746666z m184.768 0h-83.797333l8.661333 24.853333h66.56l8.576-24.853333z m27.136 0h71.445334v24.746666h-71.445334v-24.746666zM86.677333 458.858667h165.034667v24.746666H86.677333v-24.746666z m451.029334 0H273.92v24.746666h255.061333c4.949333-5.12 8.746667-24.746667 8.746667-24.746666z m19.712 0h118.186666v24.746666h-118.186666v-24.746666z m214.101333 0h-50.368l8.746667 24.746666h33.066666l8.554667-24.746666z m44.586667 0h119.509333v24.746666h-119.530667v-24.746666zM86.634667 507.434667H251.733333v24.746666H86.677333v-24.746666z m422.677333 0H273.898667v24.746666h179.904c32-0.085333 55.530667-24.746667 55.530666-24.746666z m48.085333 0h118.186667v24.746666h-118.186667v-24.746666z m189.525334 24.661333l8.874666-24.661333h-18.773333l8.853333 24.661333h1.066667z m69.141333-24.661333h119.530667v24.746666h-119.530667v-24.746666z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"9975\" stroke=\"none\"></path>\n </g>\n </svg>",
"driverFiles": "db2jcc4.jar",
"jdbcReferDriver": "com.ibm.db2.jcc.DB2Driver",
"jdbcReferUrl": "jdbc:db2://[ip]:[port]/[schemaName]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n let dataType = dbDataType.toUpperCase();\r\n if(['NVARCHAR','VARCHAR'].includes(dataType)){\r\n dataType = `${dataType}(${field.dataLen ? field.dataLen : 128})`;\r\n return dataType;\r\n }else if(dataType=='CHAR'){\r\n dataType = field.dataLen && field.dataLen>=0 && field.dataLen <=255 ? `${dataType}(${field.dataLen})`:`${dataType}`;\r\n return dataType;\r\n }else if(dataType=='NCHAR'){\r\n dataType = field.dataLen && field.dataLen>=0 && field.dataLen <=63 ? `${dataType}(${field.dataLen})`:`${dataType}`;\r\n return dataType;\r\n }else if(dataType=='TIMESTAMP'){\r\n dataType = field.dataLen && field.dataLen>=0 && field.dataLen <=12 ? `${dataType}(${field.dataLen})`:`${dataType}`;\r\n return dataType;\r\n }else if(dataType=='DECIMAL'){\r\n return field.dataLen && field.dataLen >= 0 && field.dataLen <= 31 ? (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen ? `${dataType}(${field.dataLen},${field.numScale})` : `${dataType}(${field.dataLen})`) : `${dataType}`;\r\n }else if(['SMALLINT','INTEGER','BIGINT','DOUBLE','DATE','TIME','BOOLEAN','REAL'].includes(dataType)){\r\n return dataType;\r\n }\r\n else{\r\n if(field.dataLen){\r\n return `${dataType}(${field.dataLen})`;\r\n }\r\n else{\r\n return dataType; \r\n }\r\n }\r\n\r\n}\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const defaultNotNull = field.notNull ? ' NOT NULL' : '';\r\n const defaultAutoIncrement = field.autoIncrement ? ' GENERATED ALWAYS AS IDENTITY' : '';\r\n const defaultValue = field.defaultValue ? ` DEFAULT ${field.defaultValue}` : '';\r\n return `${dataType}${defaultNotNull}${defaultAutoIncrement}${defaultValue}${index < it.fields.length - 1 ? ',' : '' }`;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n {{=field.defKey}} {{= getFieldDefinition(field, index, it.fields) }}\r\n{{~}}\r\n{{? pkList.length >0 }}\r\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n);\r\n{{? (it.intro && it.intro !== '') || (it.defName && it.defName !== '') }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n{{?}}\r\n\r\n{{~it.fields:field:index}}\r\n{{? (field.intro && field.intro !== '') || (field.defName && field.defName !== '') }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n$blankline",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY({{~indexFields:field:i}}{{= field.defKey }} {{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}COMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}'; {{?}}\r\n$blankline\r\n{{? updateKeys.some((item) => item === 'defKey') }}RENAME TABLE {{= tableKey }} TO {{= defKey }};{{?}}\r\n",
"tableDelete": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'NVARCHAR') {\r\n return `${dbDataType} (${dataLen ? dataLen : '128'})`; \r\n } else if(dbDataType.toUpperCase() === 'SMALLINT' ||\r\n dbDataType.toUpperCase() === 'INTEGER' ||\r\n dbDataType.toUpperCase() === 'BIGINT' ||\r\n dbDataType.toUpperCase() === 'REAL' ||\r\n dbDataType.toUpperCase() === 'DOUBLE' ||\r\n dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'BOOLEAN' ||\r\n dbDataType.toUpperCase() === 'TIME' ) {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'CHAR') {\r\n return `${dbDataType} ${(dataLen && dataLen > 0 && dataLen <= 255) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'NCHAR') {\r\n return `${dbDataType} ${(dataLen && dataLen > 0 && dataLen <= 63) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 12) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType} ${(dataLen && dataLen > 0 && dataLen <= 31) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\r\n } else if(dataLen && dataLen >= 0) {\r\n return `${dbDataType} (${dataLen})`;\r\n }\r\n return dbDataType;\r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\n{{\r\n const finalDataType = computeDatatype(field);\r\n}}\r\nALTER TABLE {{= tableKey }} ADD {{= field.defKey}} {{= finalDataType}} {{? field.notNull}} NOT NULL{{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}};\r\n{{? field.defName || field.intro }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}",
"columnUpdate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n let updateIndexData = it.updateIndexData;\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'NVARCHAR') {\r\n return `${dbDataType} (${dataLen ? dataLen : '128'})`; \r\n } else if(dbDataType.toUpperCase() === 'SMALLINT' ||\r\n dbDataType.toUpperCase() === 'INTEGER' ||\r\n dbDataType.toUpperCase() === 'BIGINT' ||\r\n dbDataType.toUpperCase() === 'REAL' ||\r\n dbDataType.toUpperCase() === 'DOUBLE' ||\r\n dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'BOOLEAN' ||\r\n dbDataType.toUpperCase() === 'TIME' ) {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'CHAR') {\r\n return `${dbDataType} ${(dataLen && dataLen > 0 && dataLen <= 255) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'NCHAR') {\r\n return `${dbDataType} ${(dataLen && dataLen > 0 && dataLen <= 63) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 12) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType} ${(dataLen && dataLen > 0 && dataLen <= 31) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\r\n } else if(dataLen && dataLen >= 0) {\r\n return `${dbDataType} (${dataLen})`;\r\n }\r\n return dbDataType;\r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~updateIndexData:row:index}}\r\n{{\r\n const fieldsUpdate = row.fieldsUpdate || [];\r\n const preDefKey = row?.baseUpdate?.pre?.defKey;\r\n}}\r\n{{? fieldsUpdate.length > 0 }}\r\nDROP INDEX {{= preDefKey ? preDefKey : row.defKey}};\r\n{{?}}\r\n{{~}}\r\n{{~fieldsUpdate:field:index}}\r\n{{\r\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n const finalDataType = computeDatatype(field);\r\n const preDefKey = field?.baseUpdate?.pre?.defKey;\r\n const nextDefKey = field?.baseUpdate?.next?.defKey;\r\n}}\r\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey }} TO {{= field.defKey }};{{?}}\r\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale') }}\r\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey }} DROP DEFAULT;\r\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey }} SET DATA TYPE {{= finalDataType}};\r\n{{?}}\r\n{{? updateKeys.includes('defaultValue') }}ALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey }} {{? field.defaultValue }} SET {{??}} DROP {{?}} DEFAULT {{? field.defaultValue}} {{= field.defaultValue}} {{?}};{{?}}\r\n{{? updateKeys.includes('notNull') }}ALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey }} {{? field.notNull }} SET {{??}} DROP {{?}} NOT NULL;{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row?.fields?.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{? row.defName || row.intro }}\r\nCOMMENT ON INDEX {{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\r\n{{?}}\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX {{= preDefKey ? preDefKey : row.defKey}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{? (row.defName || row.intro) && row.defKey && row.fields.length > 0}}\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX {{=row.defKey}};\n{{~}}",
"metaTableQuery": "SELECT NAME AS DEF_KEY,\r\n REMARKS AS DEF_NAME,\r\n TRIM(CREATOR) AS SCHEMA_NAME\r\nFROM SYSIBM.SYSTABLES\r\nWHERE TRIM(CREATOR) IN (:schemaName) AND TYPE = 'T'\r\nORDER BY CTIME ASC",
"metaColumnQuery": "select\r\n TRIM(tbcreator) as SCHEMA_NAME,\r\n col.tbname as tbl_def_key,\r\n '' as intro,\r\n col.name as def_key,\r\n remarks as def_name,\r\n col.typename as db_data_type ,\r\n col.length as data_len,\r\n col.scale as num_scale,\r\n CASE WHEN col.keyseq IS NOT NULL THEN (\r\n CASE WHEN col.keyseq = 1 THEN 1 ELSE 0 END\r\n ) ELSE 0 END AS primary_key,\r\n CASE WHEN col.nulls = 'Y' THEN 0 ELSE 1 END AS not_null,\r\n col.default as default_value\r\nfrom sysibm.syscolumns col\r\nwhere TRIM(tbcreator) IN (:schemaName)\r\n and CONCAT(CONCAT(TRIM(tbcreator), '.'), TRIM(tbname)) IN (:sysTableNames)\r\norder by tbcreator,TBL_DEF_KEY, col.COLNO",
"metaIndexQuery": "SELECT\r\n TRIM(i.TABSCHEMA) AS SCHEMA_NAME,\r\n i.TABNAME AS TBL_DEF_KEY,\r\n c.COLNAME AS COL_DEF_KEY,\r\n i.INDNAME AS DEF_KEY,\r\n i.REMARKS AS DEF_NAME,\r\n '' AS INTRO,\r\n CASE\r\n WHEN COLORDER = 'A' THEN 'ASC'\r\n ELSE 'DESC'\r\n END AS SORT_TYPE,\r\n CASE\r\n WHEN i.UNIQUERULE = 'U' THEN 'UNIQUE'\r\n ELSE 'NORMAL'\r\n END AS TYPE,\r\n c.COLSEQ AS ORDER_VALUE\r\nFROM\r\n SYSCAT.INDEXES i\r\n LEFT JOIN SYSCAT.INDEXCOLUSE c\r\n ON i.INDSCHEMA = c.INDSCHEMA AND i.INDNAME = c.INDNAME\r\nWHERE i.TABSCHEMA IN (:schemaName) AND CONCAT(CONCAT(TRIM(i.TABSCHEMA), '.'), TRIM(i.TABNAME)) IN (:sysTableNames) AND i.UNIQUERULE != 'P'\r\nORDER BY i.TABSCHEMA, TBL_DEF_KEY, c.COLSEQ",
"metaQueryCharset": null,
"orderValue": 4,
"isEnabled": 0,
"id": "BPQHC4PNE64AC"
},
{
"defKey": "SQLite",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M884.736 22.528c-44.032-38.912-97.28-23.552-149.504 23.552-8.192 7.168-15.36 14.336-23.552 22.528-12.288 13.312-24.576 27.648-35.84 43.008-12.288-5.12-25.6-8.192-39.936-8.192H199.68c-57.344 0-104.448 47.104-104.448 104.448v436.224c0 57.344 47.104 104.448 104.448 104.448h307.2c4.096 20.48 6.144 34.816 6.144 34.816s0 4.096 1.024 9.216c-2.048 38.912-1.024 79.872 2.048 116.736 4.096 49.152 11.264 91.136 21.504 113.664l6.144-3.072c-14.336-44.032-20.48-102.4-17.408-168.96 4.096-102.4 27.648-225.28 70.656-354.304 73.728-194.56 175.104-350.208 269.312-423.936-86.016 76.8-200.704 325.632-235.52 417.792-38.912 103.424-65.536 199.68-82.944 292.864 28.672-87.04 120.832-123.904 120.832-123.904s45.056-55.296 98.304-135.168c-31.744 7.168-82.944 19.456-100.352 26.624-25.6 11.264-32.768 14.336-32.768 14.336S716.8 515.072 788.48 491.52c96.256-154.624 203.776-373.76 96.256-468.992zM512 475.136c10.24 20.48 18.432 47.104 23.552 66.56 1.024 5.12 2.048 10.24 3.072 14.336 2.048 9.216 3.072 16.384 3.072 16.384l-4.096-12.288c-1.024-2.048-1.024-4.096-2.048-6.144 0-1.024-1.024-2.048-1.024-3.072-6.144-13.312-22.528-41.984-29.696-55.296-6.144 18.432-11.264 34.816-16.384 50.176 20.48 37.888 32.768 102.4 32.768 102.4s-1.024-4.096-6.144-18.432c-4.096-13.312-27.648-53.248-32.768-62.464-9.216 33.792-13.312 57.344-9.216 63.488 5.12 8.192 9.216 21.504 14.336 35.84H199.68c-11.264 0-21.504-9.216-21.504-21.504V207.872c0-11.264 9.216-21.504 21.504-21.504H624.64c-53.248 91.136-95.232 199.68-112.64 288.768z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"33238\" stroke=\"none\"></path>\n </g>\n </svg>",
"driverFiles": "sqlite-jdbc-3.49.1.0.jar",
"jdbcReferDriver": "org.sqlite.JDBC",
"jdbcReferUrl": "jdbc:sqlite:{xxx.db}",
"tableCreate": "DROP TABLE IF EXISTS `{{=it.defKey}}`;\r\nCREATE TABLE `{{=it.defKey}}` (\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey && field.autoIncrement}}\r\n `{{=field.defKey}}` INTEGER PRIMARY KEY AUTOINCREMENT{{= index < it.fields.length-1 ? ',' : '' }}\r\n {{??}}`{{=field.defKey}}` {{=field.dbDataType}}{{?field.dataLen>0}}{{='('}}{{=field.dataLen}}{{?field.numScale>0}}{{=','}}{{=field.numScale}}{{?}}{{=')'}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT',field.defaultValue,' ') : '' }}{{= index < it.fields.length-1 ? ',' : '' }} {{?}}\r\n{{~}}\r\n);\r\n$blankline\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n const tableKey = `${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\r\n\r\n const computeDefaultValue = (field) => {\r\n const { defaultValue } = field;\r\n if(!defaultValue) {\r\n return '';\r\n }\r\n return `DEFAULT ${defaultValue}`;\r\n };\r\n \r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n return `${dbDataType}`;\r\n };\r\n const tableKey = `${it.defKey}`;\r\n const fieldsUpdate = it.fieldsUpdate;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\nALTER TABLE {{= tableKey }} ADD COLUMN `{{=field.defKey}}` {{=computeDatatype(field)}} {{= field.notNull ? 'NOT NULL' : '' }} {{= computeDefaultValue(field)}};\r\n{{~}}",
"columnUpdate": "{{\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue } = field;\n if(!dbDataType) {\n return '';\n }\n return `${dbDataType}`;\n };\n let fieldsUpdate = it.fieldsUpdate;\n const tableKey = `${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\nALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey || field.defKey}} {{= nextDefKey || field.defKey}} {{= finalDataType}};\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n const tableKey = `${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE INDEX {{=row.defKey}} ON {{=it.defKey}} (\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX IF EXISTS {{? preDefKey}} {{= preDefKey}}{{??}} {{=row.defKey}}{{?}};\n{{? row.fields.length && row.fields.length === 1 && row.defKey}}\nCREATE INDEX {{=row.defKey}} ON {{=it.defKey}} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX IF EXISTS {{=row.defKey}};\n{{~}}",
"metaTableQuery": "SELECT tbl_name AS def_key\r\nfrom sqlite_master\r\nWHERE type = 'table';",
"metaColumnQuery": "SELECT\r\n '' AS schema_name,\r\n tbl_name AS tbl_def_key,\r\n c.name AS def_key,\r\n CASE\r\n WHEN INSTR(c.type, '(') > 0 THEN SUBSTR(c.type, 1, INSTR(c.type, '(') - 1) ELSE c.type\r\n END AS db_data_type,\r\n c.`notnull` AS not_null,\r\n c.pk AS primary_key,\r\n c.dflt_value AS default_value,\r\n CASE\r\n WHEN INSTR(c.type, '(') > 0 THEN\r\n CASE \r\n WHEN INSTR(c.type, ',') > 0 THEN CAST(SUBSTR(c.type, INSTR(c.type, '(') + 1, INSTR(c.type, ',') - INSTR(c.type, '(') - 1) AS INTEGER)\r\n ELSE CAST(SUBSTR(c.type, INSTR(c.type, '(') + 1, INSTR(c.type, ')') - INSTR(c.type, '(') - 1) AS INTEGER) \r\n END ELSE NULL\r\n END AS data_len,\r\n CASE\r\n WHEN INSTR(c.type, ',') > 0 THEN CAST(SUBSTR(c.type, INSTR(c.type, ',') + 1, INSTR(c.type, ')') - INSTR(c.type, ',') - 1) AS INTEGER)\r\n ELSE NULL\r\n END AS num_scale\r\nFROM sqlite_master AS t,\r\n pragma_table_info(t.name) AS c\r\nWHERE t.type = 'table'\r\nORDER BY tbl_def_key ASC;",
"metaIndexQuery": "WITH input AS (\r\n SELECT\r\n seqno,\r\n '' AS SCHEMA_NAME,\r\n t.tbl_name AS TBL_DEF_KEY,\r\n t.name AS DEF_KEY,\r\n c.name AS COL_DEF_KEY,\r\n '\"' || c.name || '\"' AS targetName,\r\n SUBSTR(t.sql, instr(t.sql , '(')) AS targetSQL\r\n FROM sqlite_master AS t,\r\n pragma_index_info(t.name) AS c\r\n WHERE t.type = 'index'\r\n),\r\npositions AS (\r\n SELECT\r\n *,\r\n INSTR(targetSQL, targetName) AS start_pos\r\n FROM input\r\n),\r\ndelimiters AS (\r\n SELECT\r\n *,\r\n INSTR(SUBSTR(targetSQL, start_pos), ',') AS comma_pos,\r\n INSTR(SUBSTR(targetSQL, start_pos), ')') AS paren_pos\r\n FROM positions\r\n),\r\nlimits AS (\r\n SELECT\r\n *,\r\n CASE\r\n WHEN comma_pos > 0 AND (paren_pos = 0 OR comma_pos < paren_pos) THEN comma_pos\r\n WHEN paren_pos > 0 THEN paren_pos\r\n ELSE LENGTH(SUBSTR(targetSQL, start_pos)) + 1\r\n END AS end_relative_pos\r\n FROM delimiters\r\n)\r\nSELECT \r\n SCHEMA_NAME,\r\n TBL_DEF_KEY,\r\n DEF_KEY,\r\n COL_DEF_KEY,\r\n CASE\r\n WHEN instr(SUBSTR(targetSQL, start_pos, end_relative_pos - 1), 'DESC') > 0 THEN 'DESC'\r\n WHEN instr(SUBSTR(targetSQL, start_pos, end_relative_pos - 1), 'ASC') > 0 THEN 'ASC'\r\n ELSE NULL\r\n END AS SORT_TYPE\r\nFROM limits\r\nORDER BY tbl_def_key ASC, DEF_KEY ASC, seqno ASC;",
"metaQueryCharset": null,
"orderValue": 5,
"isEnabled": 0,
"id": "BPQHDDPPE64AB"
},
{
"defKey": "GaussDB",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M563.105681 965.827899l-4.653769 1.861507a114.482694 114.482694 0 0 1-46.53768 9.772913 121.928723 121.928723 0 0 1-53.518333-11.63442L238.505358 837.849277h-93.075361l289.92975 167.535651 5.351833 2.792261a169.164469 169.164469 0 0 0 148.222513-2.792261L878.863844 837.849277h-93.075362zM977.291038 325.004037a162.881882 162.881882 0 0 0-74.460289-125.419049L588.701405 18.55341 581.720753 15.063084a168.699092 168.699092 0 0 0-146.593694 3.490326L120.997714 199.584988 116.343946 202.609937a162.881882 162.881882 0 0 0-69.806521 127.745933V605.160874h46.537681V325.93479a121.928723 121.928723 0 0 1 53.518333-86.094709l314.129344-181.496954 4.653768-2.094196A110.526992 110.526992 0 0 1 511.914232 46.708707a121.230658 121.230658 0 0 1 53.518333 11.63442l314.129344 181.496954 3.723014 2.094196a121.928723 121.928723 0 0 1 49.795319 88.654282L930.753358 605.160874h46.53768V325.93479zM164.975823 816.209256a139.613042 139.613042 0 0 1-32.809065 3.955703 88.188905 88.188905 0 0 1-46.537681-11.63442 76.787173 76.787173 0 0 1-29.318739-32.809065A116.344202 116.344202 0 0 1 46.537425 727.554974a107.967419 107.967419 0 0 1 11.634421-51.889514 77.485238 77.485238 0 0 1 32.110999-33.739818 93.075361 93.075361 0 0 1 46.537681-11.169043 99.590637 99.590637 0 0 1 29.784115 3.723014 118.205709 118.205709 0 0 1 26.061102 10.005601l-6.515276 13.495928a119.369151 119.369151 0 0 0-23.26884-9.307536 86.792774 86.792774 0 0 0-25.595724-3.257638 72.83147 72.83147 0 0 0-38.626275 9.540225 65.385441 65.385441 0 0 0-26.29379 28.155296 93.075361 93.075361 0 0 0-9.540224 44.443485A102.150209 102.150209 0 0 0 69.806266 768.042756a63.756622 63.756622 0 0 0 23.26884 28.155297 72.133405 72.133405 0 0 0 39.789717 10.23829 154.5051 154.5051 0 0 0 23.26884-2.326884 191.967933 191.967933 0 0 0 23.268841-6.980652v-47.933811H130.770627v-14.193993h65.61813v69.806521a137.286158 137.286158 0 0 1-31.412934 11.401732z m112.388498-77.950615a69.806521 69.806521 0 0 0-46.53768 11.867108 39.557029 39.557029 0 0 0-14.193993 31.412935 42.581978 42.581978 0 0 0 5.119145 21.174645 32.111 32.111 0 0 0 14.193993 13.03055 51.656826 51.656826 0 0 0 21.174644 4.42108 63.756622 63.756622 0 0 0 27.922609-6.282587 69.806521 69.806521 0 0 0 20.941956-15.822811v10.238289a23.26884 23.26884 0 0 0 0 9.540225h13.495927v-81.208253a80.975564 80.975564 0 0 0-5.81721-34.205195 36.066702 36.066702 0 0 0-16.288188-17.917007 53.98371 53.98371 0 0 0-25.595724-5.351834 88.421593 88.421593 0 0 0-25.828413 3.257638 71.202651 71.202651 0 0 0-19.313137 6.980652l3.257637 12.332486a89.817724 89.817724 0 0 1 18.615072-6.980653 72.83147 72.83147 0 0 1 21.174645-3.024949 32.809065 32.809065 0 0 1 25.595724 9.540225 48.166499 48.166499 0 0 1 8.609471 33.739818v5.351834a182.660397 182.660397 0 0 0-26.526478-2.094196z m27.68992 46.537681a55.612528 55.612528 0 0 1-11.401731 10.703666 81.906318 81.906318 0 0 1-16.288189 8.144094 67.246949 67.246949 0 0 1-17.917007 3.024949 30.947558 30.947558 0 0 1-20.011202-6.515275 26.29379 26.29379 0 0 1-6.747964-18.615072 27.68992 27.68992 0 0 1 10.23829-23.26884 57.008659 57.008659 0 0 1 36.299391-9.074848 162.881882 162.881882 0 0 1 26.061101 1.628819z m59.568232-102.848275v85.862021a47.701123 47.701123 0 0 0 7.678717 30.016804 26.29379 26.29379 0 0 0 21.640021 9.307536 48.864565 48.864565 0 0 0 24.89766-6.980652 86.094709 86.094709 0 0 0 21.407333-17.218942V681.948047h14.892057v101.452144c0 9.540225 0 20.941956 1.163442 34.437884H442.107711c0-3.490326-1.39613-10.470978-2.559573-20.941957a112.853876 112.853876 0 0 1-23.26884 16.986254 58.870166 58.870166 0 0 1-26.759166 6.282587 37.230145 37.230145 0 0 1-30.947558-12.797862 62.360492 62.360492 0 0 1-9.540224-38.858964V681.948047z m173.120172 118.438398a23.26884 23.26884 0 0 0 8.842159-18.847761 20.476579 20.476579 0 0 0-3.955703-12.332485 26.29379 26.29379 0 0 0-10.470978-8.376783 151.945527 151.945527 0 0 0-19.778514-9.074848 209.419563 209.419563 0 0 1-20.47658-10.005601 44.210797 44.210797 0 0 1-11.867108-11.867109 30.482181 30.482181 0 0 1-3.955703-16.055499 33.50713 33.50713 0 0 1 4.886456-18.382384 30.249492 30.249492 0 0 1 14.426681-12.099797 53.518333 53.518333 0 0 1 23.268841-4.188392 85.862021 85.862021 0 0 1 37.928209 9.074848l-3.490326 11.867109a70.969963 70.969963 0 0 0-33.739818-8.376783 32.809065 32.809065 0 0 0-21.174645 5.584522 18.149695 18.149695 0 0 0-7.446029 15.357435 17.218942 17.218942 0 0 0 3.723015 10.936354 34.90326 34.90326 0 0 0 9.772913 7.678718l18.84776 8.609471a139.613042 139.613042 0 0 1 20.47658 10.005601 35.368637 35.368637 0 0 1 12.565173 11.63442 31.645623 31.645623 0 0 1 4.886457 18.382384 36.299391 36.299391 0 0 1-23.26884 35.368637 65.850818 65.850818 0 0 1-26.759167 4.886457 100.288702 100.288702 0 0 1-20.476579-2.094196 116.344202 116.344202 0 0 1-17.218942-5.81721l4.188391-12.797862a77.950615 77.950615 0 0 0 16.0555 5.81721 120.067216 120.067216 0 0 0 18.382384 2.094196 40.720471 40.720471 0 0 0 25.828413-6.980652z m93.075361 0a23.26884 23.26884 0 0 0 8.842159-18.847761 20.941956 20.941956 0 0 0-3.723014-12.332485 26.991855 26.991855 0 0 0-10.703667-8.376783 151.945527 151.945527 0 0 0-19.778514-9.074848 209.419563 209.419563 0 0 1-20.47658-10.005601 44.210797 44.210797 0 0 1-11.867108-11.867109 32.809065 32.809065 0 0 1-3.955703-16.055499 33.50713 33.50713 0 0 1 4.886456-18.382384 30.249492 30.249492 0 0 1 14.426681-12.099797 53.518333 53.518333 0 0 1 23.268841-4.188392 85.862021 85.862021 0 0 1 37.92821 9.074848l-3.490327 11.867109a70.969963 70.969963 0 0 0-33.739818-8.376783 32.809065 32.809065 0 0 0-21.174645 5.584522 18.149695 18.149695 0 0 0-7.446029 15.357435 17.218942 17.218942 0 0 0 3.723015 10.936354 34.90326 34.90326 0 0 0 9.772913 7.678718l18.84776 8.609471a141.241861 141.241861 0 0 1 20.709268 10.005601 34.670572 34.670572 0 0 1 12.332486 11.63442 31.645623 31.645623 0 0 1 4.886456 18.382384 36.299391 36.299391 0 0 1-23.26884 35.368637 65.850818 65.850818 0 0 1-26.759167 4.886457 100.288702 100.288702 0 0 1-20.476579-2.094196 116.344202 116.344202 0 0 1-17.218942-5.81721l4.188391-12.797862a77.950615 77.950615 0 0 0 16.0555 5.81721 120.067216 120.067216 0 0 0 18.382384 2.094196 40.720471 40.720471 0 0 0 25.828413-6.980652z m43.978108 17.45163h57.706724a101.684832 101.684832 0 0 0 50.726072-13.030551 86.327398 86.327398 0 0 0 33.739818-34.670572 104.709781 104.709781 0 0 0 11.634421-50.726072 93.075361 93.075361 0 0 0-11.169044-46.53768 68.410391 68.410391 0 0 0-32.343688-28.853362 120.067216 120.067216 0 0 0-50.95876-10.005602H674.796114z m31.645623-159.158868h26.061101a66.316195 66.316195 0 0 1 48.1665 15.590123 62.127804 62.127804 0 0 1 16.288188 46.537681 86.094709 86.094709 0 0 1-7.678718 37.230144 57.008659 57.008659 0 0 1-23.26884 25.363036 69.806521 69.806521 0 0 1-36.532079 9.307536h-23.268841z m248.743903 68.177702a51.424137 51.424137 0 0 0-23.26884-7.911406 49.795318 49.795318 0 0 0 23.26884-15.590123 40.255094 40.255094 0 0 0 9.307536-27.457231 36.997456 36.997456 0 0 0-14.426681-30.947558 69.806521 69.806521 0 0 0-42.581978-11.401732h-56.543282v184.289216h59.80092a87.723528 87.723528 0 0 0 35.368637-6.282587 51.424137 51.424137 0 0 0 23.26884-18.149696 46.537681 46.537681 0 0 0 7.911406-28.387985 44.676173 44.676173 0 0 0-5.584521-23.26884 40.953159 40.953159 0 0 0-16.520877-14.892058z m-73.296847-69.806521h20.941956a40.720471 40.720471 0 0 1 23.268841 5.584522 18.847761 18.847761 0 0 1 8.144094 16.753565 27.457232 27.457232 0 0 1-3.490326 15.822811 31.412934 31.412934 0 0 1-11.401732 10.703667 40.720471 40.720471 0 0 1-17.45163 3.955703h-20.011203z m53.052956 128.909376a46.537681 46.537681 0 0 1-29.318739 7.911405h-23.26884v-61.429738h21.174644a48.399188 48.399188 0 0 1 30.947558 7.911406 30.249492 30.249492 0 0 1 0 46.53768zM581.720753 248.914929l-75.391043 46.537681a18.149695 18.149695 0 0 0-4.653768 3.723014 26.061101 26.061101 0 0 0-9.772913 23.734217 21.640021 21.640021 0 0 1-5.81721-6.282587v-27.922608a39.091652 39.091652 0 0 1 10.470978-10.005601L581.720753 227.042219l97.496441 59.80092a44.908862 44.908862 0 0 1 10.936355 10.005601v27.457232a32.809065 32.809065 0 0 1-10.936355 10.238289l-151.712839 93.075362a64.221999 64.221999 0 0 1-62.127804 0l-151.945527-93.075362a32.343688 32.343688 0 0 1-10.470978-9.772913v-27.922608a35.135949 35.135949 0 0 1 10.470978-9.772913l151.945527-93.075361a59.568231 59.568231 0 0 1 30.947558-7.911406v18.382384a44.676173 44.676173 0 0 0-21.174645 5.351833l-151.945527 93.075362c-3.955703 2.559572-6.282587 5.351833-6.282587 7.911405s2.326884 5.584522 6.282587 8.144094l151.945527 93.075362a46.537681 46.537681 0 0 0 42.34929 0l151.712838-93.075362c4.188391-2.559572 6.282587-5.351833 6.282587-8.144094s-2.094196-5.351833-6.282587-7.911405L581.720753 248.914929M302.494669 400.395079a32.343688 32.343688 0 0 0 10.470978 9.772913L465.376551 502.079912a57.474036 57.474036 0 0 0 30.947558 7.911405 58.404789 58.404789 0 0 0 30.482181-7.911405l151.712839-93.075362a28.155297 28.155297 0 0 0 10.703666-10.238289v-24.89766a16.0555 16.0555 0 0 1-9.307536 13.263239l-10.470978 6.747964-97.72913 59.568231-24.66497 15.357435-29.086051 16.986253a46.537681 46.537681 0 0 1-42.349289 0l-29.551427-18.149695-133.563144-81.440941a16.520877 16.520877 0 0 1-8.842159-12.099797z m0 73.994913a33.041753 33.041753 0 0 0 10.470978 10.005601L465.376551 578.867085a65.850818 65.850818 0 0 0 30.947558 7.911405 65.152753 65.152753 0 0 0 30.482181-7.911405l151.712839-93.075362a34.437884 34.437884 0 0 0 10.703666-10.238289v-27.457232a16.986253 16.986253 0 0 1-9.307536 13.263239l-10.470978 6.515275-97.72913 59.80092-24.66497 15.124746-29.086051 17.917007a46.537681 46.537681 0 0 1-42.349289 0l-29.551427-18.149695-133.563144-80.044811a17.45163 17.45163 0 0 1-8.842159-12.332485z\" p-id=\"20622\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n </g>\n </svg>",
"driverFiles": "opengauss-jdbc-5.1.0.jar",
"jdbcReferDriver": "org.postgresql.Driver",
"jdbcReferUrl": "jdbc:postgresql://[ip]:[port]/[database]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n function addField(field, pkList) {\r\n let fieldStr = `${field.defKey} ${field.dbDataType}`;\r\n if (field.autoIncrement) {\r\n fieldStr =`${field.defKey}${field.dbDataType?.toUpperCase() === 'BIGINT' ? ' BIGSERIAL' : ' SERIAL'}`;\r\n } else {\r\n if (['CHAR', 'CHARACTER', 'NCHAR', 'VARCHAR', 'VARCHAR2', 'NVARCHAR2', 'CHARACTER VARYING'].includes(field.dbDataType?.toUpperCase())) {\r\n if (field.dataLen && field.dataLen >= 1) {\r\n fieldStr += `(${field.dataLen})`;\r\n }\r\n } else if (field.dbDataType?.toUpperCase() === 'TIMESTAMP') {\r\n if (field.dataLen && field.dataLen >= 0 && field.dataLen <= 6) {\r\n fieldStr += `(${field.dataLen})`;\r\n }\r\n } else if (field.dbDataType?.toUpperCase() === 'NUMERIC' || field.dbDataType?.toUpperCase() === 'DECIMAL') {\r\n if (field.dataLen && field.dataLen >= 1 && field.dataLen <= 1000) {\r\n if (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen) {\r\n fieldStr += `(${field.dataLen},${field.numScale})`;\r\n } else {\r\n fieldStr += `(${field.dataLen})`;\r\n }\r\n }\r\n }\r\n }\r\n if (field.notNull) {\r\n fieldStr += ' NOT NULL';\r\n }\r\n if (!field.notNull) {\r\n fieldStr += ' NULL';\r\n }\r\n if (field.defaultValue) {\r\n fieldStr += ` DEFAULT ${field.defaultValue}`;\r\n }\r\n if (field.primaryKey) {\r\n pkList.push(field.defKey);\r\n }\r\n return `${fieldStr}${index < it.fields.length - 1 || pkList.length > 0 ? ',' : ''}`;\r\n }\r\n}}\r\n\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{= addField(field, pkList) }}{{~}}{{? pkList.length > 0 }}\r\n PRIMARY KEY ({{= pkList.join(', ')}}) {{?}}\r\n);\r\n$blankline{{~it.fields:field:index}}{{? field.defName || field.intro }}COMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'\r\n{{?}}\r\n{{~}}\r\n\r\n{{? it.defName || it.intro }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n{{?}}",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nDO $$\r\n DECLARE\r\n pk_constraint_name text;\r\n BEGIN\r\n SELECT constraint_name\r\n INTO pk_constraint_name\r\n FROM information_schema.table_constraints\r\n WHERE table_name = '{{=it.defKey}}' AND constraint_type = 'PRIMARY KEY' {{? it.schemaName }} AND constraint_schema = '{{= it.schemaName }}' {{?}}\r\n LIMIT 1;\r\n\r\n IF pk_constraint_name IS NOT NULL THEN\r\n EXECUTE 'ALTER TABLE {{= tableKey }} DROP CONSTRAINT ' || pk_constraint_name;\r\n ELSE\r\n RAISE NOTICE 'No primary key constraint found for the table.';\r\n END IF;\r\nEND $$;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY ({{~indexFields:field:i}}{{= field.defKey }}{{= i < indexFields.length-1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}COMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}'; {{?}}\r\n$blankline\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}}; {{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};\n$blankline",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'BIGSERIAL' : 'SERIAL';\n }\n if(dbDataType.toUpperCase() === 'INT2' ||\n dbDataType.toUpperCase() === 'INT4' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'INT8' ||\n dbDataType.toUpperCase() === 'SERIAL2' ||\n dbDataType.toUpperCase() === 'SERIAL4' ||\n dbDataType.toUpperCase() === 'SERIAL8' ||\n dbDataType.toUpperCase() === 'FLOAT4' ||\n dbDataType.toUpperCase() === 'FLOAT8' ||\n dbDataType.toUpperCase() === 'MONEY' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BYTEA' ||\n dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'JSONB' ||\n dbDataType.toUpperCase() === 'JSON' ||\n dbDataType.toUpperCase() === 'DATE') {\n return dbDataType;\n }\n if(dbDataType.toUpperCase() === 'DECIMAL') {\n if(dataLen && dataLen >= 1 && dataLen <= 1000) {\n if(numScale && numScale >= 0 && numScale <= dataLen) {\n return `${dbDataType}(${dataLen},${numScale})`;\n } else {\n return `${dbDataType}(${dataLen})`;\n }\n }\n return dbDataType;\n }\n if(dataLen && dataLen >= 0) {\n return `${dbDataType}(${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD COLUMN {{= field.defKey }} {{= finalDataType }} {{? field.notNull }} NOT NULL{{?}};\n{{? field.defName || field.intro }}\nCOMMENT ON COLUMN {{= tableKey }}.{{= field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{? field.defaultValue !== null && field.defaultValue !== undefined && field.defaultValue !== ''}}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey }} SET DEFAULT {{=field.defaultValue}};\n{{?}}\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'BIGSERIAL' : 'SERIAL';\n }\n if(dbDataType.toUpperCase() === 'INT2' ||\n dbDataType.toUpperCase() === 'INT4' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'INT8' ||\n dbDataType.toUpperCase() === 'SERIAL2' ||\n dbDataType.toUpperCase() === 'SERIAL4' ||\n dbDataType.toUpperCase() === 'SERIAL8' ||\n dbDataType.toUpperCase() === 'FLOAT4' ||\n dbDataType.toUpperCase() === 'FLOAT8' ||\n dbDataType.toUpperCase() === 'MONEY' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BYTEA' ||\n dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'JSONB' ||\n dbDataType.toUpperCase() === 'JSON' ||\n dbDataType.toUpperCase() === 'DATE') {\n return dbDataType;\n }\n if(dbDataType.toUpperCase() === 'DECIMAL') {\n if(dataLen && dataLen >= 1 && dataLen <= 1000) {\n if(numScale && numScale >= 0 && numScale <= dataLen) {\n return `${dbDataType}(${dataLen},${numScale})`;\n } else {\n return `${dbDataType}(${dataLen})`;\n }\n }\n return dbDataType;\n }\n if(dataLen && dataLen >= 0) {\n return `${dbDataType}(${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey}} TO {{= nextDefKey}};{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'autoIncrement') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} TYPE {{=finalDataType}} USING \"{{= field.defKey}}\"::{{=finalDataType}};\n{{?}}\n{{? updateKeys.includes('notNull') }}ALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{? field.notNull }} SET {{??}} DROP {{?}} NOT NULL;{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\nCOMMENT ON COLUMN {{= tableKey }}.{{= field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{? updateKeys.includes('defaultValue') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{? field.defaultValue }} SET DEFAULT {{=field.defaultValue}} {{??}} DROP DEFAULT {{?}};\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}ALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{? (row.defName || row.intro) && row.defKey && row.fields.length > 0}}\r\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX IF EXISTS {{= schemaName }}{{? preDefKey}}{{= preDefKey}}{{??}}{{=row.defKey}}{{?}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}} {{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{? (row.defName || row.intro) && row.defKey && row.fields.length > 0}}\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\n{{?}}\n{{??}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') && row.fields.length > 0}}\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}DROP INDEX IF EXISTS {{= schemaName }}{{=row.defKey}};{{~}}",
"metaTableQuery": "SELECT\r\n tb.TABLE_NAME as def_key,\r\n d.description as def_name,\r\n tb.table_schema as schema_name\r\nFROM\r\n information_schema.tables tb\r\n JOIN pg_class C ON C.relname = tb.TABLE_NAME\r\n JOIN pg_namespace n ON tb.table_schema = n.nspname AND c.relnamespace = n.oid\r\n LEFT JOIN pg_description d ON d.objoid = C.oid\r\n AND d.objsubid = '0'\r\nWHERE\r\n tb.table_schema IN (:schemaName)",
"metaColumnQuery": "SELECT\r\n col.table_schema as schema_name,\r\n col.TABLE_NAME AS tbl_def_key,\r\n col.ordinal_position AS order_value,\r\n col.COLUMN_NAME AS def_key,\r\n d.description AS def_name,\r\n\t\t'' AS intro,\r\n col.udt_name AS db_data_type,\r\n\t\tCASE WHEN col.character_maximum_length IS NULL AND col.numeric_precision IS NOT NULL THEN col.numeric_precision\r\n\t\t ELSE col.character_maximum_length\r\n\t\tEND AS data_len,\r\n\t\tCASE WHEN col.numeric_precision IS NOT NULL THEN (CASE WHEN col.numeric_scale = 0 THEN NULL ELSE col.numeric_scale END)\r\n\t\t\t\tELSE NULL\r\n\t\tEND AS num_scale,\r\n CASE WHEN kc.column_name IS NOT NULL THEN 1 ELSE 0 END AS primary_key,\r\n CASE WHEN col.IS_NULLABLE = 'NO' THEN 1 ELSE 0 END AS not_null,\r\n CASE WHEN col.COLUMN_DEFAULT LIKE 'nextval%' THEN 1 ELSE 0 END AS auto_increment,\r\n CASE\r\n WHEN strpos(col.column_default, concat('::',col.data_type)) = 0 THEN (CASE\r\n WHEN col.column_default LIKE 'nextval%' THEN ''\r\n ELSE col.column_default\r\n END)\r\n ELSE substr(col.column_default,0,strpos(col.column_default, concat('::',col.data_type))-1)\r\n END AS default_value\r\n\t ---\tsubstr(col.column_default,0,strpos(col.column_default, concat('::',col.data_type))) AS default_value\r\nFROM\r\n information_schema.COLUMNS col LEFT JOIN (information_schema.key_column_usage kc LEFT JOIN information_schema.table_constraints tc\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tON\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkc.constraint_name = tc.constraint_name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand tc.constraint_type = 'PRIMARY KEY'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand kc.table_schema=tc.table_schema\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand kc.table_name=tc.table_schema\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ON\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcol.TABLE_NAME = kc.table_name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND col.COLUMN_NAME = kc.column_name AND kc.table_schema = col.table_schema\r\nLEFT JOIN pg_class C ON C.relname = col.TABLE_NAME\r\nLEFT JOIN pg_namespace n ON col.table_schema = n.nspname AND c.relnamespace = n.oid\r\nLEFT JOIN pg_description d ON d.objoid = C.oid AND d.objsubid = col.ordinal_position\r\nWHERE\r\n col.table_schema IN (:schemaName)\r\n AND nspName IN (:schemaName)\r\n AND CONCAT(col.table_schema, '.', col.TABLE_NAME) IN (:sysTableNames)\r\nORDER BY\r\n\tcol.table_schema asc, col.TABLE_NAME asc,col.ordinal_position ASC\r\n",
"metaIndexQuery": "SELECT\r\n n.nspname AS schema_name,\r\n c1.relname AS tbl_def_key,\r\n a.attname AS col_def_key,\r\n c2.relname AS def_key,\r\n s.conname AS intro,\r\n d.description AS def_name,\r\n x.indoption ,\r\n CASE\r\n WHEN array_length(x.indoption, 1) > 2 THEN (CASE WHEN x.indoption[1] & 2 <> 0 THEN 'DESC' ELSE 'ASC' END )\r\n ELSE (CASE\r\n WHEN x.indoption[0] > 0 THEN 'DESC'\r\n ELSE 'ASC'\r\n END\r\n )\r\n END AS sort_type,\r\n --CASE WHEN x.indoption[1] & 2 <> 0 THEN 'DESC' ELSE 'ASC' END AS sort_type,\r\n CASE WHEN x.indisunique THEN 'UNIQUE' ELSE 'NORMAL' END AS type\r\n\r\nFROM pg_index x\r\n lEFT JOIN pg_class c1 ON c1.oid = x.indrelid\r\n lEFT JOIN pg_class c2 ON c2.oid = x.indexrelid\r\n lEFT JOIN pg_namespace n ON n.oid = c1.relnamespace\r\n LEFT JOIN pg_description d ON c2.oid = d.objoid\r\n lEFT JOIN pg_attribute a ON a.attrelid = c1.oid AND a.attnum = ANY(x.indkey)\r\n LEFT JOIN pg_constraint s ON s.conrelid = x.indrelid AND s.conindid = x.indexrelid\r\nWHERE n.nspname in (:schemaName) AND indisprimary = 0\r\nAND CONCAT(n.nspname, '.', c1.relname) IN (:sysTableNames)\r\nORDER BY n.nspname,tbl_def_key, def_key",
"metaQueryCharset": null,
"orderValue": 6,
"isEnabled": 0,
"id": "BPMCJTYLY5UAC"
},
{
"defKey": "DaMeng",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 520.000000 420.000000\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n \n\n<g transform=\"translate(0.000000,420.000000) scale(0.100000,-0.100000)\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" stroke=\"none\">\n<path d=\"M3480 4024 c-162 -8 -389 -49 -595 -106 -104 -28 -125 -38 -125 -59\n0 -10 -4 -20 -9 -23 -5 -3 -11 -18 -14 -33 -3 -16 -16 -73 -30 -128 -44 -177\n-51 -233 -50 -425 0 -155 4 -200 22 -275 24 -97 26 -104 62 -180 52 -112 119\n-193 209 -254 95 -64 160 -88 300 -111 186 -29 379 -82 490 -133 176 -81 302\n-200 377 -357 44 -90 82 -239 114 -442 6 -43 15 -78 19 -78 10 0 156 154 236\n250 134 161 217 276 310 430 58 95 184 356 184 380 0 6 4 18 9 28 13 24 48\n147 60 212 27 145 31 180 31 264 -1 258 -97 502 -265 671 -93 94 -162 142\n-305 211 -153 74 -249 103 -485 144 -62 11 -429 20 -545 14z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n<path d=\"M2460 3778 c-30 -12 -113 -46 -184 -77 l-130 -56 -12 -60 c-12 -58\n-23 -137 -44 -314 -30 -253 7 -508 98 -660 20 -35 71 -96 114 -137 61 -58 98\n-83 180 -123 165 -79 271 -109 572 -162 133 -23 218 -65 316 -155 215 -200\n324 -584 278 -981 -6 -57 -9 -106 -5 -109 3 -4 30 11 59 32 127 91 276 204\n287 218 21 26 33 182 21 291 -35 322 -139 517 -352 656 -150 99 -251 136 -532\n193 -283 58 -478 239 -578 536 -24 70 -32 104 -58 238 -5 29 -10 130 -10 225\n0 159 8 234 39 396 13 64 13 71 4 70 -5 -1 -33 -10 -63 -21z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n<path d=\"M1965 3554 c-149 -78 -344 -196 -350 -213 -14 -34 -27 -334 -21 -467\n6 -128 14 -186 45 -308 29 -117 153 -289 253 -352 122 -78 305 -149 448 -177\n14 -2 59 -12 100 -20 41 -9 109 -21 150 -27 158 -26 257 -76 352 -179 101\n-109 167 -268 204 -491 17 -105 19 -492 3 -591 -7 -38 -9 -72 -5 -76 8 -8 148\n65 275 142 86 53 86 53 93 102 3 26 7 134 7 238 1 278 -27 440 -106 604 -104\n216 -307 345 -628 396 -443 71 -677 235 -783 550 -41 122 -47 166 -47 365 0\n187 8 271 41 437 19 97 20 94 -31 67z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n<path d=\"M1455 3247 c-146 -107 -261 -194 -316 -240 -78 -65 -79 -69 -79 -291\n0 -191 27 -346 79 -459 63 -137 172 -244 326 -317 127 -61 231 -93 445 -140\n30 -7 71 -16 90 -20 19 -4 71 -15 115 -24 170 -36 264 -85 357 -186 96 -103\n136 -197 173 -395 17 -92 20 -331 5 -438 -5 -40 -15 -108 -21 -152 -6 -44 -15\n-97 -21 -119 -5 -21 -6 -42 -1 -46 8 -8 142 39 230 80 24 11 45 20 48 20 2 0\n29 11 59 25 66 30 63 17 72 335 19 631 -105 878 -496 993 -81 23 -115 31 -255\n57 -169 31 -249 56 -355 111 -233 121 -378 313 -435 579 -29 136 -37 256 -25\n369 11 106 33 230 45 264 9 23 -3 21 -40 -6z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n<path d=\"M768 2669 c-49 -52 -117 -128 -151 -169 -34 -41 -64 -77 -67 -80 -3\n-3 -17 -21 -30 -40 -13 -19 -27 -37 -30 -40 -9 -7 -110 -158 -110 -164 0 -2\n-17 -33 -38 -67 -37 -62 -92 -173 -127 -254 -9 -22 -21 -49 -26 -60 -31 -74\n-66 -202 -98 -363 -14 -69 -14 -305 0 -374 43 -215 111 -353 236 -483 105\n-109 164 -151 313 -223 184 -88 297 -119 597 -162 175 -25 550 -5 758 40 192\n42 340 86 368 109 9 8 17 24 17 36 0 12 4 35 9 51 5 16 14 54 20 84 7 30 16\n73 21 95 54 251 77 460 60 570 -19 132 -38 184 -98 263 -94 126 -231 190 -537\n253 -33 6 -100 23 -150 36 -49 14 -102 27 -118 30 -15 3 -30 9 -33 14 -3 5\n-14 9 -25 9 -10 0 -27 4 -37 9 -9 5 -28 13 -42 19 -247 100 -411 234 -488 402\n-35 77 -39 89 -51 145 -27 124 -31 163 -31 275 0 78 -4 121 -11 126 -7 4 -48\n-32 -101 -87z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n</g>\n\n </g>\n </svg>",
"driverFiles": "DmJdbcDriver18-8.1.2.79.jar",
"jdbcReferDriver": "dm.jdbc.driver.DmDriver",
"jdbcReferUrl": "jdbc:dm://[ip]:[port]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n let dataType = dbDataType.toUpperCase();\r\n if(['SMALLINT', 'INTEGER', 'BIGINT', 'REAL', 'DATE', 'TINYINT', 'INT', 'INTERVAL'].includes(dataType)\r\n ){\r\n return dataType;\r\n }else if(dataType=='DOUBLE'){\r\n dataType = field.dataLen && field.dataLen>=0 && field.dataLen <=126 ? `${dataType}(${field.dataLen})`:`${dataType}`;\r\n return dataType;\r\n }else if(dataType=='TIME'){\r\n dataType = field.dataLen && field.dataLen>=0 && field.dataLen <=6 ? `${dataType}(${field.dataLen})`:`${dataType}`;\r\n return dataType;\r\n }else if(dataType=='DATETIME'){\r\n dataType = field.dataLen && field.dataLen>=0 && field.dataLen <=10 ? `${dataType}(${field.dataLen})`:`${dataType}`;\r\n return dataType;\r\n }else if(dataType=='TIMESTAMP'){\r\n dataType = field.dataLen && field.dataLen>=0 && field.dataLen <=9 ? `${dataType}(${field.dataLen})`:`${dataType}`;\r\n return dataType;\r\n }else if(dataType=='DECIMAL'){\r\n return field.dataLen && field.dataLen >= 0 && field.dataLen <= 38 ? (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen ? `${dataType}(${field.dataLen},${field.numScale})` : `${dataType}(${field.dataLen})`) : `${dataType}`;\r\n }else{\r\n if(field.dataLen){\r\n return `${dataType}(${field.dataLen})`;\r\n }else{\r\n return dataType; \r\n }\r\n }\r\n\r\n}\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const defaultNotNull = field.notNull ? ' NOT NULL' : '';\r\n const defaultAutoIncrement = field.autoIncrement ? ' IDENTITY(1,1)' : '';\r\n const defaultValue = field.defaultValue ? ` DEFAULT ${field.defaultValue}` : '';\r\n return `${dataType}${defaultNotNull}${defaultAutoIncrement}${defaultValue}${index < it.fields.length-1 || pkList.length>0 ? ',' : ''}`;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n {{=field.defKey}} {{= getFieldDefinition(field, index, it.fields) }}\r\n{{~}}\r\n{{? pkList.length >0 }}\r\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n);\r\n\r\n{{? (it.intro && it.intro !== '') || (it.defName && it.defName !== '') }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.join(it.defName,it.intro,'')}}';\r\n{{?}}\r\n\r\n{{~it.fields:field:index}}\r\n{{? (field.intro && field.intro !== '') || (field.defName && field.defName !== '') }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.join(field.defName,field.intro)}}';\r\n{{?}}\r\n{{~}}\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY({{~indexFields:field:i}}{{= field.defKey }} {{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=defName}}{{? defName && intro}}; {{=intro}}{{?? intro}}{{=intro}}{{?}}'; \r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};{{?}}",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INTEGER' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'REAL' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'TINYINT' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase().startsWith('INTERVAL')) {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 126) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'TIME') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DATETIME') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 10) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 9) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen > 0 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD {{= field.defKey}} {{= finalDataType}} {{? field.notNull}} NOT NULL{{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}};\n{{? field.defName || field.intro }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=field.defName}}{{? field.defName && field.intro}}; {{=field.intro}}{{?? field.intro}}{{=field.intro}}{{?}}';\n{{?}}\n{{~}}",
"columnUpdate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'SMALLINT' ||\r\n dbDataType.toUpperCase() === 'INTEGER' ||\r\n dbDataType.toUpperCase() === 'BIGINT' ||\r\n dbDataType.toUpperCase() === 'REAL' ||\r\n dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'TINYINT' ||\r\n dbDataType.toUpperCase() === 'INT' ||\r\n dbDataType.toUpperCase().startsWith('INTERVAL')) {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 126) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'TIME') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DATETIME') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 10) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 9) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType} ${(dataLen && dataLen > 0 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\r\n } else if(dataLen && dataLen >= 0) {\r\n return `${dbDataType} (${dataLen})`;\r\n }\r\n return dbDataType;\r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\n{{\r\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n const finalDataType = computeDatatype(field);\r\n const preDefKey = field?.baseUpdate?.pre?.defKey;\r\n const nextDefKey = field?.baseUpdate?.next?.defKey;\r\n}}\r\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey }} TO {{= field.defKey }};{{?}}\r\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'intro' || item === 'defName') }}\r\nALTER TABLE {{= tableKey }} MODIFY {{= field.defKey}} {{= finalDataType}}{{? updateKeys.includes('notNull') }} {{? field.notNull }} NOT NULL {{??}} NULL {{?}}{{?}}{{? updateKeys.includes('defaultValue') }}{{? field.defaultValue }} DEFAULT {{= field.defaultValue}}{{?}}{{?}};\r\n{{?}}\r\n{{~}}\r\n",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX IF EXISTS {{= schemaName }}{{? preDefKey}}{{= preDefKey}}{{??}}{{=row.defKey}}{{?}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX IF EXISTS {{= schemaName }}{{=row.defKey}};\n{{~}}",
"metaTableQuery": "SELECT\r\n t.table_name AS def_key,\r\n c.comments AS def_name,\r\n t.OWNER AS schema_name\r\nFROM all_tables t left join all_tab_comments c on t.OWNER=c.OWNER and t.TABLE_NAME=c.TABLE_NAME\r\nwhere t.OWNER IN (:schemaName) AND t.table_name not like '##%';",
"metaColumnQuery": "SELECT\r\n col.OWNER AS SCHEMA_NAME,\r\n col.table_name AS tbl_def_key,\r\n '' AS intro,\r\n col.column_name AS def_key,\r\n clc.comments AS def_name,\r\n col.data_type AS db_data_type,\r\n col.data_scale AS num_scale,\r\n col.data_length AS data_len,\r\n CASE WHEN col.nullable = 'N' THEN 1 ELSE 0 END AS not_null,\r\n CASE WHEN cpk.constraint_type IS NOT NULL THEN 1 ELSE 0 END AS primary_key,\r\n CASE WHEN ai.TABLE_NAME IS NOT NULL THEN 1 ELSE 0 END AS \"auto_increment\",\r\n col.data_default AS default_value\r\nFROM\r\n all_tab_columns col\r\n LEFT JOIN all_col_comments clc ON col.owner = clc.SCHEMA_NAME AND col.table_name = clc.table_name AND col.column_name = clc.column_name\r\n LEFT JOIN (select cst.owner,cst.constraint_name,csc.table_name,csc.column_name,cst.constraint_type\r\n from all_constraints cst,all_cons_columns csc\r\n where 1=1\r\n and cst.owner = csc.owner\r\n and cst.constraint_name=csc.constraint_name\r\n and cst.constraint_type ='P'\r\n and csc.table_name not like '%$%'\r\n ) cpk on col.owner = cpk.owner and col.table_name = cpk.table_name AND col.column_name = cpk.column_name\r\n LEFT JOIN (\r\n SELECT DISTINCT B.OWNER, B.TABLE_NAME, A.name\r\n FROM SYS.SYSCOLUMNS A,ALL_TABLES B,SYS.SYSOBJECTS C\r\n WHERE A.INFO2 & 0X01 = 0X01\r\n AND A.ID=C.ID\r\n AND C.NAME= B.TABLE_NAME\r\n ) ai ON ai.OWNER = col.OWNER AND UPPER(CONCAT(TRIM(ai.OWNER), '.', TRIM(ai.TABLE_NAME))) = UPPER(CONCAT(TRIM(col.OWNER), '.', TRIM(col.table_name))) AND col.column_name = ai.name\r\nWHERE\r\n col.OWNER IN (:schemaName)\r\n AND UPPER(CONCAT(TRIM(col.OWNER), '.', TRIM(col.table_name))) IN (:sysTableNames)\r\nORDER BY col.OWNER ASC, col.table_name ASC, COLUMN_ID ASC",
"metaIndexQuery": "select \n ai.table_owner as schema_name,\n ai.table_name as tbl_def_key,\n dic.column_name as col_def_key,\n dic.descend as sort_type,\n ai.index_name as def_key,\n dic.column_position as order_value,\n '' as intro,\n '' as def_name,\n case when ai.uniqueness = 'UNIQUE' then 'UNIQUE' else 'NORMAL' end as type\nfrom all_indexes ai join dba_ind_columns dic\n on (ai.table_name = dic.table_name and ai.INDEX_NAME = dic.INDEX_NAME)\nwhere ai.table_type = 'TABLE' and ai.table_owner in (:schemaName)\n and CONCAT(ai.table_owner, '.', ai.table_name) in (:sysTableNames)\n and ai.index_name NOT IN (\n SELECT\n INDEX_NAME\n FROM\n USER_CONSTRAINTS uc\n JOIN\n USER_CONS_COLUMNS ucc ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME\n WHERE\n CONCAT(uc.OWNER, '.', uc.TABLE_NAME) in (:sysTableNames)\n AND uc.OWNER IN (:schemaName)\n AND uc.CONSTRAINT_TYPE = 'P'\n )\norder by ai.table_owner, tbl_def_key, def_key;",
"metaQueryCharset": null,
"orderValue": 7,
"isEnabled": 0,
"id": "BPQHDLFQY64AC"
},
{
"defKey": "KingBase",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 377.000000 57.000000\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n \n\n<g transform=\"translate(0.000000,57.000000) scale(0.100000,-0.100000)\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" stroke=\"none\">\n<path d=\"M2607 470 c-25 -52 -83 -176 -130 -275 l-85 -180 45 -3 c25 -2 51 -1\n57 1 6 3 42 73 81 156 38 83 73 151 76 151 3 0 39 -70 79 -155 l74 -155 53 0\nc29 0 53 2 53 4 0 2 -46 100 -101 217 -56 118 -114 241 -130 274 l-27 60 -45\n-95z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n<path d=\"M3037 538 c-79 -21 -128 -104 -107 -180 17 -59 75 -97 196 -128 58\n-14 94 -45 94 -79 0 -42 -30 -63 -90 -63 -55 0 -95 19 -105 52 -5 17 -15 20\n-61 20 -46 0 -54 -3 -54 -19 0 -31 44 -85 90 -111 38 -21 58 -25 125 -24 94 1\n154 26 185 77 24 38 26 116 6 155 -18 35 -91 75 -176 97 -76 19 -100 38 -100\n75 0 38 25 55 78 55 38 0 48 -5 71 -32 25 -29 33 -33 79 -33 29 0 52 2 52 5 0\n3 -6 20 -14 38 -36 86 -150 127 -269 95z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n<path d=\"M130 437 l0 -103 -61 -30 -61 -30 61 -29 61 -29 0 -103 0 -103 55 0\n55 0 0 75 c0 41 2 75 4 75 2 0 68 -31 148 -70 80 -38 150 -70 157 -70 7 0 11\n19 11 50 l0 50 -161 78 -162 77 162 79 161 78 0 54 c0 64 16 66 -180 -31\nl-135 -66 -3 75 -3 76 -54 0 -55 0 0 -103z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n<path d=\"M640 275 l0 -265 55 0 55 0 0 265 0 265 -55 0 -55 0 0 -265z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n<path d=\"M840 275 l0 -265 50 0 50 0 2 203 3 202 104 -203 104 -202 69 0 68 0\n0 265 0 265 -50 0 -50 0 0 -197 c-1 -158 -3 -195 -13 -182 -7 9 -55 98 -107\n198 l-95 181 -67 0 -68 0 0 -265z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n<path d=\"M1473 519 c-186 -93 -186 -391 -2 -483 131 -65 286 2 334 143 8 24\n15 60 15 78 l0 33 -114 0 -114 0 10 -40 10 -40 55 0 55 0 -19 -31 c-30 -52\n-68 -74 -126 -74 -94 0 -152 68 -152 175 1 159 173 230 267 110 23 -29 26 -30\n58 -19 19 7 38 15 43 19 12 11 -49 87 -95 117 -57 38 -163 44 -225 12z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n<path d=\"M1980 276 l0 -266 143 0 c128 0 147 2 187 23 62 31 85 67 85 131 0\n41 -6 60 -26 87 l-26 34 19 35 c35 64 13 143 -56 194 -24 19 -45 21 -177 24\nl-149 4 0 -266z m258 167 c32 -27 37 -64 12 -96 -20 -25 -27 -27 -91 -27 l-69\n0 0 70 0 70 64 0 c46 0 69 -5 84 -17z m30 -239 c17 -20 22 -34 17 -53 -11 -46\n-30 -56 -115 -59 l-80 -4 0 77 0 78 78 -6 c68 -5 80 -9 100 -33z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n<path d=\"M3380 275 l0 -265 195 0 195 0 0 45 0 45 -140 0 -140 0 0 175 0 175\n140 0 140 0 0 45 0 45 -195 0 -195 0 0 -265z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n<path d=\"M3520 275 l0 -45 125 0 125 0 0 45 0 45 -125 0 -125 0 0 -45z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n<path d=\"M2612 134 c-47 -33 -18 -114 41 -114 26 0 67 40 67 65 0 23 -41 65\n-64 65 -12 0 -32 -7 -44 -16z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\"></path>\n</g>\n\n </g>\n </svg>",
"driverFiles": "kingbase8-8.6.0.jar",
"jdbcReferDriver": "com.kingbase8.Driver",
"jdbcReferUrl": "jdbc:kingbase8://[ip]:[port]/[database]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n function addField(field, pkList) {\r\n let fieldStr = `${field.defKey} ${field.dbDataType}`;\r\n if (field.autoIncrement) {\r\n fieldStr =`${field.defKey}${field.dbDataType?.toUpperCase() === 'BIGINT' ? ' BIGSERIAL' : ' SERIAL'}`;\r\n } else {\r\n if (['TINYINT', 'SMALLINT', 'INT', 'INTEGER', 'BIGINT', 'SMALLSERIAL', 'BIGSERIAL', \r\n 'REAL', 'DOUBLE PRECISION', 'DATE', 'DATETIME', 'TEXT', 'BYTEA', 'BOOL', \r\n 'JSONB', 'SERIAL', 'JSON'].includes(field.dbDataType?.toUpperCase())) {\r\n if (field.dataLen && field.dataLen >= 1) {\r\n fieldStr += ``;\r\n }\r\n } \r\n else if (field.dbDataType?.toUpperCase() === 'TIMESTAMP') {\r\n if (field.dataLen && field.dataLen >= 0 && field.dataLen <= 6) {\r\n fieldStr += `(${field.dataLen})`;\r\n }\r\n } else if (field.dbDataType?.toUpperCase() === 'NUMERIC' || field.dbDataType?.toUpperCase() === 'DECIMAL') {\r\n if (field.dataLen && field.dataLen >= 1 && field.dataLen <= 1000) {\r\n if (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen) {\r\n fieldStr += `(${field.dataLen},${field.numScale})`;\r\n } else {\r\n fieldStr += `(${field.dataLen})`;\r\n }\r\n }\r\n }\r\n else{\r\n fieldStr += `(${field.dataLen})`;\r\n }\r\n }\r\n if (field.notNull) {\r\n fieldStr += ' NOT NULL';\r\n }\r\n if (field.defaultValue) {\r\n fieldStr += ` DEFAULT ${field.defaultValue}`;\r\n }\r\n if (field.primaryKey) {\r\n pkList.push(field.defKey);\r\n }\r\n return `${fieldStr}${index < it.fields.length - 1 || pkList.length > 0 ? ',' : ''}`;\r\n }\r\n}}\r\n\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{= addField(field, pkList) }}{{~}}{{? pkList.length > 0 }}\r\n PRIMARY KEY ({{= pkList.join(', ')}}) {{?}}\r\n);\r\n$blankline{{~it.fields:field:index}}{{? field.defName || field.intro }}COMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n\r\n{{? it.defName || it.intro }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n{{?}}",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP CONSTRAINT IF EXISTS \"{{=it.defKey}}_pkey\";\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY ({{~indexFields:field:i}}{{= field.defKey }}{{= i < indexFields.length-1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}COMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}'; {{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'BIGSERIAL' : 'SERIAL';\n } else if(dbDataType.toUpperCase() === 'TINYINT' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'INTEGER' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'SMALLSERIAL' ||\n dbDataType.toUpperCase() === 'BIGSERIAL' ||\n dbDataType.toUpperCase() === 'REAL' ||\n dbDataType.toUpperCase() === 'DOUBLE PRECISION' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DATETIME' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BYTEA' ||\n dbDataType.toUpperCase() === 'BOOL' ||\n dbDataType.toUpperCase() === 'JSONB' ||\n dbDataType.toUpperCase() === 'SERIAL' ||\n dbDataType.toUpperCase() === 'JSON') {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'TIME' ||\n dbDataType.toUpperCase() === 'TIMESTAMP' ) {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'NUMERIC' || \n dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 1000) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD {{= field.defKey}} {{= finalDataType}} {{? field.notNull}} NOT NULL{{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}};\n{{? field.defName || field.intro }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'BIGSERIAL' : 'SERIAL';\n } else if(dbDataType.toUpperCase() === 'TINYINT' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'INTEGER' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'SMALLSERIAL' ||\n dbDataType.toUpperCase() === 'BIGSERIAL' ||\n dbDataType.toUpperCase() === 'REAL' ||\n dbDataType.toUpperCase() === 'DOUBLE PRECISION' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DATETIME' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BYTEA' ||\n dbDataType.toUpperCase() === 'BOOL' ||\n dbDataType.toUpperCase() === 'JSONB' ||\n dbDataType.toUpperCase() === 'SERIAL' ||\n dbDataType.toUpperCase() === 'JSON') {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'TIME' ||\n dbDataType.toUpperCase() === 'TIMESTAMP' ) {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'NUMERIC' || \n dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 1000) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey}} TO {{= nextDefKey}};{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'autoIncrement') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} SET DATA TYPE {{=finalDataType}};\n{{?}}\n{{? updateKeys.includes('notNull') }}ALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{? field.notNull }} SET {{??}} DROP {{?}} NOT NULL;{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{? updateKeys.includes('defaultValue') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{? field.defaultValue }} SET DEFAULT {{=field.defaultValue}} {{??}} DROP DEFAULT {{?}};\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{? (row.defName || row.intro) && row.defKey && row.fields.length > 0}}\r\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX IF EXISTS {{= schemaName }}{{? preDefKey}}{{= preDefKey}}{{??}}{{=row.defKey}}{{?}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{? (row.defName || row.intro) && row.defKey && row.fields.length > 0}}\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX IF EXISTS {{= schemaName }}{{=row.defKey}};\n{{~}}",
"metaTableQuery": "SELECT\r\n tb.TABLE_NAME as def_key,\r\n d.description as def_name,\r\n tb.table_schema as schema_name\r\nFROM\r\n information_schema.tables tb\r\n JOIN pg_class C ON C.relname = tb.TABLE_NAME\r\n JOIN pg_namespace n ON tb.table_schema = n.nspname AND c.relnamespace = n.oid\r\n LEFT JOIN pg_description d ON d.objoid = C.oid\r\n AND d.objsubid = '0'\r\nwhere tb.table_type = 'BASE TABLE' AND tb.table_schema IN (:schemaName);",
"metaColumnQuery": "SELECT\r\n col.table_schema AS schema_name,\r\n col.TABLE_NAME AS tbl_def_key,\r\n col.ordinal_position AS order_value,\r\n col.COLUMN_NAME AS def_key,\r\n d.description AS def_name,\r\n\t\t'' AS intro,\r\n col.udt_name AS db_data_type,\r\n\t\tCASE WHEN col.character_maximum_length IS NULL AND col.numeric_precision IS NOT NULL THEN col.numeric_precision\r\n\t\t ELSE col.character_maximum_length\r\n\t\tEND AS data_len,\r\n\t\tCASE WHEN col.numeric_precision IS NOT NULL THEN (CASE WHEN col.numeric_scale = 0 THEN NULL ELSE col.numeric_scale END)\r\n\t\t\t\tELSE NULL \r\n\t\tEND AS num_scale,\r\n CASE WHEN kc.column_name IS NOT NULL THEN 1 ELSE 0 END AS primary_key,\r\n CASE WHEN col.IS_NULLABLE = 'NO' THEN 1 ELSE 0 END AS not_null,\r\n CASE WHEN col.COLUMN_DEFAULT LIKE 'nextval%' THEN 1 ELSE 0 END AS auto_increment,\r\n\t--\tsubstr(col.column_default,0,strpos(col.column_default, concat('::',col.data_type))) AS default_value\r\n\tCASE\r\n WHEN strpos(col.column_default, concat('::',col.data_type)) = 0 THEN (CASE\r\n WHEN col.column_default LIKE 'nextval%' THEN ''\r\n ELSE col.column_default\r\n END)\r\n ELSE substr(col.column_default,0,strpos(col.column_default, concat('::',col.data_type))-1)\r\n END AS default_value\r\nFROM\r\n information_schema.COLUMNS col LEFT JOIN (information_schema.key_column_usage kc JOIN information_schema.table_constraints tc \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tON \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkc.constraint_name = tc.constraint_name \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand tc.constraint_type = 'PRIMARY KEY'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand kc.table_schema=tc.table_schema \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand kc.table_name=tc.table_name --25.1.11 tc.table_schema\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ON \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcol.TABLE_NAME = kc.table_name \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND col.COLUMN_NAME = kc.column_name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t AND col.table_schema=kc.table_schema --25.1.11\r\nLEFT JOIN pg_class C ON C.relname = col.TABLE_NAME\r\nJOIN pg_namespace n ON col.table_schema = n.nspname AND c.relnamespace = n.oid\r\nLEFT JOIN pg_description d ON d.objoid = C.oid AND d.objsubid = col.ordinal_position\r\nWHERE\r\n col.table_schema IN (:schemaName)\r\n AND CONCAT(TRIM(col.table_schema), CONCAT('.', TRIM(col.TABLE_NAME))) IN (:sysTableNames)\r\n AND col.table_schema IN (:schemaName)\r\nORDER BY\r\n\tcol.table_schema, col.TABLE_NAME asc,col.ordinal_position ASC\r\n",
"metaIndexQuery": "SELECT ns.nspname AS schema_name, \r\n t.relname AS tbl_def_key,\r\n a.attname AS col_def_key,\r\n d.description AS def_name,\r\n d.description AS intro,\r\n --CASE\r\n -- WHEN ix.indoption[array_position(ix.indkey, a.attnum) - 1] & 1 = 0 THEN 'ASC'\r\n -- ELSE 'DESC'\r\n --END AS sort_type,\r\n CASE\r\n WHEN array_length(ix.indoption, 1) > 2 THEN (CASE WHEN ix.indoption[1] & 2 <> 0 THEN 'DESC' ELSE 'ASC' END )\r\n ELSE (CASE\r\n WHEN ix.indoption[0] > 0 THEN 'DESC'\r\n ELSE 'ASC'\r\n END\r\n )\r\n END AS sort_type,\r\n CASE\r\n WHEN ix.indisunique THEN 'UNIQUE'\r\n ELSE 'NORMAL'\r\n END AS type,\r\n array_position(ix.indkey, a.attnum) AS order_value,\r\n idx.relname AS def_key\r\nFROM pg_class t\r\n JOIN\r\n pg_namespace ns ON ns.oid = t.relnamespace\r\n JOIN\r\n pg_index ix ON t.oid = ix.indrelid\r\n JOIN\r\n pg_class idx ON ix.indexrelid = idx.oid\r\n JOIN\r\n unnest(ix.indkey) WITH ORDINALITY AS key_col(attnum, ord) ON true\r\n JOIN\r\n pg_attribute a ON t.oid = a.attrelid AND a.attnum = key_col.attnum\r\n LEFT JOIN\r\n pg_description d ON idx.oid = d.objoid\r\nWHERE ns.nspname IN (:schemaName)\r\n AND CONCAT(ns.nspname, CONCAT('.', t.relname)) IN (:sysTableNames)\r\n AND indisprimary = false\r\nORDER BY ns.nspname, \r\n tbl_def_key,\r\n def_key",
"metaQueryCharset": null,
"orderValue": 8,
"isEnabled": 0,
"id": "BPQHDZHMI64AB"
},
{
"defKey": "ShenTong",
"defName": null,
"icon": "<svg\r\n class=\"icon\"\r\n viewBox=\"0 0 1024 1024\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"200\"\r\n height=\"200\">\r\n <path d=\"M514.116267 850.926933c-185.7024 0-336.810667-151.108267-336.810667-336.810666s151.108267-336.810667 336.810667-336.810667c185.685333 0 336.810667 151.108267 336.810666 336.810667 0 185.685333-151.108267 336.810667-336.810666 336.810666z m0-666.231466c-181.6576 0-329.4208 147.7632-329.4208 329.4208 0 181.640533 147.7632 329.4208 329.4208 329.4208 181.640533 0 329.4208-147.780267 329.4208-329.4208 0-181.6576-147.780267-329.4208-329.4208-329.4208z\"\r\n fill=\"#3C78FF\"></path>\r\n <path d=\"M512 37.546667c261.700267 0 474.453333 212.753067 474.453333 474.453333 0 261.666133-212.821333 474.453333-474.453333 474.453333C250.333867 986.453333 37.546667 773.632 37.546667 512S250.333867 37.546667 512 37.546667z m0 43.178666C274.210133 80.725333 80.725333 274.210133 80.725333 512S274.210133 943.274667 512 943.274667 943.274667 749.789867 943.274667 512 749.789867 80.725333 512 80.725333z m0 36.727467c217.514667 0 394.5472 177.032533 394.5472 394.5472S729.514667 906.5472 512 906.5472 117.4528 729.514667 117.4528 512 294.485333 117.4528 512 117.4528z m0 28.074667C309.896533 145.527467 145.527467 309.879467 145.527467 512c0 202.103467 164.352 366.472533 366.472533 366.472533 202.103467 0 366.472533-164.352 366.472533-366.472533 0-202.103467-164.352-366.472533-366.472533-366.472533z m2.116267 23.2448c190.4128 0 345.344 154.9312 345.344 345.344S704.512 859.460267 514.116267 859.460267 168.772267 704.512 168.772267 514.116267 323.703467 168.772267 514.116267 168.772267z m0 24.456533c-176.9472 0-320.887467 143.940267-320.887467 320.887467 0 176.930133 143.940267 320.887467 320.887467 320.887466 176.930133 0 320.887467-143.957333 320.887466-320.887466 0-176.9472-143.957333-320.887467-320.887466-320.887467z\"\r\n fill=\"#3C78FF\"></path>\r\n <path d=\"M512 898.013867C299.178667 898.013867 125.986133 724.804267 125.986133 512 125.986133 299.178667 299.195733 125.986133 512 125.986133c212.821333 0 386.013867 173.2096 386.013867 386.013867 0 212.821333-173.2096 386.013867-386.013867 386.013867z m0-761.019734C305.186133 136.994133 136.994133 305.186133 136.994133 512c0 206.813867 168.192 375.005867 375.005867 375.005867 206.813867 0 375.005867-168.192 375.005867-375.005867 0-206.813867-168.192-375.005867-375.005867-375.005867z\"\r\n fill=\"#3C78FF\"></path>\r\n <path d=\"M512 972.8C257.8432 972.8 51.2 766.071467 51.2 512S257.8432 51.2 512 51.2s460.8 206.6432 460.8 460.8-206.728533 460.8-460.8 460.8z m0-905.728C266.683733 67.072 67.072 266.683733 67.072 512S266.683733 956.928 512 956.928 956.928 757.316267 956.928 512 757.316267 67.072 512 67.072z\"\r\n fill=\"#3C78FF\"></path>\r\n <path d=\"M244.360533 834.730667l269.397334-306.807467 280.490666 296.072533L514.372267 129.160533z\" fill=\"#3C78FF\"\r\n ></path>\r\n <path d=\"M370.7392 787.5584c-6.946133-8.277333-10.461867-19.456-10.461867-33.621333 0-14.165333 3.515733-25.429333 10.461867-33.706667 6.9632-8.277333 16.469333-12.407467 28.5184-12.407467 9.335467 0 17.339733 2.645333 24.029867 8.021334 6.6048 5.358933 10.564267 12.305067 11.793066 20.8384h-11.605333a23.620267 23.620267 0 0 0-8.635733-13.380267c-4.317867-3.345067-9.506133-4.9152-15.496534-4.9152-8.362667 0-15.035733 3.157333-19.882666 9.591467-4.932267 6.417067-7.304533 15.0528-7.304534 25.941333 0 10.837333 2.4576 19.456 7.389867 25.890133 4.932267 6.417067 11.537067 9.591467 19.882667 9.591467 6.075733 0 11.264-1.501867 15.581866-4.4032 4.317867-2.986667 7.133867-6.946133 8.533334-11.963733h11.6224c-1.399467 8.192-5.358933 14.779733-11.8784 19.626666-6.519467 4.846933-14.4384 7.304533-23.8592 7.304534-12.1344 0-21.640533-4.130133-28.672-12.407467z m139.4176 10.376533c-1.757867-5.0176-3.259733-9.233067-4.4032-12.407466-1.143467-3.242667-2.56-7.389867-4.317867-12.4928H466.773333l-8.704 24.917333h-11.963733l32.290133-88.0128h11.605334l32.3072 87.995733h-12.1344z m-26.6752-73.489066c-1.8432 5.290667-3.413333 9.7792-4.744533 13.738666-1.3312 3.874133-2.730667 7.748267-4.0448 11.605334-1.3312 3.874133-2.901333 8.362667-4.846934 13.653333h28.16l-13.550933-38.912h-0.9728v-0.085333z m49.4592 50.261333h11.6224c0.699733 4.573867 3.072 8.192 7.048533 10.820267 4.0448 2.645333 9.045333 3.959467 15.3088 3.959466 5.888 0 10.734933-1.399467 14.609067-4.215466 3.7888-2.816 5.717333-6.3488 5.717333-10.581334a11.4688 11.4688 0 0 0-4.215466-9.130666c-2.833067-2.389333-7.2192-4.317867-13.312-5.905067l-11.264-2.901333c-7.9872-2.030933-13.806933-4.932267-17.408-8.704-3.618133-3.7888-5.461333-8.8064-5.461334-15.1552 0-7.560533 2.901333-13.636267 8.618667-18.295467 5.7344-4.6592 13.294933-6.9632 22.698667-6.9632 8.5504 0 15.7696 2.304 21.572266 6.877867 5.802667 4.573867 8.891733 10.461867 9.250134 17.681066h-11.434667a15.086933 15.086933 0 0 0-6.3488-10.376533c-3.4304-2.474667-7.918933-3.7888-13.380267-3.7888-5.717333 0-10.376533 1.314133-13.909333 3.959467a12.3904 12.3904 0 0 0-5.2736 10.478933 10.24 10.24 0 0 0 3.874133 8.260267c2.56 2.116267 6.8608 3.959467 12.8512 5.461333l9.3184 2.474667c9.079467 2.184533 15.581867 5.2736 19.541334 9.045333 3.959467 3.7888 5.973333 8.994133 5.973333 15.496533 0 8.192-2.9696 14.6944-8.96 19.456-5.973333 4.744533-13.994667 7.2192-24.1152 7.2192-9.4208 0-17.066667-2.286933-23.057067-6.8608a23.620267 23.620267 0 0 1-9.864533-18.312533z m90.658133 12.8512c-6.9632-8.277333-10.478933-19.456-10.478933-33.621333 0-14.165333 3.515733-25.429333 10.478933-33.706667 6.946133-8.277333 16.452267-12.407467 28.501334-12.407467 9.335467 0 17.339733 2.645333 24.029866 8.021334 6.6048 5.358933 10.581333 12.305067 11.793067 20.8384h-11.605333a23.620267 23.620267 0 0 0-8.635734-13.380267c-4.3008-3.345067-9.506133-4.9152-15.479466-4.9152-8.362667 0-15.0528 3.157333-19.899734 9.591467-4.9152 6.417067-7.304533 15.0528-7.304533 25.941333 0 10.837333 2.474667 19.456 7.389867 25.890133 4.949333 6.417067 11.537067 9.591467 19.899733 9.591467 6.075733 0 11.264-1.501867 15.581867-4.4032 4.3008-2.986667 7.1168-6.946133 8.533333-11.963733h11.605333c-1.399467 8.192-5.358933 14.779733-11.8784 19.626666-6.5024 4.846933-14.421333 7.304533-23.842133 7.304534-12.2368 0-21.742933-4.130133-28.689067-12.407467z\"\r\n fill=\"#3C78FF\"></path>\r\n</svg>",
"driverFiles": "oscarJDBC.jar",
"jdbcReferDriver": "com.oscar.Driver",
"jdbcReferUrl": "jdbc:oscar://{host}[:{port}]/[{database}]",
"tableCreate": "{{\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'FLOAT') {\n return `${dbDataType}${(dataLen && dataLen >= 1 && dataLen < 54) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP' ||\n dbDataType.toUpperCase() === 'TIME') {\n return `${dbDataType}${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`; \n } else if(dbDataType.toUpperCase() === 'CHAR' ||\n dbDataType.toUpperCase() === 'VARCHAR' ||\n dbDataType.toUpperCase() === 'BINARY' ||\n dbDataType.toUpperCase() === 'VARBINARY') {\n return `${dbDataType}${(dataLen && dataLen > 0) ? `(${dataLen})` : ''}`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}DROP TABLE IF EXISTS {{= tableKey }};\nCREATE TABLE {{=tableKey }} (\n{{ pkList = [] ; }}\n{{~it.fields:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n let lineEnd=',';\n if(index==it.fields.length-1&&pkList.length==0){\n lineEnd = '';\n }\n}}\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n {{=field.defKey}} {{= finalDataType}}{{= field.notNull ? ' NOT NULL' : '' }}{{? field.defaultValue }} DEFAULT {{= field.defaultValue }}{{?}}{{=lineEnd}}\n{{~}}\n{{? pkList.length > 0 }} PRIMARY KEY ({{= pkList.join(', ')}}) {{?}}\n);\n\n{{~it.fields:field:index}}\n{{? field.defName || field.intro }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{~}}\n\n{{? it.defName || it.intro }}\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\n{{?}}",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY({{~indexFields:field:i}}{{= field.defKey }} {{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}';\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'FLOAT') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen < 54) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP' ||\n dbDataType.toUpperCase() === 'TIME') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`; \n } else if(dbDataType.toUpperCase() === 'CHAR' ||\n dbDataType.toUpperCase() === 'VARCHAR' ||\n dbDataType.toUpperCase() === 'BINARY' ||\n dbDataType.toUpperCase() === 'VARBINARY') {\n return `${dbDataType} ${(dataLen && dataLen > 0) ? `(${dataLen})` : ''}`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD COLUMN {{= field.defKey}} {{= finalDataType}} {{? field.notNull}} NOT NULL{{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}};\n{{? field.defName || field.intro }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'FLOAT') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen < 54) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP' ||\n dbDataType.toUpperCase() === 'TIME') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`; \n } else if(dbDataType.toUpperCase() === 'CHAR' ||\n dbDataType.toUpperCase() === 'VARCHAR' ||\n dbDataType.toUpperCase() === 'BINARY' ||\n dbDataType.toUpperCase() === 'VARBINARY') {\n return `${dbDataType} ${(dataLen && dataLen > 0) ? `(${dataLen})` : ''}`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey}} TO {{= nextDefKey}};{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'autoIncrement') }}\nALTER TABLE {{= tableKey }} MODIFY {{= field.defKey}} {{=finalDataType}};\n{{?}}\n{{? updateKeys.includes('notNull') }}ALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{? field.notNull }} SET {{??}} DROP {{?}} NOT NULL;{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{? updateKeys.includes('defaultValue') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{? field.defaultValue }} SET DEFAULT {{=field.defaultValue}} {{??}} DROP DEFAULT {{?}};\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX IF EXISTS {{= schemaName }}{{=row.defKey}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX IF EXISTS {{= schemaName }}{{=row.defKey}};\n{{~}}",
"metaTableQuery": "SELECT\r\n NULL AS id,\r\n c.relname AS def_key,\r\n d.description AS def_name,\r\n n.nspname AS schema_name\r\nFROM\r\n sys_class c\r\nLEFT JOIN\r\n sys_description d ON c.OID = d.objoid AND d.objsubid = 0\r\nJOIN\r\n sys_namespace n ON c.RELNAMESPACE = n.OID\r\nWHERE\r\n c.RELKIND = 'r' AND -- 'r' 表示普通表\r\n n.nspname IN (:schemaName)-- 当前模式名\r\n\t",
"metaColumnQuery": "SELECT\r\n A.TABLE_SCHEM AS schema_name,\r\n A.TABLE_NAME AS tbl_def_key,\r\n A.ordinal_position AS order_value,\r\n A.COLUMN_NAME as def_key,\r\n A.REMARKS AS def_name,\r\n '' AS intro,\r\n A.TYPE_NAME as db_data_type,\r\n A.COLUMN_SIZE as data_len,\r\n A.DECIMAL_DIGITS as num_scale,\r\n DECODE(CASE WHEN B.COLUMN_NAME IS NOT NULL THEN 1 ELSE 0 END, 1, 1, 0) as primary_key, --1是 0否\r\n CAST((CASE WHEN A.NULLABLE=0 THEN 1 ELSE 0 END) as VARCHAR(500)) as not_null, --1是 0否\r\n DECODE(CASE WHEN D.ATTISAUTO IS True THEN 1 ELSE 0 END, 1, 1, 0) as auto_increment,\r\n A.COLUMN_DEF as default_value\r\nFROM\r\n v_sys_columns A\r\nLEFT \r\nJOIN v_sys_primary_keys B ON A.TABLE_NAME = B.TABLE_NAME\r\nAND A.column_name=b.column_name\r\nJOIN SYS_CLASS C ON A.TABLE_NAME =C.RELNAME \r\nJOIN sys_attribute D ON A.COLUMN_NAME=D.ATTNAME\r\n AND C.OID=D.ATTRELID\r\nAND A.COLUMN_NAME=D.ATTNAME\r\nWHERE\r\n A.TABLE_SCHEM IN (:schemaName)\r\n AND CONCAT(A.TABLE_SCHEM, '.', A.TABLE_NAME) IN (:sysTableNames)\r\n AND A.ORDINAL_POSITION >= 0\r\nORDER BY\r\n A.TABLE_SCHEM asc, A.TABLE_NAME asc,A.ordinal_position ASC;",
"metaIndexQuery": "SELECT \r\n A.SCHEMANAME AS SCHEMA_NAME,\r\n A.TABLENAME AS TBL_DEF_KEY, \r\n C.COLUMN_NAME AS COL_DEF_KEY, \r\n '' AS DEF_NAME,\r\n '' AS INTRO, \r\n (CASE WHEN ASC_OR_DESC='A' THEN 'ASC' ELSE 'DESC' END) AS SORT_TYPE,\r\n (CASE WHEN ISUNIQUE='true' THEN 'UNIQUE' ELSE 'NORMAL' END) AS TYPE,\r\n B.ORDINAL_POSITION AS ORDER_VALUE, \r\n A.INDEXNAME AS DEF_KEY\r\nFROM v_sys_indexes A \r\n JOIN v_sys_index_statistics B ON A.INDEXNAME=B.INDEX_NAME\r\n JOIN v_sys_columns C ON A.INDEXNAME=C.TABLE_NAME\r\n AND C.COLUMN_NAME=B.COLUMN_NAME\r\nWHERE \r\n A.SCHEMANAME IN (:schemaName) -- 替换为目标模式\r\n AND CONCAT(A.SCHEMANAME, '.', A.TABLENAME) IN (:sysTableNames) -- 替换为目标表名\r\n AND A.INDEXSCHEMANAME IN (:schemaName) -- 替换为目标模式\r\n AND ISPRIMARY = 0\r\nORDER BY \r\n A.SCHEMANAME, A.TABLENAME, A.INDEXNAME",
"metaQueryCharset": null,
"orderValue": 9,
"isEnabled": 0,
"id": "1LNU2743D0402"
},
{
"defKey": "GBase 8A",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1088 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M386.176 604.16h-132.48v0.192h137.856a38.656 38.656 0 0 0 28.288-12.416c-7.04 7.04-18.048 12.16-33.664 12.16zM239.36 457.792H97.92a37.568 37.568 0 0 0-37.632 37.568V565.76c0 21.248 17.344 38.528 38.592 38.528h122.688a17.92 17.92 0 0 0 17.792-17.792v-54.912a17.92 17.92 0 0 0-17.792-17.792H135.936v36.352h70.72v21.504H105.408a12.608 12.608 0 0 1-12.672-12.736v-53.888c0-7.04 5.632-12.672 12.672-12.672H209.92a12.864 12.864 0 0 0 10.944-6.08l18.56-28.544zM419.392 469.76c6.336 6.784 10.24 15.808 10.496 25.792v-1.216a33.664 33.664 0 0 0-10.496-24.64z m10.496 96.576a39.232 39.232 0 0 1-10.048 25.344 35.008 35.008 0 0 0 10.048-24.128c0.192-0.512 0.192-0.768 0-1.28z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" p-id=\"31196\" stroke=\"none\"></path><path d=\"M411.072 529.472a38.144 38.144 0 0 0 19.008-33.408V495.36a39.168 39.168 0 0 0-10.496-25.856 38.336 38.336 0 0 0-28.032-12.224H253.76v146.368h132.48c15.808 0 26.56-5.12 33.6-12.16l0.256-0.32a38.72 38.72 0 0 0 9.984-25.344V562.176a38.784 38.784 0 0 0-19.008-32.64z m-16.128 37.76a11.072 11.072 0 0 1-8 3.456H285.696V547.84h100.992c6.336 0 11.456 5.12 11.456 11.52a10.496 10.496 0 0 1-3.2 8z m0-54.848a12.16 12.16 0 0 1-8 3.456H285.696V492.8h100.992c6.336 0 11.456 5.12 11.456 11.52a10.88 10.88 0 0 1-3.2 8zM547.2 457.792H512a4.672 4.672 0 0 0-3.84 2.176L425.472 603.904h42.24l17.28-33.472H573.44l18.304 33.472h41.216l-82.176-144c-0.512-1.152-1.92-2.112-3.648-2.112z m-40.768 78.272l22.912-43.392 22.976 43.392h-45.888zM643.264 604.16l-19.2-34.432h132.416a10.88 10.88 0 0 0 10.752-10.752 10.88 10.88 0 0 0-10.752-10.688h-87.36a45.184 45.184 0 0 1 0-90.24h128.832l-18.56 34.816h-109.056a12.48 12.48 0 0 0-12.416 12.48c0 6.848 5.632 12.416 12.416 12.416h84.48a43.072 43.072 0 1 1 0 86.4H643.2zM963.584 604.16H850.56a42.752 42.752 0 0 1-42.688-42.752v-60.16c0-23.68 19.264-42.752 42.688-42.752h136.832l-22.144 34.624-111.744-0.448c-7.808 0-13.888 6.336-13.888 13.888v7.552l147.584 1.28-23.68 31.36H840.32l-0.256 12.032c0 6.336 5.12 11.456 11.52 11.456l135.616-0.512-23.68 34.368z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" p-id=\"31197\" stroke=\"none\"></path><path d=\"M1048 427.264a31.232 31.232 0 1 0 0 62.464 31.232 31.232 0 0 0 0-62.464z m-36.16 31.232a36.096 36.096 0 1 1 72.256 0 36.096 36.096 0 0 1-72.256 0z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" p-id=\"31198\" stroke=\"none\"></path><path d=\"M1034.304 439.936h2.432l3.648-0.192c2.496 0 5.12-0.256 7.36-0.256 4.608 0 8.512 0.448 11.968 1.664 4.608 1.728 7.04 6.144 7.04 10.496a11.776 11.776 0 0 1-6.848 10.048 18.944 18.944 0 0 1-4.352 1.216l12.416 15.616-4.16 2.176-13.632-16.832h-3.2c-1.92 0-4.096 0-6.08-0.256h-1.728v16.832h-4.864v-40.512z m4.864 3.712v15.808h7.808a25.984 25.984 0 0 0 10.24-1.472c2.944-1.216 4.16-3.84 4.16-6.528a8.64 8.64 0 0 0-4.352-7.104 27.968 27.968 0 0 0-9.792-1.216c-2.176 0-4.608 0-7.04 0.256l-1.024 0.256z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" p-id=\"31199\" stroke=\"none\"></path>\n </g>\n </svg>",
"driverFiles": "gbase-connector-java-9.5.0.1-build1-bin.jar",
"jdbcReferDriver": "com.gbase.jdbc.Driver",
"jdbcReferUrl": "jdbc:gbase://[ip]:[port]/[database]?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n const dataType = dbDataType.toUpperCase();\r\n if (['VARCHAR'].includes(dataType)) {\r\n return `${dataType}(${field.dataLen ? field.dataLen : 128})`;\r\n } else if (['BOOLEAN','DATE','LONGBLOB','TIME'].includes(dataType)) {\r\n return dataType;\r\n } else if (dataType === 'FLOAT') {\r\n return field.dataLen && field.dataLen >= 1 && field.dataLen <= 53 ? `${dataType}(${field.dataLen})` : dataType;\r\n } else if (dataType === 'DOUBLE') {\r\n return field.dataLen && field.dataLen >= 0 && field.dataLen <= 30 ? (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen ? `${dataType}(${field.dataLen},${field.numScale})` : `${dataType}(${field.dataLen},30)`) : `${dataType}(30,30)`;\r\n } else if (dataType === 'DECIMAL') {\r\n return field.dataLen && field.dataLen >= 0 && field.dataLen <= 255 ? (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen ? `${dataType}(${field.dataLen},${field.numScale})` : `${dataType}(${field.dataLen})`) : `${dataType}`;\r\n } else {\r\n return field.dataLen && field.dataLen >= 0 ? `${dataType}(${field.dataLen})` : dataType;\r\n }\r\n }\r\n\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const notNull = field.notNull ? ' NOT NULL' : ' NULL';\r\n const autoIncrement = field.autoIncrement ? ' AUTO_INCREMENT' : '';\r\n const defaultValue = field.defaultValue ? ` DEFAULT ${field.defaultValue}` : '';\r\n const comment = ` COMMENT '${it.func.strJoin(field.defName, field.intro, \";\", true)}'`;\r\n return `\"${field.defKey}\" ${dataType}${notNull}${autoIncrement}${defaultValue}${comment}${index < fields.length - 1 || pkList.length > 0 ? ',' : ''}`;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n {{= getFieldDefinition(field, index, it.fields) }}\r\n{{~}}\r\n{{? pkList.length > 0 }}\r\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i < pkList.length - 1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n) COMMENT '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n$blankline\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD CONSTRAINT PRIMARY KEY ({{~indexFields:field:i}}{{= field.defKey }}{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nALTER TABLE {{= tableKey }} COMMENT '{{=it.func.strJoin(defName, intro, \";\", true)}}';\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}RENAME TABLE {{= tableKey }} TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'VARCHAR') {\n return `${dbDataType} (${dataLen ? dataLen : 128})`\n } else if(dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'LONGBLOB' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'TIME') {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 53) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 30) ? ((numScale && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen, 30})`) : ((numScale && numScale >= 0 && numScale <= 30) ? `(${dataLen},${numScale})` : `(30, 30)`)}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD COLUMN {{= field.defKey}} {{= finalDataType}}{{? field.notNull}} NOT NULL{{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'VARCHAR') {\n return `${dbDataType} (${dataLen ? dataLen : 128})`\n } else if(dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'LONGBLOB' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'TIME') {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 53) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 30) ? ((numScale && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen, 30})`) : ((numScale && numScale >= 0 && numScale <= 30) ? `(${dataLen},${numScale})` : `(30, 30)`)}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'intro' || item === 'defName' || item === 'defKey') }}\nALTER TABLE {{= tableKey }} {{? updateKeys.includes('defKey') }} CHANGE COLUMN {{= preDefKey}} {{= nextDefKey}} {{??}} MODIFY COLUMN {{= field.defKey}} {{?}} {{= finalDataType}} {{? updateKeys.includes('defName') || updateKeys.includes('intro') }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}' {{?}};\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}ALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields && row.fields.length === 1 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX {{? preDefKey}} {{= preDefKey}}{{??}} {{=row.defKey}} {{?}} ON {{= tableKey }};;\n{{? row.fields && row.fields.length === 1 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX {{=row.defKey}} ON {{= tableKey }};\n{{~}}",
"metaTableQuery": "SELECT \r\n table_schema AS schemaName,\r\n table_name AS def_key, \r\n table_comment AS def_name\r\nFROM information_schema.tables\r\n WHERE table_schema in (:schemaName)\r\n ",
"metaColumnQuery": "SELECT\r\n TRIM(table_schema) AS schema_name,\r\n table_name AS tbl_def_key,\r\n ordinal_position as order_value,\r\n column_name AS def_key,\r\n column_comment AS def_name,\r\n '' AS intro,\r\n data_type AS db_data_type,\r\n column_type,\r\n IF(data_type LIKE column_type,NULL,COALESCE ( character_maximum_length, numeric_precision )) AS data_len,\r\n IF(data_type LIKE column_type, NULL, numeric_scale ) AS num_scale,\r\n IF(column_key = 'PRI', 1, 0 ) AS primary_key,\r\n IF(is_nullable = 'YES', 0, 1 ) AS not_null,\r\n IF(extra = 'AUTO_INCREMENT', 1, 0 ) AS auto_increment,\r\n column_default AS default_value\r\nFROM\r\n information_schema.COLUMNS\r\nWHERE\r\n table_schema IN (:schemaName)\r\n and CONCAT(table_schema, '.', table_name) in (:sysTableNames)\r\nORDER BY\r\n table_schema ASC,\r\n table_name ASC,\r\n ordinal_position ASC;",
"metaIndexQuery": "SELECT \r\n TRIM(INDEX_SCHEMA) AS SCHEMA_NAME, \r\n TABLE_NAME AS TBL_DEF_KEY,\r\n COLUMN_NAME AS COL_DEF_KEY,\r\n COMMENT AS DEF_NAME,\r\n '' AS INTRO,\r\n IF (COLLATION = 'A', 'ASC', 'DESC') AS SORT_TYPE,\r\n IF (NON_UNIQUE = 1, 'NORMAL', 'UNIQUE') AS TYPE,\r\n SEQ_IN_INDEX AS ORDER_VALUE,\r\n INDEX_NAME AS DEF_KEY FROM information_schema.STATISTICS\r\n WHERE TRIM(INDEX_SCHEMA) IN (:schemaName) AND CONCAT(TRIM(INDEX_SCHEMA), '.', TRIM(TABLE_NAME)) IN (:sysTableNames)\r\n AND INDEX_TYPE != 'PRIMARY'\r\nORDER BY INDEX_SCHEMA, TABLE_NAME, INDEX_NAME",
"metaQueryCharset": null,
"orderValue": 10,
"isEnabled": 0,
"id": "1K6TV6WJR1801"
},
{
"defKey": "GBase 8s",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1088 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M386.176 604.16h-132.48v0.192h137.856a38.656 38.656 0 0 0 28.288-12.416c-7.04 7.04-18.048 12.16-33.664 12.16zM239.36 457.792H97.92a37.568 37.568 0 0 0-37.632 37.568V565.76c0 21.248 17.344 38.528 38.592 38.528h122.688a17.92 17.92 0 0 0 17.792-17.792v-54.912a17.92 17.92 0 0 0-17.792-17.792H135.936v36.352h70.72v21.504H105.408a12.608 12.608 0 0 1-12.672-12.736v-53.888c0-7.04 5.632-12.672 12.672-12.672H209.92a12.864 12.864 0 0 0 10.944-6.08l18.56-28.544zM419.392 469.76c6.336 6.784 10.24 15.808 10.496 25.792v-1.216a33.664 33.664 0 0 0-10.496-24.64z m10.496 96.576a39.232 39.232 0 0 1-10.048 25.344 35.008 35.008 0 0 0 10.048-24.128c0.192-0.512 0.192-0.768 0-1.28z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" p-id=\"31196\" stroke=\"none\"></path><path d=\"M411.072 529.472a38.144 38.144 0 0 0 19.008-33.408V495.36a39.168 39.168 0 0 0-10.496-25.856 38.336 38.336 0 0 0-28.032-12.224H253.76v146.368h132.48c15.808 0 26.56-5.12 33.6-12.16l0.256-0.32a38.72 38.72 0 0 0 9.984-25.344V562.176a38.784 38.784 0 0 0-19.008-32.64z m-16.128 37.76a11.072 11.072 0 0 1-8 3.456H285.696V547.84h100.992c6.336 0 11.456 5.12 11.456 11.52a10.496 10.496 0 0 1-3.2 8z m0-54.848a12.16 12.16 0 0 1-8 3.456H285.696V492.8h100.992c6.336 0 11.456 5.12 11.456 11.52a10.88 10.88 0 0 1-3.2 8zM547.2 457.792H512a4.672 4.672 0 0 0-3.84 2.176L425.472 603.904h42.24l17.28-33.472H573.44l18.304 33.472h41.216l-82.176-144c-0.512-1.152-1.92-2.112-3.648-2.112z m-40.768 78.272l22.912-43.392 22.976 43.392h-45.888zM643.264 604.16l-19.2-34.432h132.416a10.88 10.88 0 0 0 10.752-10.752 10.88 10.88 0 0 0-10.752-10.688h-87.36a45.184 45.184 0 0 1 0-90.24h128.832l-18.56 34.816h-109.056a12.48 12.48 0 0 0-12.416 12.48c0 6.848 5.632 12.416 12.416 12.416h84.48a43.072 43.072 0 1 1 0 86.4H643.2zM963.584 604.16H850.56a42.752 42.752 0 0 1-42.688-42.752v-60.16c0-23.68 19.264-42.752 42.688-42.752h136.832l-22.144 34.624-111.744-0.448c-7.808 0-13.888 6.336-13.888 13.888v7.552l147.584 1.28-23.68 31.36H840.32l-0.256 12.032c0 6.336 5.12 11.456 11.52 11.456l135.616-0.512-23.68 34.368z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" p-id=\"31197\" stroke=\"none\"></path><path d=\"M1048 427.264a31.232 31.232 0 1 0 0 62.464 31.232 31.232 0 0 0 0-62.464z m-36.16 31.232a36.096 36.096 0 1 1 72.256 0 36.096 36.096 0 0 1-72.256 0z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" p-id=\"31198\" stroke=\"none\"></path><path d=\"M1034.304 439.936h2.432l3.648-0.192c2.496 0 5.12-0.256 7.36-0.256 4.608 0 8.512 0.448 11.968 1.664 4.608 1.728 7.04 6.144 7.04 10.496a11.776 11.776 0 0 1-6.848 10.048 18.944 18.944 0 0 1-4.352 1.216l12.416 15.616-4.16 2.176-13.632-16.832h-3.2c-1.92 0-4.096 0-6.08-0.256h-1.728v16.832h-4.864v-40.512z m4.864 3.712v15.808h7.808a25.984 25.984 0 0 0 10.24-1.472c2.944-1.216 4.16-3.84 4.16-6.528a8.64 8.64 0 0 0-4.352-7.104 27.968 27.968 0 0 0-9.792-1.216c-2.176 0-4.608 0-7.04 0.256l-1.024 0.256z\" fill=\"rgba(188.95499999999998,48.96,35.955,1)\" p-id=\"31199\" stroke=\"none\"></path>\n </g>\n </svg>",
"driverFiles": "gbasedbtjdbc_3.5.1.jar",
"jdbcReferDriver": "com.gbasedbt.jdbc.Driver",
"jdbcReferUrl": "jdbc:gbasedbt-sqli://[{ip}:{port}][/dbname]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const dataTypeArray = [\r\n 'SMALLINT',\r\n 'INT8',\r\n 'INT',\r\n 'INT8',\r\n 'INTEGER',\r\n 'REAL',\r\n 'SMALLFLOAT',\r\n 'BIGSERIAL',\r\n 'TEXT',\r\n 'BIGINT',\r\n 'DATE',\r\n 'DOUBLE PRECISION',\r\n 'BYTE'\r\n ];\r\n function getDataType(field) {\r\n const dataType = field.dbDataType?.toUpperCase();\r\n if (field.autoIncrement && dataType === 'BIGINT') {\r\n return 'SERIAL8';\r\n } else if (field.autoIncrement) {\r\n return 'SERIAL';\r\n } else if (dataTypeArray.includes(dataType)) {\r\n return field.dbDataType;\r\n } else if (dataType === 'TIMESTAMP' && field.dataLen && field.dataLen >= 1 && field.dataLen <= 6) {\r\n return `${field.dbDataType}(${field.dataLen})`;\r\n } else if (dataType === 'FLOAT' && field.dataLen && field.dataLen >= 1 && field.dataLen <= 16) {\r\n return `${field.dbDataType}(${field.dataLen})`;\r\n } else if (dataType === 'MONEY' && field.dataLen && field.dataLen >= 2 && field.dataLen <= 32) {\r\n if (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen) {\r\n return `${field.dbDataType}(${field.dataLen},${field.numScale})`;\r\n } else {\r\n return `${field.dbDataType}(${field.dataLen})`;\r\n }\r\n } else if (\r\n (dataType === 'VARCHAR' || dataType === 'NVARCHAR') &&\r\n field.dataLen &&\r\n field.dataLen >= 1 &&\r\n field.dataLen <= 255\r\n ) {\r\n if (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen) {\r\n return `${field.dbDataType}(${field.dataLen},${field.numScale})`;\r\n } else {\r\n return `${field.dbDataType}(${field.dataLen})`;\r\n }\r\n } else if (\r\n (dataType === 'DECIMAL' || dataType === 'NUMERIC') &&\r\n field.dataLen &&\r\n field.dataLen >= 1 &&\r\n field.dataLen <= 32\r\n ) {\r\n if (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen) {\r\n return `${field.dbDataType}(${field.dataLen},${field.numScale})`;\r\n } else {\r\n return `${field.dbDataType}(${field.dataLen})`;\r\n }\r\n } else if (field.dataLen && field.dataLen >= 0) {\r\n return `${field.dbDataType}(${field.dataLen})`;\r\n }\r\n return field.dbDataType;\r\n }\r\n function getConstraints(field) {\r\n let constraints = '';\r\n if (field.notNull) {\r\n constraints += ' NOT NULL';\r\n }\r\n if (field.defaultValue) {\r\n constraints += ` DEFAULT ${field.defaultValue}`;\r\n }\r\n return constraints;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}{{=field.defKey}} {{= getDataType(field) }}{{= getConstraints(field) }}{{= index < it.fields.length-1 || pkList.length>0 ? ',' : ( pkList.length > 0 ? ',' : '' ) }}{{~}}{{? pkList.length >0 }}\r\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n);\r\n\r\n{{? it.func.join(it.defName,it.intro) }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.defName}}{{? it.defName && it.intro}}; {{=it.intro}}{{?? it.intro}}{{=it.intro}}{{?}}';\r\n{{?}}\r\n\r\n{{~it.fields:field:index}}\r\n{{? it.func.join(field.defName,field.intro) }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=field.defName}}{{? field.defName && field.intro}}; {{=field.intro}}{{?? field.intro}}{{=field.intro}}{{?}}';\r\n{{?}}\r\n{{~}}\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD CONSTRAINT PRIMARY KEY ({{~indexFields:field:i}}{{= field.defKey }}{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}COMMENT ON TABLE {{= tableKey }} IS '{{=defName}}{{? defName && intro}}; {{=intro}}{{?? intro}}{{=intro}}{{?}}';{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}RENAME TABLE {{= tableKey }} TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'SERIAL8' : 'SERIAL';\n } else if(dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INT8' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'INT8' ||\n dbDataType.toUpperCase() === 'INTEGER' ||\n dbDataType.toUpperCase() === 'REAL' ||\n dbDataType.toUpperCase() === 'SMALLFLOAT' ||\n dbDataType.toUpperCase() === 'BIGSERIAL' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DOUBLE PRECISION' ||\n dbDataType.toUpperCase() === 'BYTE') {\n return dbDataType; \n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 6) ? `(${dataLen})` : ''}`\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 16) ? `(${dataLen})` : ''}`\n } else if(dbDataType.toUpperCase() === 'MONEY') {\n return `${dbDataType} ${(dataLen && dataLen >= 2 && dataLen <= 32) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dbDataType.toUpperCase() === 'VARCHAR' ||\n dbDataType.toUpperCase() === 'NVARCHAR') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 255) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`; \n } else if(dbDataType.toUpperCase() === 'DECIMAL' ||\n dbDataType.toUpperCase() === 'NUMERIC') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 32) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD {{= field.defKey}} {{= finalDataType}}{{? field.notNull}} NOT NULL{{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}};\n{{? field.defName || field.intro }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=field.defName}}{{? field.defName && field.intro}}; {{=field.intro}}{{?? field.intro}}{{=field.intro}}{{?}}';\n{{?}}\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'SERIAL8' : 'SERIAL';\n } else if(dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INT8' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'INT8' ||\n dbDataType.toUpperCase() === 'INTEGER' ||\n dbDataType.toUpperCase() === 'REAL' ||\n dbDataType.toUpperCase() === 'SMALLFLOAT' ||\n dbDataType.toUpperCase() === 'BIGSERIAL' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DOUBLE PRECISION' ||\n dbDataType.toUpperCase() === 'BYTE') {\n return dbDataType; \n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 6) ? `(${dataLen})` : ''}`\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 16) ? `(${dataLen})` : ''}`\n } else if(dbDataType.toUpperCase() === 'MONEY') {\n return `${dbDataType} ${(dataLen && dataLen >= 2 && dataLen <= 32) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dbDataType.toUpperCase() === 'VARCHAR' ||\n dbDataType.toUpperCase() === 'NVARCHAR') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 255) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`; \n } else if(dbDataType.toUpperCase() === 'DECIMAL' ||\n dbDataType.toUpperCase() === 'NUMERIC') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 32) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey') }}RENAME COLUMN {{= tableKey }}.{{= preDefKey }} TO {{= field.defKey }};{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'notNull' || item === 'defaultValue' || item === 'autoIncrement') }}\nALTER TABLE {{= tableKey }} MODIFY {{= field.defKey }} {{= finalDataType}} {{? updateKeys.includes('notNull') }} {{? field.notNull }} NOT NULL {{??}} NULL {{?}}{{?}}{{? updateKeys.includes('defaultValue') }}{{? field.defaultValue }} DEFAULT {{= field.defaultValue}}{{?}}{{?}};\n{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=field.defName}}{{? field.defName && field.intro}}; {{=field.intro}}{{?? field.intro}}{{=field.intro}}{{?}}';\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}} {{?}}INDEX {{=row.defKey}} ON {{= tableKey }}(\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX IF EXISTS {{? preDefKey}} {{= preDefKey}}{{??}} {{=row.defKey}}{{?}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX IF EXISTS {{=row.defKey}};\n{{~}}",
"metaTableQuery": "select\r\n t.tabname as def_key,\r\n c.comments as def_name,\r\n t.owner as schema_name\r\nfrom systables t\r\n left join syscomments c on t.tabname = c.tabname\r\nwhere t.tabtype = 'T' and t.owner in (:schemaName)",
"metaColumnQuery": "SELECT DISTINCT c.colname as def_key,\r\n t.tabname as tbl_def_key,\r\n TRIM(t.owner) as schema_name,\r\n c.colno as order_value,\r\n c.colno ,\r\n CASE\r\n WHEN INSTR(c.coltypename2, '(') = 0 THEN c.coltypename2\r\n ELSE\r\n SUBSTR(c.coltypename2, 1, INSTR(c.coltypename2, '(') - 1) END as db_data_type,\r\n CASE WHEN mod(c.coltype,256) = c.coltype - 256 THEN 1 ELSE 0\r\n END\r\n AS not_null,\r\n CASE d.type\r\n WHEN 'L' THEN get_default_value(c.coltype, c.extended_id, c.collength, d.default::lvarchar(256))::VARCHAR(254)\r\n WHEN 'C' THEN 'current year to second'::VARCHAR(254)\r\n WHEN 'S' THEN 'dbservername'::VARCHAR(254)\r\n WHEN 'U' THEN 'user'::VARCHAR(254)\r\n WHEN 'T' THEN 'today'::VARCHAR(254)\r\n WHEN 'E' THEN de.default::VARCHAR(254)\r\n ELSE NULL::VARCHAR(254)\r\nEND\r\nAS default_value,\r\n CASE WHEN LENGTH(CASE WHEN c.colno IN (SELECT i.part1 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part2 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part3 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part4 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part5 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part6 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part7 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part8 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part9 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part10 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part11 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part12 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part13 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part14 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part15 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n UNION ALL SELECT i.part16 FROM sysindexes i,sysconstraints con WHERE i.idxname = con.idxname AND con.constrtype = 'P' AND con.tabid = c.tabid\r\n ) THEN 'PRI' ELSE ''\r\nEND) = 0 THEN 0 ELSE 1 END AS primary_key,\r\n CASE WHEN mod(c.coltype,256) IN (6,18,53) THEN 1 ELSE 0\r\nEND\r\nAS auto_increment,\r\n CASE lower(colauth)\r\n WHEN 's--' THEN 'select'\r\n WHEN 'su-' THEN 'select,update'\r\n WHEN 'sur' THEN 'select,update,references'\r\n WHEN '-u-' THEN 'update'\r\n WHEN '-ur' THEN 'update,references'\r\n WHEN '--r' THEN 'references'\r\n ELSE 'select,update,reference'\r\nEND\r\nAS privilege,\r\n colcomm.comments as def_name\r\nFROM syscolumnsext c\r\n LEFT JOIN systables t ON c.tabid = t.tabid\r\n LEFT JOIN sysdefaults d ON (c.tabid = d.tabid AND c.colno = d.colno)\r\n LEFT JOIN sysdefaultsexpr de ON (c.tabid = de.tabid AND c.colno = de.colno and de.type='T')\r\n LEFT JOIN syscolauth colauth ON (c.tabid = colauth.tabid )\r\n LEFT JOIN syscolcomments colcomm ON (t.tabname = colcomm.tabname AND c.colname = colcomm.colname)\r\nWHERE CONCAT(CONCAT(TRIM(' ' from t.owner), '.'), TRIM(t.tabname)) IN (:sysTableNames)\r\n and TRIM(t.owner) IN (:schemaName)\r\nORDER BY t.owner, t.tabname, order_value ",
"metaIndexQuery": "select\r\n TRIM(t.owner) as schema_name,\r\n t.tabname tbl_def_key,\r\n i.idxname def_key,\r\n '' def_name,\r\n '' intro,\r\n CASE\r\n WHEN idxtype='U'\r\n THEN 'UNIQUE'\r\n ELSE 'NORMAL'\r\n END\r\n AS type,\r\n trim(case\r\n when i.part1 > 0 then ('ASC')\r\n when i.part1 < 0 then ('DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part2 > 0 then (',ASC')\r\n when i.part2 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part3 > 0 then (',ASC')\r\n when i.part3 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part4 > 0 then (',ASC')\r\n when i.part4 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part5 > 0 then (',ASC')\r\n when i.part5 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part6 > 0 then (',ASC')\r\n when i.part6 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part7 > 0 then (',ASC')\r\n when i.part7 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part8 > 0 then (',ASC')\r\n when i.part8 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part9 > 0 then (',ASC')\r\n when i.part9 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part10 > 0 then (',ASC')\r\n when i.part10 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part11 > 0 then (',ASC')\r\n when i.part11 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part12 > 0 then (',ASC')\r\n when i.part12 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part13 > 0 then (',ASC')\r\n when i.part13 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part14 > 0 then (',ASC')\r\n when i.part14 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part15 > 0 then (',ASC')\r\n when i.part15 < 0 then (',DESC')\r\n else ('') end) ||\r\n trim(case\r\n when i.part16 > 0 then (',ASC')\r\n when i.part16 < 0 then (',DESC')\r\n else ('') end) sort_type,\r\n 1 order_value,\r\n trim(case\r\n when i.part1 > 0 then (select colname from syscolumns where colno = i.part1 and tabid = i.tabid)\r\n else (select colname from syscolumns where colno = i.part1*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part2 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part2\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part2*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part3 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part3\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part3*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part4 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part4\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part4*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part5 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part5\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part5*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part6 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part6\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part6*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part7 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part7\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part7*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part8 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part8\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part8*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part9 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part9\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part9*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part10 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part10\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part10*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part11 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part11\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part11*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part12 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part12\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part12*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part13 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part13\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part13*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part14 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part14\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part14*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part15 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part15\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part15*-1 and tabid = i.tabid) end) ||\r\n trim(case\r\n when i.part16 > 0 then (select ',' || colname\r\n from syscolumns\r\n where colno = i.part16\r\n and tabid = i.tabid)\r\n else (select ',' || colname from syscolumns where colno = i.part16*-1 and tabid = i.tabid) end) col_def_key,\r\n i.idxname\r\nfrom systables t\r\n join sysindexes i on\r\n t.tabid = i.tabid\r\nwhere t.tabid > 99\r\n and t.tabtype = 'T'\r\n and TRIM(t.owner) IN (:schemaName)\r\n and CONCAT(CONCAT(TRIM(' ' from t.owner), '.'), TRIM(t.tabname)) IN (:sysTableNames)\r\n and NOT REGEXP_LIKE(i.idxname, '^[[:space:][:digit:]]')\r\norder by t.owner, tbl_def_key, def_key, order_value",
"metaQueryCharset": null,
"orderValue": 11,
"isEnabled": 0,
"id": "1KE9YGK6H1M02"
},
{
"defKey": "OceanBase-Oracle",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M897.586312 255.98826a30.286688 30.286688 0 0 1 30.250564 30.250563v451.518741a30.286688 30.286688 0 0 1-30.250564 30.250564H126.178879a30.286688 30.286688 0 0 1-30.250563-30.250564V286.238823a30.286688 30.286688 0 0 1 30.250563-30.250563h771.407433m0-31.988147H126.178879A62.23871 62.23871 0 0 0 63.940169 286.238823v451.518741a62.23871 62.23871 0 0 0 62.23871 62.238711h771.407433A62.23871 62.23871 0 0 0 959.825022 737.757564V286.238823a62.23871 62.23871 0 0 0-62.23871-62.23871z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"5921\"></path><path d=\"M234.953028 619.955931c4.696171-27.81578-14.048775-50.353786-41.860943-50.353786-27.81578 0-54.157684 22.545231-58.850242 50.353786L128.602826 653.403503c-4.696171 27.81578 14.048775 50.353786 41.860942 50.353786 27.81578 0 54.157684-22.545231 58.850243-50.353786zM197.156079 656.560775c-1.726746 10.241264-11.429757 18.60406-21.674633 18.60406-10.241264 0-17.141023-8.366409-15.414277-18.60406l6.686624-39.715154c1.726746-10.241264 11.429757-18.625735 21.674634-18.625735 10.241264 0 17.141023 8.384471 15.414277 18.625735zM313.90288 614.685383l-23.267719 19.633605s-13.178177-12.087221-24.723532 2.362535c-12.387053 15.5082-6.794998 41.87178 6.477103 39.964412 7.307964-1.05122 14.836287-5.241649 14.836287-5.241649l13.589995 19.633606s-32.356615 22.906475-59.26206 5.454783-6.50239-66.974618 10.179853-81.80368c16.360736-14.547292 39.993311-19.272362 62.170073-0.003612z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"5922\"></path><path d=\"M366.684226 602.587325c-11.418919-2.167463-23.379705-0.158947-33.234439 5.996648-11.921048 7.434399-32.533625 26.266043-29.723147 65.605504 0.60689 8.482007 5.884663 15.40344 12.105283 20.287457 11.505618 9.031097 33.570395 17.318032 67.151627-6.701075l-14.178823-17.364993s-12.188369 11.440594-27.454536 7.838992a13.16734 13.16734 0 0 1-5.173012-2.36976c-3.720812-2.926076-5.722103-7.586122-4.439688-15.533487h59.262061l2.908013-16.107865s4.790094-35.600586-27.223339-41.651421z m-1.517225 38.754245l-29.813458 0.065023c1.871243-11.895761 10.62057-15.24088 15.121669-16.180114a10.905953 10.905953 0 0 1 5.306673 0.231197c12.267843 3.612439 9.385116 15.883894 9.385116 15.883894zM444.304701 601.944311s-23.997432 0.314282-36.846877 13.799516l15.511812 17.505879s5.816027-8.077413 18.907506-6.863634c0 0 13.087866 1.806219 8.969686 16.978463h-25.330422s-14.395569-0.541866-26.435828 14.449756c-7.315189 9.110571-9.200882 21.56626-4.378276 32.208505 5.133276 11.332221 17.700951 20.565615 48.388619 3.659401l-1.697846 9.280356h28.480468l10.302676-59.243999s10.179853-44.09343-35.871518-41.774243zM433.640781 679.861006s-11.635666 1.202942-12.603799-8.854088c0 0 0-8.854088 13.087866-8.854088H447.219939s0 15.779133-13.579158 17.708176zM550.062463 601.95876c-13.821191-0.32512-22.342935 5.610118-26.21547 9.200882l1.289641-7.383825h-29.448602l-17.451692 97.799559h29.813458l10.335188-59.222324v0.057799c2.463683-14.088512 14.139086-14.348607 14.139086-14.348607 12.845833 0 11.393632 10.952915 11.393632 10.952915l-11.147986 62.928686H562.095497l11.147986-60.32773c7.412725-38.132905-18.062195-39.617618-21.837193-39.628455-0.44433-0.007225-0.892272-0.018062-1.343827-0.0289zM675.331007 611.311365c2.871889-9.367054 2.528707-17.368606-1.202942-25.287073-2.622631-5.552319-7.152629-10.981814-14.980784-13.868153-4.436075-1.632822-9.186432-2.120502-13.915115-2.120501h-50.725867l-22.436858 132.215264h53.052278s37.388743 0.41543 43.385391-33.956926c0 0 4.72507-27.03188-15.995879-33.725729 0 0.025287 16.570257-2.864664 22.819776-23.256882z m-20.39583 56.46242c-6.545739 24.965565-31.630515 22.20205-31.630515 22.20205h-35.268241l7.694495-48.406682H633.621788c27.37145 0 21.31339 26.204632 21.313389 26.204632z m7.99794-64.214714c-1.239067 10.35325-6.892533 16.617219-12.592962 20.24772a32.800945 32.800945 0 0 1-17.635927 5.115213h-34.972021L605.806008 583.408886h39.91745c20.601739 2.167463 17.209659 20.153797 17.209659 20.153797zM717.954174 609.353423s-23.874609-1.33299-36.055753 14.482267l7.727007 7.784806s8.225523-10.255714 23.480853-9.771647c0 0 24.951116-2.315573 18.889443 26.583938h-34.538528s-20.341644-0.494904-27.81578 24.398413a22.671667 22.671667 0 0 0 2.261387 18.358414c5.339185 8.669853 18.445113 16.667793 50.628331 4.421625l-1.210167 6.650501h14.301646l10.179853-55.360627s9.47904-37.54769-27.848292-37.54769z m-7.026193 81.785617s-29.087358 9.262293-30.539559-13.521359c0 0-2.423947-17.62509 24.481498-17.263845H729.351419s0 24.969178-18.423438 30.785204zM821.468612 620.501409l-8.969686 8.362796s-8.239973-9.33093-28.357646-7.39105c0 0-15.757459 0.581603-18.864156 14.471431-1.000646 4.468587 0.484067 9.200882 4.053157 12.065546 2.008516 1.611148 4.782869 2.759903 8.507293 2.304736 0 0 38.537498-6.05806 39.014341 20.843772 0 0 0.968134 32.598649-46.051372 31.872549 0 0-18.177793-1.390789-29.571425-13.00478l8.239973-7.727007s19.257912 16.082578 43.139746 6.527677c7.344088-2.936913 11.99691-10.382149 11.007101-18.228367q-0.039737-0.328732-0.093923-0.661076s-0.361244-10.50136-26.663412-8.56148a27.454536 27.454536 0 0 1-15.013296-3.088635c-6.538514-3.511291-12.025809-12.643536-7.492198-25.966211 0 0 7.199591-27.617096 40.592976-23.71205a45.155487 45.155487 0 0 1 11.921049 3.12476c4.876793 2.019353 12.000522 5.378922 14.601478 8.767389z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"5923\"></path><path d=\"M893.681266 658.796874s12.845833-42.659291-21.815519-47.749217c0 0-38.291853-7.513873-50.415198 43.627425 0 0-13.3299 48.984672 38.779532 48.366944 0 0 15.511813-1.401626 27.389512-13.00478l-7.990715-8.698753s-15.392602 14.785713-34.972021 8.30861c-6.899758-2.275837-11.469494-8.897437-12.069158-16.136765-0.32512-3.933946-0.205909-8.138825 1.264353-14.847124z m-33.006855-36.883001a19.716692 19.716692 0 0 1 14.298034 2.185526c13.084254 7.766744 8.283322 26.139608 8.283322 26.139608H835.268128c5.201912-20.590902 17.661214-26.620062 25.406283-28.325134zM384.984841 422.872101s4.060381-28.357646 111.407617-25.648317c89.664347-2.709329 112.68642-77.161695 112.686419-77.161695s-44.862879 42.944674-97.232406 45.910486c-106.946254-2.969425-126.86163 56.895913-126.86163 56.895913z m0 41.954865s4.060381-28.357646 111.407617-25.648316c89.660734-2.716554 112.68642-77.165308 112.686419-77.165308s-44.862879 42.941062-97.232406 45.914099c-106.946254-2.969425-126.86163 56.895913-126.86163 56.895913z m0 46.600462s4.060381-28.357646 111.407617-25.648316c89.660734-2.716554 112.68642-77.165308 112.686419-77.165308s-44.862879 42.944674-97.232406 45.910486c-106.946254-2.969425-126.86163 56.895913-126.86163 56.895914z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"5924\"></path>\n </g>\n </svg>",
"driverFiles": "oceanbase-client-2.4.13.jar",
"jdbcReferDriver": "com.oceanbase.jdbc.Driver",
"jdbcReferUrl": "jdbc:oceanbase://[ip]:[port]/?pool=false&user=[user]@oracle&password=[password]",
"tableCreate": "\r\n{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n function getFieldLength(field) {\r\n switch (field.dbDataType?.toUpperCase()) {\r\n case 'VARCHAR2':\r\n return `(${field.dataLen ? field.dataLen : 128})`;\r\n case 'TIMESTAMP':\r\n return field.dataLen && field.dataLen >= 1 && field.dataLen <= 9 ? `(${field.dataLen})` : '(6)';\r\n case 'INTEGER':\r\n case 'BINARY_DOUBLE':\r\n case 'DATE':\r\n case 'CLOB':\r\n case 'LONG':\r\n case 'NCLOB':\r\n case 'BLOB':\r\n return '';\r\n case 'FLOAT':\r\n return field.dataLen && field.dataLen >= 1 && field.dataLen <= 126 ? `(${field.dataLen})` : '';\r\n case 'DECIMAL':\r\n case 'NUMBER':\r\n return field.dataLen && field.dataLen >= 1 && field.dataLen <= 38 ? \r\n (field.numScale && field.numScale >= -84 && field.numScale <= 127 ? `(${field.dataLen},${field.numScale})` : `(${field.dataLen})`) : \r\n '';\r\n default:\r\n return field.dataLen ? `(${field.dataLen})` : '';\r\n }\r\n }\r\n}}\r\nBEGIN\r\n EXECUTE IMMEDIATE 'DROP TABLE {{= tableKey }}';\r\nEXCEPTION\r\n WHEN OTHERS THEN\r\n IF SQLCODE != -942 THEN -- Table does not exist error\r\n RAISE;\r\n END IF;\r\nEND;\r\n/\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n {{=field.defKey}} {{=field.dbDataType}}{{=getFieldLength(field)}}{{=field.autoIncrement ? '' : '' }}{{? field.defaultValue }} DEFAULT {{=field.defaultValue}}{{?}}{{=field.notNull?' NOT NULL' : '' }}{{= index < it.fields.length-1 ? ',' : ( pkList.length > 0 ? ',' : '' ) }}{{~}}\r\n{{? pkList.length > 0 }} \r\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i < pkList.length-1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n);\r\n\r\n{{? it.defName || it.intro }} \r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n{{?}}\r\n\r\n{{~it.fields:field:index}}\r\n{{? field.defName || field.intro }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n$blankline",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{=it.defKey}} DROP PRIMARY KEY;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{=it.defKey}} ADD CONSTRAINT {{=it.defKey}}_PRIMARY_KEY PRIMARY KEY ({{~indexFields:field:i}}{{= field.defKey }}{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}COMMENT ON TABLE {{=it.defKey}} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}'; {{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{=it.defKey}} RENAME TO {{=defKey}}; {{?}}",
"tableDelete": "BEGIN\r\n EXECUTE IMMEDIATE 'DROP TABLE {{=it.defKey}}';\r\nEXCEPTION\r\n WHEN OTHERS THEN\r\n IF SQLCODE != -942 THEN -- Table does not exist error\r\n RAISE;\r\n END IF;\r\nEND;\r\n/",
"columnCreate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeDataLen = (dataLen, maxDataLen, defaultDataLen) => {\r\n if(!dataLen) {\r\n return defaultDataLen;\r\n }\r\n if(dataLen >= 0 && dataLen <= maxDataLen) {\r\n return dataLen;\r\n }\r\n return defaultDataLen;\r\n \r\n };\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR2') {\r\n return `${dbDataType} (${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType} (${computeDataLen(dataLen, 9, 6)})`;\r\n } else if(dbDataType.toUpperCase() === 'INTEGER' ||\r\n dbDataType.toUpperCase() === 'BINARY_DOUBLE' ||\r\n dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'CLOB' ||\r\n dbDataType.toUpperCase() === 'LONG' ||\r\n dbDataType.toUpperCase() === 'NCLOB' ||\r\n dbDataType.toUpperCase() === 'BLOB') {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 126) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL' ||\r\n dbDataType.toUpperCase() === 'NUMBER') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= -84 && numScale <= 127) ? `(${dataLen},${numScale})` : `(${dataLen})`) : ''}`; \r\n } else if(dataLen && dataLen >= 0) {\r\n return `${dbDataType} (${dataLen})`\r\n }\r\n return dbDataType;\r\n \r\n };\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\n{{\r\n const finalDataType = computeDatatype(field);\r\n}}\r\nALTER TABLE {{= it.defKey}} ADD {{= field.defKey }} {{= finalDataType }} {{? field.defaultValue}} DEFAULT {{=field.defaultValue}}{{?}}{{? field.notNull}} NOT NULL{{?}};\r\n{{? field.defName || field.intro }}\r\nCOMMENT ON COLUMN {{= it.defKey}}.{{= field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}",
"columnUpdate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeDataLen = (dataLen, maxDataLen, defaultDataLen) => {\r\n if(!dataLen) {\r\n return defaultDataLen;\r\n }\r\n if(dataLen >= 0 && dataLen <= maxDataLen) {\r\n return dataLen;\r\n }\r\n return defaultDataLen;\r\n \r\n };\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR2') {\r\n return `${dbDataType} (${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType} (${computeDataLen(dataLen, 9, 6)})`;\r\n } else if(dbDataType.toUpperCase() === 'INTEGER' ||\r\n dbDataType.toUpperCase() === 'BINARY_DOUBLE' ||\r\n dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'CLOB' ||\r\n dbDataType.toUpperCase() === 'LONG' ||\r\n dbDataType.toUpperCase() === 'NCLOB' ||\r\n dbDataType.toUpperCase() === 'BLOB') {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'FLOAT') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 126) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL' ||\r\n dbDataType.toUpperCase() === 'NUMBER') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= -84 && numScale <= 127) ? `(${dataLen},${numScale})` : `(${dataLen})`) : ''}`; \r\n } else if(dataLen && dataLen >= 0) {\r\n return `${dbDataType} (${dataLen})`\r\n }\r\n return dbDataType;\r\n \r\n };\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\n{{\r\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n const finalDataType = computeDatatype(field);\r\n const preDefKey = field?.baseUpdate?.pre?.defKey;\r\n const nextDefKey = field?.baseUpdate?.next?.defKey;\r\n}}\r\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= it.defKey}} RENAME COLUMN {{= preDefKey}} TO {{= nextDefKey}};{{?}}\r\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale') }}\r\nALTER TABLE {{= it.defKey}} MODIFY {{=field.defKey}} {{=finalDataType}};\r\n{{?}}\r\n{{? updateKeys.includes('notNull') }}ALTER TABLE {{= it.defKey}} MODIFY {{=field.defKey}} {{? field.notNull }} NOT NULL {{??}} NULL {{?}};{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nCOMMENT ON COLUMN {{= it.defKey}}.{{= field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{? updateKeys.includes('defaultValue') }}\r\nALTER TABLE {{= it.defKey}} MODIFY {{=field.defKey}} DEFAULT {{=field.defaultValue}};\r\n{{?}}\r\n{{~}}",
"columnDelete": "{{\r\n let fieldsUpdate = it.fieldsUpdate; \r\n}}\r\n{{~fieldsUpdate:field:index}}\r\nALTER TABLE {{=it.defKey}} DROP COLUMN {{=field.defKey}};\r\n{{~}}",
"indexCreate": "{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE{{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{=it.defKey}} (\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX {{? preDefKey}} {{= preDefKey}} {{??}} {{=row.defKey}} {{?}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}} {{?}} INDEX {{=row.defKey}} ON {{=it.defKey}} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\r\n let indexesUpdate = it.indexesUpdate; \r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~indexesUpdate:row:i}}\r\nBEGIN\r\n EXECUTE IMMEDIATE 'DROP INDEX {{= schemaName }}{{=row.defKey}}';\r\nEXCEPTION\r\n WHEN OTHERS THEN\r\n IF SQLCODE!= -1418 THEN -- Index does not exist error\r\n RAISE;\r\n END IF;\r\nEND;\r\n{{~}}",
"metaTableQuery": "SELECT\n\t\t'' as id,\n t.table_name AS def_key,\n c.comments AS def_name,\n t.OWNER AS schema_name\nFROM all_tables t left join all_tab_comments c on t.OWNER=c.OWNER and t.TABLE_NAME=c.TABLE_NAME\nwhere upper(t.OWNER) in (:schemaName) order by def_key",
"metaColumnQuery": "SELECT\r col.owner AS schema_name,\r\tcol.table_name AS tbl_def_key,\r\tcol.column_id AS order_value,\r\tcol.column_name AS def_key,\r\tclc.comments AS def_name,\r\t'' AS intro,\r\tcol.data_type AS db_data_type,\r\tnvl(col.data_precision,col.data_length) AS data_len,\r\tcol.data_scale AS num_scale,\r\tdecode(col.nullable,'Y',0,1) AS not_null,\r\tCASE WHEN cc.constraint_name IS NOT NULL THEN 1 ELSE 0 END AS primary_key,\r\t--'' AS auto_increment,\r\t\tCASE WHEN col.data_default ='SEQUENCE.NEXTVAL' THEN 1 ELSE 0 END AS auto_increment,\r\tCASE WHEN col.data_default ='SEQUENCE.NEXTVAL' THEN '' ELSE col.data_default END AS default_value\r\t --col.data_default AS default_value\rFROM\r\tall_tab_columns col LEFT JOIN all_col_comments clc ON col.OWNER = clc.OWNER AND col.table_name = clc.table_name AND col.column_name = clc.column_name \r\t LEFT JOIN (all_cons_columns cc JOIN all_constraints cs ON cc.constraint_name = cs.constraint_name AND cc.owner = cs.owner and cs.constraint_type = 'P') on col.owner=cc.owner and col.table_name=cc.table_name and col.column_name = cc.column_name\rWHERE\r\tcol.owner in (:schemaName)\r\tAND CONCAT(CONCAT(col.owner, '.') , col.table_name) in (:sysTableNames)\rORDER BY\r\tcol.owner ASC, col.table_name ASC,col.column_id ASC ",
"metaIndexQuery": "SELECT i.TABLE_OWNER AS schema_name,\n i.table_name AS TBL_DEF_KEY,\n ic.column_name AS COL_DEF_KEY,\n i.index_name AS DEF_KEY,\n CASE\n WHEN i.uniqueness = 'UNIQUE' THEN 'UNIQUE'\n ELSE 'NORMAL'\n END AS TYPE,\n CASE\n WHEN ic.descend = 'DESC' THEN 'DESC'\n ELSE 'ASC'\n END AS SORT_TYPE,\n ic.column_position AS ORDER_VALUE,\n NULL AS INTRO -- Oracle does not have a direct equivalent for INDEX_COMMENT\nFROM user_indexes i\n LEFT JOIN all_ind_columns ic ON i.index_name = ic.index_name AND i.table_name = ic.table_name\nWHERE i.TABLE_OWNER in (:schemaName)\n AND CONCAT(CONCAT(i.TABLE_OWNER, '.') , i.table_name) IN (:sysTableNames)\nORDER BY i.TABLE_OWNER, i.table_name, i.index_name, ic.column_position;",
"metaQueryCharset": null,
"orderValue": 12,
"isEnabled": 0,
"id": "BPMCJTYLY1UAC"
},
{
"defKey": "OceanBase-Mysql",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M897.586312 255.98826a30.286688 30.286688 0 0 1 30.250564 30.250563v451.518741a30.286688 30.286688 0 0 1-30.250564 30.250564H126.178879a30.286688 30.286688 0 0 1-30.250563-30.250564V286.238823a30.286688 30.286688 0 0 1 30.250563-30.250563h771.407433m0-31.988147H126.178879A62.23871 62.23871 0 0 0 63.940169 286.238823v451.518741a62.23871 62.23871 0 0 0 62.23871 62.238711h771.407433A62.23871 62.23871 0 0 0 959.825022 737.757564V286.238823a62.23871 62.23871 0 0 0-62.23871-62.23871z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"5921\"></path><path d=\"M234.953028 619.955931c4.696171-27.81578-14.048775-50.353786-41.860943-50.353786-27.81578 0-54.157684 22.545231-58.850242 50.353786L128.602826 653.403503c-4.696171 27.81578 14.048775 50.353786 41.860942 50.353786 27.81578 0 54.157684-22.545231 58.850243-50.353786zM197.156079 656.560775c-1.726746 10.241264-11.429757 18.60406-21.674633 18.60406-10.241264 0-17.141023-8.366409-15.414277-18.60406l6.686624-39.715154c1.726746-10.241264 11.429757-18.625735 21.674634-18.625735 10.241264 0 17.141023 8.384471 15.414277 18.625735zM313.90288 614.685383l-23.267719 19.633605s-13.178177-12.087221-24.723532 2.362535c-12.387053 15.5082-6.794998 41.87178 6.477103 39.964412 7.307964-1.05122 14.836287-5.241649 14.836287-5.241649l13.589995 19.633606s-32.356615 22.906475-59.26206 5.454783-6.50239-66.974618 10.179853-81.80368c16.360736-14.547292 39.993311-19.272362 62.170073-0.003612z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"5922\"></path><path d=\"M366.684226 602.587325c-11.418919-2.167463-23.379705-0.158947-33.234439 5.996648-11.921048 7.434399-32.533625 26.266043-29.723147 65.605504 0.60689 8.482007 5.884663 15.40344 12.105283 20.287457 11.505618 9.031097 33.570395 17.318032 67.151627-6.701075l-14.178823-17.364993s-12.188369 11.440594-27.454536 7.838992a13.16734 13.16734 0 0 1-5.173012-2.36976c-3.720812-2.926076-5.722103-7.586122-4.439688-15.533487h59.262061l2.908013-16.107865s4.790094-35.600586-27.223339-41.651421z m-1.517225 38.754245l-29.813458 0.065023c1.871243-11.895761 10.62057-15.24088 15.121669-16.180114a10.905953 10.905953 0 0 1 5.306673 0.231197c12.267843 3.612439 9.385116 15.883894 9.385116 15.883894zM444.304701 601.944311s-23.997432 0.314282-36.846877 13.799516l15.511812 17.505879s5.816027-8.077413 18.907506-6.863634c0 0 13.087866 1.806219 8.969686 16.978463h-25.330422s-14.395569-0.541866-26.435828 14.449756c-7.315189 9.110571-9.200882 21.56626-4.378276 32.208505 5.133276 11.332221 17.700951 20.565615 48.388619 3.659401l-1.697846 9.280356h28.480468l10.302676-59.243999s10.179853-44.09343-35.871518-41.774243zM433.640781 679.861006s-11.635666 1.202942-12.603799-8.854088c0 0 0-8.854088 13.087866-8.854088H447.219939s0 15.779133-13.579158 17.708176zM550.062463 601.95876c-13.821191-0.32512-22.342935 5.610118-26.21547 9.200882l1.289641-7.383825h-29.448602l-17.451692 97.799559h29.813458l10.335188-59.222324v0.057799c2.463683-14.088512 14.139086-14.348607 14.139086-14.348607 12.845833 0 11.393632 10.952915 11.393632 10.952915l-11.147986 62.928686H562.095497l11.147986-60.32773c7.412725-38.132905-18.062195-39.617618-21.837193-39.628455-0.44433-0.007225-0.892272-0.018062-1.343827-0.0289zM675.331007 611.311365c2.871889-9.367054 2.528707-17.368606-1.202942-25.287073-2.622631-5.552319-7.152629-10.981814-14.980784-13.868153-4.436075-1.632822-9.186432-2.120502-13.915115-2.120501h-50.725867l-22.436858 132.215264h53.052278s37.388743 0.41543 43.385391-33.956926c0 0 4.72507-27.03188-15.995879-33.725729 0 0.025287 16.570257-2.864664 22.819776-23.256882z m-20.39583 56.46242c-6.545739 24.965565-31.630515 22.20205-31.630515 22.20205h-35.268241l7.694495-48.406682H633.621788c27.37145 0 21.31339 26.204632 21.313389 26.204632z m7.99794-64.214714c-1.239067 10.35325-6.892533 16.617219-12.592962 20.24772a32.800945 32.800945 0 0 1-17.635927 5.115213h-34.972021L605.806008 583.408886h39.91745c20.601739 2.167463 17.209659 20.153797 17.209659 20.153797zM717.954174 609.353423s-23.874609-1.33299-36.055753 14.482267l7.727007 7.784806s8.225523-10.255714 23.480853-9.771647c0 0 24.951116-2.315573 18.889443 26.583938h-34.538528s-20.341644-0.494904-27.81578 24.398413a22.671667 22.671667 0 0 0 2.261387 18.358414c5.339185 8.669853 18.445113 16.667793 50.628331 4.421625l-1.210167 6.650501h14.301646l10.179853-55.360627s9.47904-37.54769-27.848292-37.54769z m-7.026193 81.785617s-29.087358 9.262293-30.539559-13.521359c0 0-2.423947-17.62509 24.481498-17.263845H729.351419s0 24.969178-18.423438 30.785204zM821.468612 620.501409l-8.969686 8.362796s-8.239973-9.33093-28.357646-7.39105c0 0-15.757459 0.581603-18.864156 14.471431-1.000646 4.468587 0.484067 9.200882 4.053157 12.065546 2.008516 1.611148 4.782869 2.759903 8.507293 2.304736 0 0 38.537498-6.05806 39.014341 20.843772 0 0 0.968134 32.598649-46.051372 31.872549 0 0-18.177793-1.390789-29.571425-13.00478l8.239973-7.727007s19.257912 16.082578 43.139746 6.527677c7.344088-2.936913 11.99691-10.382149 11.007101-18.228367q-0.039737-0.328732-0.093923-0.661076s-0.361244-10.50136-26.663412-8.56148a27.454536 27.454536 0 0 1-15.013296-3.088635c-6.538514-3.511291-12.025809-12.643536-7.492198-25.966211 0 0 7.199591-27.617096 40.592976-23.71205a45.155487 45.155487 0 0 1 11.921049 3.12476c4.876793 2.019353 12.000522 5.378922 14.601478 8.767389z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"5923\"></path><path d=\"M893.681266 658.796874s12.845833-42.659291-21.815519-47.749217c0 0-38.291853-7.513873-50.415198 43.627425 0 0-13.3299 48.984672 38.779532 48.366944 0 0 15.511813-1.401626 27.389512-13.00478l-7.990715-8.698753s-15.392602 14.785713-34.972021 8.30861c-6.899758-2.275837-11.469494-8.897437-12.069158-16.136765-0.32512-3.933946-0.205909-8.138825 1.264353-14.847124z m-33.006855-36.883001a19.716692 19.716692 0 0 1 14.298034 2.185526c13.084254 7.766744 8.283322 26.139608 8.283322 26.139608H835.268128c5.201912-20.590902 17.661214-26.620062 25.406283-28.325134zM384.984841 422.872101s4.060381-28.357646 111.407617-25.648317c89.664347-2.709329 112.68642-77.161695 112.686419-77.161695s-44.862879 42.944674-97.232406 45.910486c-106.946254-2.969425-126.86163 56.895913-126.86163 56.895913z m0 41.954865s4.060381-28.357646 111.407617-25.648316c89.660734-2.716554 112.68642-77.165308 112.686419-77.165308s-44.862879 42.941062-97.232406 45.914099c-106.946254-2.969425-126.86163 56.895913-126.86163 56.895913z m0 46.600462s4.060381-28.357646 111.407617-25.648316c89.660734-2.716554 112.68642-77.165308 112.686419-77.165308s-44.862879 42.944674-97.232406 45.910486c-106.946254-2.969425-126.86163 56.895913-126.86163 56.895914z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"5924\"></path>\n </g>\n </svg>",
"driverFiles": "mysql-connector-j-8.3.0.jar",
"jdbcReferDriver": "com.mysql.cj.jdbc.Driver",
"jdbcReferUrl": "jdbc:mysql://[ip]:[port]/[dbname]?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTC",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n const dataType = dbDataType.toUpperCase();\r\n if (['VARCHAR','NVARCHAR','VARBINARY'].includes(dataType)) {\r\n return `${dataType}(${field.dataLen ? field.dataLen : 128})`;\r\n } else if (['DATE','YEAR','TINYTEXT','MEDIUMTEXT','LONGTEXT','TINYBLOB','MEDIUMBLOB','LONGBLOB','BOOLEAN','FLOAT','JSON'].includes(dataType)) {\r\n return dataType;\r\n } else if(['SET','ENUM'].includes(dataType)){\r\n return `${dataType}(${field.defaultValue})`;\r\n } else if (dataType === 'TIMESTAMP') {\r\n return field.dataLen && field.dataLen >= 0 && field.dataLen <= 6 ? `${dataType}(${field.dataLen})` : dataType;\r\n } else if (dataType === 'DOUBLE') {\r\n return field.dataLen && field.dataLen >= 0 && field.dataLen <= 255 ? (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen ? `${dataType}(${field.dataLen},${field.numScale})` : `${dataType}(${field.dataLen},0)`) : `${dataType}`;\r\n } else if (dataType === 'DECIMAL') {\r\n return field.dataLen && field.dataLen >= 0 && field.dataLen <= 65 ? (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen ? `${dataType}(${field.dataLen},${field.numScale})` : `${dataType}(${field.dataLen})`) : `${dataType}`;\r\n } else {\r\n return field.dataLen && field.dataLen >= 0 ? `${dataType}(${field.dataLen})` : `${dataType}`;\r\n }\r\n }\r\n\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const notNull = field.notNull ? ' NOT NULL' : '';\r\n const autoIncrement = field.autoIncrement ? ' AUTO_INCREMENT' : '';\r\n const defaultValue = field.defaultValue ? ` DEFAULT ${field.defaultValue}` : '';\r\n if(field?.dbDataType?.toUpperCase()==='SET'||\r\n field?.dbDataType?.toUpperCase()==='ENUM'){\r\n defaultValue=field.defaultValue ? ` DEFAULT (\"${field.defaultValue}\")` : '';\r\n }\r\n const comment = ` COMMENT '${it.func.strJoin(field.defName, field.intro, \";\", true)}'`;\r\n return `${dataType}${notNull}${autoIncrement}${defaultValue}${comment}${index < fields.length - 1 || pkList.length > 0 ? ',' : ''}`;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n `{{=field.defKey}}` {{= getFieldDefinition(field, index, it.fields) }}\r\n{{~}}\r\n{{? pkList.length > 0 }}\r\n PRIMARY KEY ({{~pkList:pkName:i}}`{{= pkName }}`{{= i < pkList.length - 1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n) COMMENT '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n$blankline\r\n",
"tableUpdate": "{{\n let defKey = it.baseUpdate.next.defKey;\n let defName = it.baseUpdate.next.defName;\n let intro = it.baseUpdate.next.intro;\n let indexFields = it.indexFields;\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\n}}\n{{? isPrimaryKeyModified }}\nALTER TABLE {{=it.defKey}} DROP PRIMARY KEY;\n{{? indexFields && indexFields.length > 0}}\nALTER TABLE {{=it.defKey}} ADD PRIMARY KEY ({{~indexFields:field:i}}`{{= field.defKey }}`{{= i < indexFields.length-1 ? ',' : '' }}{{~}})\n{{?}}\n{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}ALTER TABLE {{=it.defKey}} COMMENT '{{=it.func.strJoin(defName, intro, \";\", true)}}'';{{?}}\n$blankline\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{=it.defKey}} RENAME TO {{=defKey}};{{?}}\n",
"tableDelete": "DROP TABLE IF EXISTS {{=it.defKey}};",
"columnCreate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeLenAndNum = (dataLen, numScale, maxDataLen, maxNumScale) => {\r\n if(!dataLen || dataLen <= 0) {\r\n return '';\r\n }\r\n let currentDataLen = dataLen, currentNumScale = numScale;\r\n if(dataLen >= maxDataLen) {\r\n currentDataLen = maxDataLen;\r\n }\r\n if(!numScale || numScale <= 0) {\r\n return `(${currentDataLen},0)`;\r\n }\r\n if(currentNumScale > maxNumScale) {\r\n currentNumScale = maxNumScale\r\n }\r\n if(currentNumScale > currentDataLen && currentDataLen <= maxNumScale) {\r\n currentNumScale = currentDataLen;\r\n }\r\n return `(${currentDataLen},${currentNumScale})`;\r\n };\r\n const computeDefaultValue = (field) => {\r\n const { defaultValue, dbDataType, primaryKey } = field;\r\n if(!defaultValue){\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase().endsWith('BLOB') || \r\n dbDataType.toUpperCase().endsWith('GEOMETRY') || \r\n dbDataType.toUpperCase().endsWith('TEXT') || \r\n dbDataType.toUpperCase().endsWith('JSON')) {\r\n return '';\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET') {\r\n return `DEFAULT \"${defaultValue}\"`;\r\n } else {\r\n return `DEFAULT ${defaultValue}`;\r\n }\r\n };\r\n const computeType = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'NVARCHAR' ||\r\n dbDataType.toUpperCase() === 'VARBINARY') {\r\n return `${dbDataType}(${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'YEAR' ||\r\n dbDataType.toUpperCase() === 'TINYTEXT' ||\r\n dbDataType.toUpperCase() === 'MEDIUMTEXT' ||\r\n dbDataType.toUpperCase() === 'LONGTEXT' ||\r\n dbDataType.toUpperCase() === 'TINYBLOB' ||\r\n dbDataType.toUpperCase() === 'MEDIUMBLOB' ||\r\n dbDataType.toUpperCase() === 'LONGBLOB' ||\r\n dbDataType.toUpperCase() === 'BOOLEAN' ||\r\n dbDataType.toUpperCase() === 'FLOAT' ||\r\n dbDataType.toUpperCase() === 'INT' ||\r\n dbDataType.toUpperCase() === 'JSON' ) {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET' ) {\r\n return `${dbDataType}(${defaultValue})`;\r\n } else if(dbDataType.toUpperCase() === 'TIME' ||\r\n dbDataType.toUpperCase() === 'DATETIME' ||\r\n dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType}${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 255, 30)}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 65, 30)}`;\r\n } else if(dataLen && dataLen > 0) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n return `${dbDataType}`;\r\n };\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\nALTER TABLE {{=it.defKey}}\r\nADD COLUMN `{{=field.defKey}}` {{=computeType(field)}} {{= field.notNull ? 'NOT NULL' : '' }}{{= field.autoIncrement ? ' AUTO_INCREMENT ' : '' }}{{= computeDefaultValue(field)}} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{~}}\r\n",
"columnUpdate": "{{ \r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeLenAndNum = (dataLen, numScale, maxDataLen, maxNumScale) => {\r\n if(!dataLen || dataLen <= 0) {\r\n return '';\r\n }\r\n let currentDataLen = dataLen, currentNumScale = numScale;\r\n if(dataLen >= maxDataLen) {\r\n currentDataLen = maxDataLen;\r\n }\r\n if(!numScale || numScale <= 0) {\r\n return `(${currentDataLen},0)`;\r\n }\r\n if(currentNumScale > maxNumScale) {\r\n currentNumScale = maxNumScale\r\n }\r\n if(currentNumScale > currentDataLen && currentDataLen <= maxNumScale) {\r\n currentNumScale = currentDataLen;\r\n }\r\n return `(${currentDataLen},${currentNumScale})`;\r\n };\r\n const computeDefaultValue = (field) => {\r\n const { defaultValue, primaryKey } = field;\r\n const dbDataType = field.dbDataType ? field.dbDataType : '';\r\n if(!defaultValue) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase().endsWith('BLOB') || \r\n dbDataType.toUpperCase().endsWith('GEOMETRY') || \r\n dbDataType.toUpperCase().endsWith('TEXT') || \r\n dbDataType.toUpperCase().endsWith('JSON') ||\r\n primaryKey) {\r\n return '';\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET') {\r\n return `\"${defaultValue}\"`;\r\n } else {\r\n return defaultValue;\r\n }\r\n };\r\n const computeType = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'NVARCHAR' ||\r\n dbDataType.toUpperCase() === 'VARBINARY') {\r\n return `${dbDataType}(${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'YEAR' ||\r\n dbDataType.toUpperCase() === 'TINYTEXT' ||\r\n dbDataType.toUpperCase() === 'MEDIUMTEXT' ||\r\n dbDataType.toUpperCase() === 'LONGTEXT' ||\r\n dbDataType.toUpperCase() === 'TINYBLOB' ||\r\n dbDataType.toUpperCase() === 'MEDIUMBLOB' ||\r\n dbDataType.toUpperCase() === 'LONGBLOB' ||\r\n dbDataType.toUpperCase() === 'BOOLEAN' ||\r\n dbDataType.toUpperCase() === 'FLOAT' ||\r\n dbDataType.toUpperCase() === 'INT' ||\r\n dbDataType.toUpperCase() === 'JSON' ) {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET' ) {\r\n return `${dbDataType}(${defaultValue})`;\r\n } else if(dbDataType.toUpperCase() === 'TIME' ||\r\n dbDataType.toUpperCase() === 'DATETIME' ||\r\n dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType}${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 255, 30)}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 65, 30)}`;\r\n } else if(dataLen && dataLen > 0) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n return `${dbDataType}`;\r\n };\r\n}}{{~fieldsUpdate:field:index}}\r\n{{ \r\n let nextPrimaryKey = field.baseUpdate.next.primaryKey;\r\n let prePrimaryKey = field.baseUpdate.pre.primaryKey;\r\n let preDefKey = field.baseUpdate.pre.defKey;\r\n let updateKeys = field.baseUpdate.updateKeys.split(',');\r\n}}{{? updateKeys.includes('primaryKey') && updateKeys.includes('defaultValue')}}\r\nALTER TABLE `{{=it.defKey}}`\r\n ALTER COLUMN `{{=field.defKey}}` SET DEFAULT {{=field.defaultValue}};\r\n{{?}}\r\nALTER TABLE {{=it.defKey}}\r\n{{? updateKeys.includes('defKey')}} CHANGE `{{=preDefKey}}` `{{=field.defKey}}` {{??}} MODIFY COLUMN `{{=field.defKey}}`{{?}} {{=computeType(field)}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= computeDefaultValue(field)}}COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{~}}\r\n",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n}}\n{{~fieldsUpdate:field:index}}ALTER TABLE {{=it.defKey}} DROP COLUMN {{=field.defKey}};{{~}}",
"indexCreate": "{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}}INDEX {{=row.defKey}} ON {{=it.defKey}} (\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}} \r\n) COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n}}\n{{~indexesUpdate:row:index}}\n{{\n let updateKeys = row.baseUpdate.updateKeys.split(',');\n let preDefKey = row.baseUpdate.pre.defKey;\n}}\nALTER TABLE {{=it.defKey}}\nDROP INDEX {{? updateKeys.includes('defKey')}}`{{=preDefKey}}` {{??}} `{{=row.defKey}}` {{?}}, \nADD {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}} {{?}} INDEX `{{=row.defKey}}`(\n {{~row.fields:field:idx}}\n `{{=field.fieldDefKey}}`{{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n) COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\n{{~}}",
"indexDelete": "{{\r\n let indexesUpdate = it.indexesUpdate; \r\n}}\r\n{{~indexesUpdate:index:i}}ALTER TABLE {{=it.defKey}} DROP INDEX {{=index.defKey}};{{~}}",
"metaTableQuery": "SELECT\n null AS id,\n table_name AS def_key,\n table_comment AS def_name,\n table_schema AS schema_name\nFROM\n information_schema.tables\nWHERE table_type = 'BASE TABLE'\n and table_schema = :schemaName",
"metaColumnQuery": "SELECT\n table_name AS tbl_def_key,\n ordinal_position as order_value,\n column_name AS def_key,\n column_comment AS def_name,\n '' AS intro,\n data_type AS db_data_type,\n IF(data_type = column_type,NULL,COALESCE ( character_maximum_length, numeric_precision )) AS data_len,\n IF(data_type = column_type, NULL, numeric_scale ) AS num_scale,\n IF(column_key = 'PRI', 1, 0 ) AS primary_key,\n IF(is_nullable = 'YES', 0, 1 ) AS not_null,\n IF(extra = 'AUTO_INCREMENT', 1, 0 ) AS auto_increment,\n column_default AS default_value\nFROM\n information_schema.COLUMNS\nWHERE\n table_schema = :schemaName\n and table_name in (:sysTableNames)\nORDER BY\n table_name ASC,\n ordinal_position ASC",
"metaIndexQuery": "SELECT TABLE_NAME AS TBL_DEF_KEY,\r\n COLUMN_NAME AS COL_DEF_KEY,\r\n INDEX_COMMENT AS DEF_NAME,\r\n COMMENT AS INTRO,\r\n IF (COLLATION = 'A', 'ASC', 'DESC') AS SORT_TYPE,\r\n IF (NON_UNIQUE = 1, 'NORMAL', 'UNIQUE') AS TYPE,\r\n SEQ_IN_INDEX AS ORDER_VALUE,\r\n INDEX_NAME AS DEF_KEY FROM information_schema.STATISTICS\r\n WHERE INDEX_SCHEMA = :schemaName AND TABLE_NAME IN (:sysTableNames) AND INDEX_NAME != 'PRIMARY'\r\nORDER BY TABLE_NAME, INDEX_NAME",
"metaQueryCharset": null,
"orderValue": 13,
"isEnabled": 0,
"id": "1K6TUVS7V1802"
},
{
"defKey": "XuguDB",
"defName": null,
"icon": "<svg t=\"1720168257138\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8115\" width=\"200\" height=\"200\"><path d=\"M847.872 64H176.128c-61.952 0-112.128 50.176-112.128 112.128v671.232c0 61.952 50.176 112.128 112.128 112.128h671.744c61.952 0 112.128-50.176 112.128-112.128V176.128c0-61.952-50.176-112.128-112.128-112.128z\" fill=\"#FFFFFF\" p-id=\"8116\"></path><path d=\"M355.528219 630.899943a74.752 196.608 52.778 1 0 313.117-237.858291 74.752 196.608 52.778 1 0-313.117 237.858291Z\" fill=\"#E62129\" p-id=\"8117\"></path><path d=\"M450.048 661.504c-66.048 27.648-120.832 30.208-142.336 2.048-33.28-44.032 27.136-146.944 136.192-229.376 2.56-2.048 4.096-3.072 6.656-4.608V271.36h-39.936c-132.096 0-240.64 108.032-240.64 240.64 0 132.096 108.032 240.64 240.64 240.64H450.56v-91.136zM613.888 271.36h-33.792v86.528c55.296-19.456 101.376-18.432 120.32 6.656 31.744 41.984-21.504 136.704-120.32 217.088v170.496h33.792c132.096 0 240.64-108.032 240.64-240.64 0-131.584-108.032-240.128-240.64-240.128z\" fill=\"#025590\" p-id=\"8118\"></path></svg>",
"driverFiles": "xugu-jdbc-12.2.0.jar",
"jdbcReferDriver": "com.xugu.cloudjdbc.Driver",
"jdbcReferUrl": "jdbc:xugu://[ip]:[port]/[database]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return ''\r\n }\r\n const dataType = dbDataType.toUpperCase();\r\n if (dataType === 'VARCHAR') {\r\n return `${dataType}(${field.dataLen ? field.dataLen : 128})`;\r\n } else if ( ['TINYINT','SMALLINT','INTEGER','BIGINT','SMALLSERIAL','FLOAT','DOUBLE','BOOL','DATE','DATETIME','TIME','BLOB','CLOB','BINARY'].includes(dataType)) {\r\n return dataType;\r\n } else if (dataType === 'NUMERIC') {\r\n return field.dataLen && field.dataLen >= 1 && field.dataLen <= 38 ? (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen ? `${dataType}(${field.dataLen}, ${field.numScale})`: `${dataType}(${field.dataLen})`) : `${dataType}`;\r\n } else {\r\n return field.dataLen && field.dataLen >= 0 ? `${dataType}(${field.dataLen})` : dataType;\r\n }\r\n }\r\n\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const notNull = field.notNull ? ' NOT NULL' : ' NULL';\r\n const autoIncrement = field.autoIncrement ? ' AUTO_INCREMENT' : '';\r\n const defaultValue = field.defaultValue ? ` DEFAULT ${field.defaultValue}` : '';\r\n const comment = ` COMMENT '${it.func.strJoin(field.defName, field.intro, \";\", true)}'`;\r\n return `${field.defKey} ${dataType}${notNull}${autoIncrement}${defaultValue}${comment}${index < fields.length - 1 || pkList.length > 0 ? ',' : ''}`;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n {{= getFieldDefinition(field, index, it.fields) }}\r\n{{~}}\r\n{{? pkList.length > 0 }}\r\n CONSTRAINT {{= it.defKey}}_constraint_name PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i < pkList.length - 1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n) COMMENT '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP CONSTRAINT {{= it.defKey}}_constraint_name;\r\n{{? indexFields && indexFields.length > 0 || defKey}}\r\nALTER TABLE {{= tableKey }} ADD CONSTRAINT {{= it.defKey}}_constraint_name PRIMARY KEY ({{~indexFields:field:i}}{{= field.defKey }}{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}';\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'TINYINT' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INTEGER' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'SMALLSERIAL' ||\n dbDataType.toUpperCase() === 'FLOAT' ||\n dbDataType.toUpperCase() === 'DOUBLE' ||\n dbDataType.toUpperCase() === 'BOOL' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DATETIME' ||\n dbDataType.toUpperCase() === 'TIME' ||\n dbDataType.toUpperCase() === 'BLOB' ||\n dbDataType.toUpperCase() === 'CLOB' ||\n dbDataType.toUpperCase() === 'BINARY' ||\n dbDataType.toUpperCase().startsWith('INTERVAL')) {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'NUMERIC') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD COLUMN {{= field.defKey}} {{= finalDataType}} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }}{{? field.notNull}} NOT NULL {{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'TINYINT' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INTEGER' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'SMALLSERIAL' ||\n dbDataType.toUpperCase() === 'FLOAT' ||\n dbDataType.toUpperCase() === 'DOUBLE' ||\n dbDataType.toUpperCase() === 'BOOL' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DATETIME' ||\n dbDataType.toUpperCase() === 'TIME' ||\n dbDataType.toUpperCase() === 'BLOB' ||\n dbDataType.toUpperCase() === 'CLOB' ||\n dbDataType.toUpperCase() === 'BINARY' ||\n dbDataType.toUpperCase().startsWith('INTERVAL')) {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'NUMERIC') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey}} TO {{= nextDefKey}};{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'autoIncrement') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{=finalDataType}};\n{{?}}\n{{? updateKeys.includes('notNull') }}ALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{? field.notNull }} SET {{??}} DROP {{?}} NOT NULL;{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\nCOMMENT ON COLUMN {{= tableKey }}.{{= field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{? updateKeys.includes('defaultValue') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} {{? field.defaultValue }} SET DEFAULT {{=field.defaultValue}}{{??}} DROP DEFAULT {{?}};\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE{{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{? field.sortType && field.sortType.toUpperCase() === 'DESC'}} {{=field.sortType}}{{?}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX {{= tableKey }}.{{=row.defKey}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{? field.sortType && field.sortType.toUpperCase() === 'DESC'}} {{=field.sortType}}{{?}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX {{= tableKey }}.{{=row.defKey}};\n{{~}}",
"metaTableQuery": "SELECT\r\n T.TABLE_NAME AS DEF_KEY,\r\n T.COMMENTS AS DEF_NAME,\r\n S.SCHEMA_NAME AS SCHEMA_NAME\r\nFROM DBA_TABLES T LEFT JOIN DBA_SCHEMAS S ON T.SCHEMA_ID = S.SCHEMA_ID\r\nAND S.SCHEMA_NAME IN (:schemaName)",
"metaColumnQuery": "SELECT\r\n TRIM(S.SCHEMA_NAME) AS SCHEMA_NAME,\r\n T.TABLE_NAME AS TBL_DEF_KEY,\r\n C.COL_NAME AS DEF_KEY,\r\n C.COMMENTS AS DEF_NAME,\r\n C.TYPE_NAME AS DB_DATA_TYPE,\r\n C.SCALE AS DATA_LEN,\r\n CASE WHEN C.NOT_NULL IS TRUE THEN 1 ELSE 0 END AS NOT_NULL,\r\n DEF_VAL AS default_value,\r\n IS_SERIAL AS auto_increment\r\nFROM DBA_TABLES T\r\n LEFT JOIN DBA_SCHEMAS S ON T.SCHEMA_ID = S.SCHEMA_ID\r\n LEFT JOIN DBA_COLUMNS C ON T.TABLE_ID = C.TABLE_ID\r\nWHERE TRIM(S.SCHEMA_NAME) IN (:schemaName) AND CONCAT(TRIM(S.SCHEMA_NAME), '.', TRIM(T.TABLE_NAME)) IN (:sysTableNames)\r\nORDER BY S.SCHEMA_NAME, TBL_DEF_KEY, C.COL_NO",
"metaIndexQuery": "SELECT DS.SCHEMA_NAME AS SCHEMA_NAME,\r\n DT.TABLE_NAME AS TBL_DEF_KEY,\r\n DC.COL_NAME AS COL_DEF_KEY,\r\n DI.INDEX_NAME AS DEF_KEY,\r\n DC.COL_NO AS ORDER_VALUE,\r\n '' AS DEF_NAME,\r\n '' AS DEF_NAME,\r\n CASE WHEN DI.IS_UNIQUE IS TRUE THEN 'UNIQUE' ELSE 'NORMAL' END AS TYPE,\r\n CASE\r\n WHEN INSTR(DI.KEYS, CONCAT('\"', DC.COL_NAME, '\" DESC')) > 0 THEN 'DESC'\r\n ELSE 'ASC'\r\n END AS SORT_TYPE\r\nFROM DBA_INDEXES DI\r\n LEFT JOIN DBA_TABLES DT ON DI.TABLE_ID = DT.TABLE_ID\r\n LEFT JOIN DBA_COLUMNS DC ON (DT.TABLE_ID = DC.TABLE_ID AND POSITION(DI.KEYS, DC.COL_NAME) != 0)\r\n LEFT JOIN DBA_SCHEMAS DS ON DT.SCHEMA_ID = DS.SCHEMA_ID\r\nWHERE TRIM(DS.SCHEMA_NAME) IN (:schemaName) AND CONCAT(TRIM(DS.SCHEMA_NAME), '.', TRIM(DT.TABLE_NAME)) IN (:sysTableNames) AND IS_PRIMARY = 0\r\nORDER BY DS.SCHEMA_NAME, TBL_DEF_KEY, DEF_KEY, ORDER_VALUE",
"metaQueryCharset": null,
"orderValue": 14,
"isEnabled": 0,
"id": "1K6TWWNW01802"
},
{
"defKey": "HighGo",
"defName": null,
"icon": "<svg t=\"1720168433454\" class=\"icon\" viewBox=\"0 0 2119 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"10596\" width=\"200\" height=\"200\"><path d=\"M330.554386 80.842105h271.270175v64.673684H330.554386z\" fill=\"#01111C\" p-id=\"10597\"></path><path d=\"M431.157895 26.947368h70.063158v111.382457H431.157895zM330.554386 488.645614h271.270175v64.673684H330.554386z\" fill=\"#01111C\" p-id=\"10598\"></path><path d=\"M434.750877 434.750877h64.673684v253.305263h-64.673684z\" fill=\"#01111C\" p-id=\"10599\"></path><path d=\"M467.087719 468.884211c-84.435088 0-152.701754-68.266667-152.701754-152.701755s68.266667-152.701754 152.701754-152.701754 152.701754 68.266667 152.701755 152.701754-68.266667 152.701754-152.701755 152.701755z m0-240.729825c-48.505263 0-88.02807 39.522807-88.02807 88.02807s39.522807 89.824561 88.02807 89.824562 88.02807-39.522807 88.02807-89.824562c0-48.505263-39.522807-88.02807-88.02807-88.02807z\" fill=\"#01111C\" p-id=\"10600\"></path><path d=\"M517.389474 316.182456c0 28.74386-23.354386 52.098246-52.098246 52.098246-28.74386 0-52.098246-23.354386-52.098246-52.098246 0-28.74386 23.354386-52.098246 52.098246-52.098245 30.540351 0 52.098246 23.354386 52.098246 52.098245z\" fill=\"#E84908\" p-id=\"10601\"></path><path d=\"M671.887719 215.578947l-35.929824-59.28421 222.764912-131.14386 222.764912 131.14386-35.929824 59.28421-186.835088-109.585965zM1298.863158 105.992982h619.789474v66.470176H1298.863158z\" fill=\"#01111C\" p-id=\"10602\"></path><path d=\"M1573.726316 52.098246h70.063158v93.417543h-70.063158z\" fill=\"#01111C\" p-id=\"10603\"></path><path d=\"M1607.859649 267.677193c-28.74386 0-52.098246 23.354386-52.098245 52.098246 0 28.74386 23.354386 52.098246 52.098245 52.098245 28.74386 0 52.098246-23.354386 52.098246-52.098245 0-28.74386-23.354386-52.098246-52.098246-52.098246z m0 167.073684c-64.673684 0-114.975439-52.098246-114.975438-116.77193s52.098246-116.77193 114.975438-116.771929c64.673684 0 114.975439 52.098246 114.975439 116.771929 1.796491 64.673684-50.301754 116.77193-114.975439 116.77193z\" fill=\"#E84908\" p-id=\"10604\"></path><path d=\"M2071.354386 691.649123h-70.063158V373.670175h-113.178947v-71.859649h183.242105zM1216.224561 688.05614h-71.859649V301.810526H1329.403509v71.859649h-113.178948zM835.368421 688.05614h-64.673684V366.484211h-91.621053v-62.877193h156.294737z\" fill=\"#01111C\" p-id=\"10605\"></path><path d=\"M686.259649 643.14386l-50.301754-28.74386 53.894737-91.621053-53.894737-91.621052 50.301754-30.540351 71.859649 122.161403zM1050.947368 688.05614h-64.673684V366.484211h-89.824561v-62.877193h154.498245z\" fill=\"#01111C\" p-id=\"10606\"></path><path d=\"M901.838596 643.14386l-50.301754-28.74386 53.894737-91.621053-53.894737-91.621052 50.301754-30.540351 71.85965 122.161403z\" fill=\"#01111C\" p-id=\"10607\"></path><path d=\"M188.631579 939.564912H89.824561V1006.035088H57.487719v-165.277193H89.824561v66.470175h98.807018v-66.470175h32.336842V1006.035088h-32.336842v-66.470176zM380.85614 840.757895h165.277193v32.336842h-66.470175v98.807017h66.470175V1006.035088h-165.277193v-32.336842h66.470176v-98.807018h-66.470176v-34.133333zM704.224561 840.757895h165.277193v32.336842H736.561404v98.807017h98.807017v-32.336842h-66.470175v-32.336842h98.807017V1006.035088h-165.277193v-165.277193zM1160.533333 939.564912h-98.807017V1006.035088h-32.336842v-165.277193h32.336842v66.470175h98.807017v-66.470175h32.336842V1006.035088h-32.336842v-66.470176zM1582.708772 840.757895h165.277193v32.336842h-132.940351v98.807017h98.807018v-32.336842h-66.470176v-32.336842h98.807018V1006.035088H1580.912281v-165.277193zM1906.077193 840.757895h165.277193V1006.035088h-165.277193v-165.277193z m32.336842 132.940351h98.807018v-98.807018h-98.807018v98.807018z\" fill=\"#01111C\" p-id=\"10608\"></path><path d=\"M1607.859649 434.750877c-48.505263 0-89.824561 39.522807-89.824561 89.824562 0 48.505263 39.522807 89.824561 89.824561 89.824561 48.505263 0 88.02807-39.522807 88.02807-89.824561 1.796491-48.505263-39.522807-89.824561-88.02807-89.824562z m0 242.526316c-84.435088 0-152.701754-68.266667-152.701754-152.701754s68.266667-152.701754 152.701754-152.701755 152.701754 68.266667 152.701755 152.701755-68.266667 152.701754-152.701755 152.701754z\" fill=\"#01111C\" p-id=\"10609\"></path><path d=\"M120.364912 686.259649l-75.452631-32.336842L143.719298 485.052632l-104.196491-168.870176 75.452632-34.133333L238.933333 485.052632 120.364912 686.259649z m79.045614-343.129824L64.673684 113.178947l73.656141-43.115789 134.736842 229.950877-73.656141 43.11579z\" fill=\"#01111C\" p-id=\"10610\"></path></svg>",
"driverFiles": "HgdbJdbc-6.0.3.jre8.jar",
"jdbcReferDriver": "com.highgo.jdbc.Driver",
"jdbcReferUrl": "jdbc:highgo://[ip]:[port]/[database]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n function formatDataType(field) {\r\n const supportedDataTypes = [\r\n 'SMALLINT',\r\n 'INTEGER',\r\n 'BIGINT',\r\n 'SMALLSERIAL',\r\n 'BIGSERIAL',\r\n 'REAL',\r\n 'DOUBLE PRECISION',\r\n 'DATE',\r\n 'TEXT',\r\n 'BYTEA',\r\n 'MONEY',\r\n 'BOOLEAN',\r\n 'SERIAL',\r\n 'JSON',\r\n 'INTERVAL'\r\n ];\r\n if (field.autoIncrement) {\r\n return field.dbDataType?.toUpperCase() === 'BIGINT' ? 'BIGSERIAL' : 'SERIAL';\r\n }\r\n if (supportedDataTypes.includes(field.dbDataType?.toUpperCase())) {\r\n return field.dbDataType;\r\n }\r\n if (field.dbDataType?.toUpperCase() === 'TIME' ||\r\n field.dbDataType?.toUpperCase() === 'TIMESTAMP') {\r\n if (field.dataLen && field.dataLen >= 0 && field.dataLen <= 6) {\r\n return `${field.dbDataType}(${field.dataLen})`;\r\n }\r\n return field.dbDataType;\r\n }\r\n if (field.dbDataType?.toUpperCase() === 'NUMERIC' ||\r\n field.dbDataType?.toUpperCase() === 'DECIMAL') {\r\n if (field.dataLen && field.dataLen >= 1 && field.dataLen <= 1000) {\r\n if (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen) {\r\n return `${field.dbDataType}(${field.dataLen},${field.numScale})`;\r\n }\r\n return `${field.dbDataType}(${field.dataLen})`;\r\n }\r\n return field.dbDataType;\r\n }\r\n if (field.dataLen && field.dataLen >= 0) {\r\n return `${field.dbDataType}(${field.dataLen})`;\r\n }\r\n return field.dbDataType;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n {{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}{{=field.defKey}} {{= formatDataType(field) }}{{= field.notNull ? ' NOT NULL' : '' }}{{? !field.autoIncrement && field.defaultValue }} DEFAULT {{= field.defaultValue }}{{?}}{{= index < it.fields.length-1 || pkList.length>0 ? ',' : '' }}\r\n {{~}}\r\n {{? pkList.length > 0 }}PRIMARY KEY ({{= pkList.join(', ')}}){{?}}\r\n);\r\n\r\n\r\n{{~it.fields:field:index}}\r\n{{? field.defName || field.intro }}\r\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n\r\n{{? it.defName || it.intro }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}';\r\n{{?}}\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nDO $$\r\n DECLARE\r\n pk_constraint_name text;\r\n BEGIN\r\n SELECT constraint_name\r\n INTO pk_constraint_name\r\n FROM information_schema.table_constraints\r\n WHERE table_name = '{{=it.defKey}}' AND constraint_type = 'PRIMARY KEY'\r\n LIMIT 1;\r\n\r\n IF pk_constraint_name IS NOT NULL THEN\r\n EXECUTE 'ALTER TABLE {{= tableKey }} DROP CONSTRAINT ' || pk_constraint_name;\r\n ELSE\r\n RAISE NOTICE 'No primary key constraint found for the table.';\r\n END IF;\r\nEND $$;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY ({{~indexFields:field:i}}\"{{= field.defKey }}\"{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}COMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}';{{?}}\r\n$blankline\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{= defKey }};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'BIGSERIAL' : 'SERIAL';\n }\n if(dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INTEGER' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'SMALLSERIAL' ||\n dbDataType.toUpperCase() === 'BIGSERIAL' ||\n dbDataType.toUpperCase() === 'REAL' ||\n dbDataType.toUpperCase() === 'DOUBLE PRECISION' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BYTEA' ||\n dbDataType.toUpperCase() === 'MONEY' ||\n dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'SERIAL' ||\n dbDataType.toUpperCase() === 'JSON' ||\n dbDataType.toUpperCase().startsWith('INTERVAL')) {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'TIME' ||\n dbDataType.toUpperCase() === 'TIMESTAMP') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`; \n } else if(dbDataType.toUpperCase() === 'NUMERIC' || \n dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 1000) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType}(${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD {{= field.defKey}} {{= finalDataType}}{{? field.notNull}} NOT NULL{{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}};\n{{? field.defName || field.intro }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(autoIncrement) {\n return dbDataType.toUpperCase() === 'BIGINT' ? 'BIGSERIAL' : 'SERIAL';\n }\n if(dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'INTEGER' ||\n dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'SMALLSERIAL' ||\n dbDataType.toUpperCase() === 'BIGSERIAL' ||\n dbDataType.toUpperCase() === 'REAL' ||\n dbDataType.toUpperCase() === 'DOUBLE PRECISION' ||\n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'TEXT' ||\n dbDataType.toUpperCase() === 'BYTEA' ||\n dbDataType.toUpperCase() === 'MONEY' ||\n dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'SERIAL' ||\n dbDataType.toUpperCase() === 'JSON' ||\n dbDataType.toUpperCase().startsWith('INTERVAL')) {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'TIME' ||\n dbDataType.toUpperCase() === 'TIMESTAMP') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`; \n } else if(dbDataType.toUpperCase() === 'NUMERIC' || \n dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 1000) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType}(${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey}} TO {{= nextDefKey}};{{?}}\n{{? updateKeys.includes('defaultValue') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}}{{? field.defaultValue }} SET DEFAULT {{=field.defaultValue}}{{??}} DROP DEFAULT{{?}};\n{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'autoIncrement') }}\nALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} SET DATA TYPE {{=finalDataType}} USING {{= field.defKey }}::{{=finalDataType}};\n{{?}}\n{{? updateKeys.includes('notNull') && field.notNull }}ALTER TABLE {{= tableKey }} ALTER COLUMN {{= field.defKey}} SET NOT NULL;{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\nCOMMENT ON COLUMN {{= tableKey }}.{{=field.defKey}} IS '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}} {{?}}INDEX {{=row.defKey}} ON {{= tableKey }}(\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n);\r\n{{?}}\r\n{{? row.defName || row.intro }}\r\nCOMMENT ON INDEX {{= schemaName }} {{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX IF EXISTS {{= schemaName }}{{? preDefKey}} {{= preDefKey}} {{??}} {{=row.defKey}} {{?}};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}} {{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{=field.sortType}} {{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n);\n{{?}}\n{{? (row.defName || row.intro) && row.defKey && row.fields.length > 0}}\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}';\n{{?}}\n{{??}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') && row.fields.length > 0}}\nCOMMENT ON INDEX {{= schemaName }}{{=row.defKey}} IS '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}'\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX IF EXISTS {{= schemaName }}{{=row.defKey}};\n{{~}}",
"metaTableQuery": "SELECT c.relname AS def_key,\r\n CAST(obj_description(c.relfilenode, 'pg_class') AS varchar) AS def_name,\r\n n.nspname AS schema_name\r\nFROM pg_class AS c\r\n JOIN pg_tables AS b ON c.relname = b.tablename\r\n JOIN pg_namespace AS n ON b.schemaname = n.nspname AND c.relnamespace = n.oid\r\nWHERE b.schemaname IN (:schemaName);",
"metaColumnQuery": " -- select col.table_schema as schema_name, col.table_name as tbl_def_key, col.ordinal_position as order_value, col.column_name as def_key, d.description as def_name, col.udt_name as db_data_type,\r\n -- col.character_maximum_length as data_length, col.numeric_scale as num_scale, case when tc.constraint_type = 'PRIMARY KEY' then 1 else 0 end as primary_key, case when col.is_nullable = 'YES' then 0 else 1 end as not_null,\r\n -- col.column_default as default_value from information_schema.columns col\r\n -- inner join pg_class c on c.relname = col.table_name inner join pg_tables b on c.relname = b.tablename inner join pg_namespace n on b.schemaname = n.nspname and c.relnamespace = n.oid\r\n -- left join pg_description d on d.objoid = c.oid and d.objsubid = col.ordinal_position left join information_schema.key_column_usage tku on tku.table_name = col.table_name and tku.column_name = col.column_name left join information_schema.table_constraints tc on tc.constraint_name = tku.constraint_name\r\n -- where 1 = 1 and b.schemaname in (:schemaName) and CONCAT(TRIM(b.schemaname), '.', TRIM(col.table_name)) in (:sysTableNames) and CONCAT(TRIM(col.table_schema), '.', TRIM(col.table_name)) in (:sysTableNames)\r\n -- and col.table_schema in (:schemaName) order by col.table_schema asc, col.table_name asc, col.ordinal_position asc\r\n \r\n \r\nSELECT\r\n col.table_schema as schema_name,\r\n col.TABLE_NAME AS tbl_def_key,\r\n col.ordinal_position AS order_value,\r\n col.COLUMN_NAME AS def_key,\r\n d.description AS def_name,\r\n '' AS intro,\r\n col.udt_name AS db_data_type,\r\n CASE WHEN col.character_maximum_length IS NULL AND col.numeric_precision IS NOT NULL THEN col.numeric_precision\r\n ELSE col.character_maximum_length\r\n END AS data_len,\r\n CASE WHEN col.numeric_precision IS NOT NULL THEN (CASE WHEN col.numeric_scale = 0 THEN NULL ELSE col.numeric_scale END)\r\n ELSE NULL\r\n END AS num_scale,\r\n CASE WHEN kc.column_name IS NOT NULL THEN 1 ELSE 0 END AS primary_key,\r\n CASE WHEN col.IS_NULLABLE = 'NO' THEN 1 ELSE 0 END AS not_null,\r\n CASE WHEN col.COLUMN_DEFAULT LIKE 'nextval%' THEN 1 ELSE 0 END AS auto_increment,\r\n -- substr(col.column_default,0,strpos(col.column_default, concat('::',col.data_type))) AS default_value\r\n CASE\r\n WHEN strpos(col.column_default, concat('::',col.data_type)) = 0 THEN (CASE\r\n WHEN col.column_default LIKE 'nextval%' THEN ''\r\n ELSE col.column_default\r\n END)\r\n ELSE substr(col.column_default,0,strpos(col.column_default, concat('::',col.data_type)))\r\n END AS default_value\r\nFROM\r\n information_schema.COLUMNS col LEFT JOIN (information_schema.key_column_usage kc LEFT JOIN information_schema.table_constraints tc\r\n ON\r\n kc.constraint_name = tc.constraint_name\r\n and tc.constraint_type = 'PRIMARY KEY'\r\n and kc.table_schema=tc.table_schema\r\n and kc.table_name=tc.table_schema\r\n ) ON\r\n col.TABLE_NAME = kc.table_name\r\n AND col.COLUMN_NAME = kc.column_name AND kc.table_schema = col.table_schema\r\n LEFT JOIN pg_class C ON C.relname = col.TABLE_NAME\r\n LEFT JOIN pg_namespace n ON col.table_schema = n.nspname AND c.relnamespace = n.oid\r\n LEFT JOIN pg_description d ON d.objoid = C.oid AND d.objsubid = col.ordinal_position\r\nWHERE\r\n col.table_schema IN (:schemaName)\r\n AND nspName IN (:schemaName)\r\n AND CONCAT(col.table_schema, '.', col.TABLE_NAME) IN (:sysTableNames)\r\nORDER BY\r\n col.table_schema asc, col.TABLE_NAME asc,col.ordinal_position ASC\r\n ",
"metaIndexQuery": "SELECT ns.nspname AS schema_name,\r\n t.relname AS tbl_def_key,\r\n a.attname AS col_def_key,\r\n d.description AS def_name,\r\n d.description AS intro,\r\n CASE\r\n WHEN ix.indoption[array_position(ix.indkey, a.attnum) - 1] & 1 = 0 THEN 'ASC'\r\n ELSE 'DESC'\r\n END AS sort_type,\r\n CASE\r\n WHEN ix.indisunique THEN 'UNIQUE'\r\n ELSE 'NORMAL'\r\n END AS type,\r\n array_position(ix.indkey, a.attnum) AS order_value,\r\n idx.relname AS def_key\r\nFROM pg_class t\r\n JOIN\r\n pg_namespace ns ON ns.oid = t.relnamespace\r\n JOIN\r\n pg_index ix ON t.oid = ix.indrelid\r\n JOIN\r\n pg_class idx ON ix.indexrelid = idx.oid\r\n JOIN\r\n unnest(ix.indkey) WITH ORDINALITY AS key_col(attnum, ord) ON true\r\n JOIN\r\n pg_attribute a ON t.oid = a.attrelid AND a.attnum = key_col.attnum\r\n LEFT JOIN\r\n pg_description d ON idx.oid = d.objoid\r\nWHERE ns.nspname IN (:schemaName)\r\n AND CONCAT(TRIM(ns.nspname), '.', TRIM(t.relname)) IN (:sysTableNames)\r\n AND indisprimary = false\r\nORDER BY ns.nspname, \r\n tbl_def_key,\r\n def_key",
"metaQueryCharset": null,
"orderValue": 15,
"isEnabled": 0,
"id": "1K6TXL42H1802"
},
{
"defKey": "Hive",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M608.6656 764.3136V954.368h46.42133333v-87.38133333h9.8304v87.38133333h46.96746667v-190.0544H664.91733333v70.4512h-9.8304v-70.4512h-46.42133333z m161.65546667 0H724.992V954.368h45.32906667v-190.0544z m7.09973333 0l36.0448 190.0544h54.0672l36.0448-190.0544h-48.05973333l-12.01493334 81.37386667c-1.09226667 3.2768-4.36906667 3.2768-4.9152 0l-12.01493333-81.37386667h-49.152z m226.0992 0h-90.112V954.368H1003.52v-49.69813333l-50.24426667-0.54613334v-21.2992h24.02986667v-49.69813333h-24.02986667v-19.11466667h50.24426667v-49.69813333z\" p-id=\"18742\"></path><path d=\"M516.36906667 187.5968c-7.64586667-20.75306667-269.24373333-122.33386667-272.52053334-111.4112-48.05973333 12.56106667-67.72053333 67.72053333-100.48853333 102.67306667l-73.18186667-4.36906667c-32.22186667 41.50613333-49.152 84.10453333-37.6832 127.7952C74.00106667 359.08266667 122.0608 407.1424 151.552 477.5936c2.18453333 33.31413333 143.63306667 3.2768 174.21653333-3.2768-41.50613333 29.4912-77.55093333 75.3664-61.71306666 208.0768 14.19946667 62.2592 24.02986667 131.61813333 149.0944 201.5232 16.384 9.28426667 50.7904 20.20693333 71.54346666 27.8528 20.20693333 9.28426667 43.69066667 13.1072 110.31893334-7.09973333 38.77546667-16.384 80.2816-26.76053333 117.9648-43.14453334l-45.32906667 2.18453334c-62.2592 1.09226667-110.86506667 6.00746667-125.61066667-11.4688L484.69333333 752.29866667l33.31413334-64.98986667c46.42133333 4.9152 61.71306667 42.5984 102.67306666 56.79786667l48.05973334-35.49866667c139.81013333 82.46613333 195.51573333-52.4288 211.3536-157.2864-1.6384-42.5984-92.84266667 13.65333333-86.8352-6.5536 2.18453333-45.8752-35.49866667-105.94986667-59.52853334-152.91733333l27.8528-108.68053334c12.56106667-11.4688-58.9824-132.16426667-117.41866666-146.90986666-50.7904-13.65333333-127.7952 51.33653333-127.7952 51.33653333z\" fill=\"#FDEE21\" p-id=\"18743\"></path><path d=\"M746.2912 418.06506667c0.54613333 11.4688 0.54613333 25.66826667 1.6384 34.4064 0 6.5536-5.46133333 7.09973333-9.28426667 8.192l27.30666667 9.8304c5.46133333 9.28426667 9.8304 18.0224 14.19946667 27.30666666 4.9152 22.39146667 1.09226667 22.9376-2.18453334 24.576-9.8304 0-19.6608 0-28.94506666-1.6384 4.36906667 2.18453333 4.9152 3.82293333 5.46133333 6.5536 0.54613333 4.9152-2.73066667 12.01493333-8.192 19.11466667 8.192 4.36906667 22.9376 8.73813333 33.86026667 13.1072l12.56106666-27.8528c-6.00746667-40.41386667-22.9376-77.55093333-46.42133333-113.59573333z m50.7904 136.53333333c15.29173333 6.5536 36.0448 4.36906667 64.98986667-10.37653333 4.36906667-3.2768 8.192-1.09226667 0.54613333 3.82293333-38.22933333 33.86026667-56.25173333 16.93013333-65.536 6.5536z\" fill=\"#C8C037\" p-id=\"18744\"></path><path d=\"M864.80213333 539.8528c4.36906667 8.73813333 1.6384 15.29173333 0 22.9376-4.9152 37.13706667-16.384 66.08213333-38.77546666 96.6656-73.18186667 117.9648-147.456 44.2368-206.4384-3.82293333l-24.576 61.16693333c-1.09226667 5.46133333-6.5536 9.28426667 31.67573333 26.2144l38.77546667-27.30666667c148.54826667 112.50346667 253.40586667-158.37866667 199.33866666-175.85493333zM637.61066667 645.25653333c-9.8304 0.54613333-39.86773333 10.92266667-40.96 16.93013334l13.65333333-20.20693334 27.30666667 3.2768z m-19.6608-125.06453333c1.6384 0 10.37653333 2.18453333 9.8304 1.6384-1.09226667-0.54613333 0 12.56106667 2.73066666 19.11466667l-10.92266666 23.48373333c20.75306667-23.48373333 52.97493333-22.39146667 83.01226666-25.12213333l-14.19946666-8.73813334c2.73066667-8.192-0.54613333-14.7456-1.6384-21.84533333l-68.8128 11.4688z m50.7904-70.4512c-21.84533333 6.5536-43.14453333 18.0224-57.344 41.50613333 10.92266667-38.77546667 13.1072-37.13706667 16.384-39.3216 15.29173333-7.09973333 27.8528-2.73066667 40.96-2.18453333z\" fill=\"#C8C037\" p-id=\"18745\"></path><path d=\"M550.77546667 904.66986667c-26.76053333 29.4912-86.28906667-2.18453333-135.44106667-18.56853334-125.61066667-79.73546667-150.18666667-155.10186667-151.82506667-228.82986666-6.5536-105.94986667 26.2144-167.1168 67.1744-181.8624-27.30666667 52.4288-39.86773333 146.36373333-27.30666666 216.2688 10.37653333 38.77546667 10.37653333 104.31146667 75.3664 139.81013333 31.67573333 18.0224 23.48373333 31.67573333 44.78293333 48.60586667 23.48373333 18.56853333 89.56586667 36.0448 127.24906667 24.576z m39.86773333-488.2432c-45.32906667-63.8976-108.68053333-87.92746667-180.224-90.65813334 14.19946667-4.9152 28.94506667-7.09973333 43.14453333-14.19946666 3.2768-3.82293333 2.18453333-10.37653333 1.09226667-16.93013334-68.8128-18.0224-112.50346667-40.41386667-167.66293333-61.16693333L435.54133333 269.5168c100.48853333 3.82293333 91.7504 28.94506667 155.10186667 146.90986667z\" fill=\"#FCF6A0\" p-id=\"18746\"></path><path d=\"M639.24906667 385.29706667c-33.31413333-47.5136-65.536-105.40373333-109.7728-142.5408C423.5264 195.24266667 318.12266667 159.744 195.24266667 127.52213333l39.3216-50.24426666C365.09013333 107.3152 487.424 157.01333333 597.1968 238.93333333c19.11466667 46.96746667 31.1296 93.93493333 42.05226667 146.36373334z m67.1744-84.10453334s-18.56853333-42.05226667-27.8528-57.89013333c-21.2992-23.48373333-31.67573333-67.1744-75.3664-87.92746667 13.65333333 3.82293333 22.9376-0.54613333 50.7904 24.576l44.2368 83.5584 8.192 37.6832z\" fill=\"#FCF6A0\" p-id=\"18747\"></path><path d=\"M729.9072 373.82826667c4.36906667-36.59093333 12.56106667-94.48106667 3.2768-117.9648-26.2144-34.95253333-52.4288-71.54346667-78.6432-104.8576-4.36906667-3.82293333-7.64586667-9.8304-10.92266667-13.65333334 37.13706667 9.8304 75.91253333 35.49866667 127.7952 137.07946667l-41.50613333 99.39626667z\" fill=\"#FCF6A0\" p-id=\"18748\"></path><path d=\"M573.71306667 378.19733333c-14.7456-11.4688-27.8528-52.4288-50.24426667-61.16693333-20.75306667-1.6384-28.39893333-8.192-55.7056-2.73066667 9.8304-4.9152 19.11466667-11.4688 29.4912-14.7456 7.09973333-1.6384 13.65333333 0 20.75306667 1.09226667 1.6384-0.54613333 2.73066667-1.6384 2.18453333-3.2768-27.30666667-16.93013333-83.5584-16.93013333-121.78773333-26.76053333 44.2368 1.6384 92.84266667-1.09226667 126.1568 9.8304 26.76053333 23.48373333 35.49866667 68.26666667 49.152 97.75786666z m80.82773333-198.2464c6.00746667 0.54613333 38.77546667 52.4288 40.41386667 61.16693334 2.73066667 19.11466667 9.28426667 39.86773333 11.4688 60.07466666-5.46133333-19.11466667-11.4688-38.22933333-18.56853334-56.79786666-2.18453333-5.46133333-7.64586667-16.93013333-22.9376-33.86026667-7.09973333-12.01493333-8.73813333-21.2992-10.37653333-30.58346667z m111.4112 283.4432h-14.19946667l15.29173334 3.82293334-1.09226667-3.82293334z m-96.11946667-13.65333333c-14.19946667-1.6384-28.39893333-2.18453333-42.5984 1.09226667-6.00746667 7.64586667-6.00746667 15.83786667-8.73813333 22.9376 16.93013333-19.11466667 24.02986667-20.20693333 51.33653333-24.02986667z m193.3312 97.75786667c-7.64586667 6.00746667-8.73813333 12.01493333-32.22186666 19.11466666-16.93013333 3.82293333-26.76053333-2.73066667-34.4064-12.01493333 12.01493333 3.2768 14.19946667 12.56106667 46.42133333 2.18453333l20.20693333-9.28426666z m-70.4512 3.82293333c-5.46133333 15.83786667-12.01493333 31.1296-18.0224 45.8752-14.7456 17.47626667-8.192 7.64586667-30.58346666 33.86026667 7.09973333-10.92266667 16.384-21.2992 20.75306666-32.768 3.2768-7.64586667 7.64586667-15.29173333 9.28426667-21.84533334-6.00746667-2.73066667-17.47626667-3.2768-19.11466667-2.18453333-19.6608 11.4688-22.9376 23.48373333-34.4064 35.49866667 8.192-13.1072 15.29173333-27.8528 25.12213334-39.86773334 1.09226667-1.6384 8.192-1.6384 12.56106666-2.73066666-7.09973333-1.09226667-19.6608-3.82293333-20.75306666-3.2768-12.56106667 3.2768-19.6608 14.19946667-29.4912 21.2992 7.09973333-9.8304 13.1072-20.20693333 21.84533333-28.94506667 1.09226667-1.09226667 24.576 1.09226667 36.59093333 6.00746667v4.9152l7.09973334 2.73066666 5.46133333-13.1072 13.65333333-5.46133333z m-154.55573333 93.93493333c-3.2768-1.09226667-31.1296-4.9152-31.1296-3.82293333-10.92266667 7.64586667-12.01493333 14.7456-12.01493333 21.2992 17.47626667-17.47626667 16.93013333-17.47626667 43.14453333-17.47626667z m-21.2992-125.61066666s20.20693333-2.73066667 19.6608-1.09226667c-1.6384 7.09973333 2.73066667 24.02986667 2.73066667 21.2992l-11.4688 9.28426667c23.48373333-12.01493333 48.60586667-9.28426667 73.728-11.4688 0 0-21.2992-6.00746667-19.6608-6.00746667 4.9152-0.54613333-1.09226667-21.84533333-2.73066667-22.39146667 3.82293333-1.09226667 8.192-2.18453333 12.01493333-3.2768-30.58346667-7.64586667-48.05973333-3.2768-74.27413333 13.65333334z\" p-id=\"18749\"></path><path d=\"M789.98186667 534.9376l-4.36906667 2.18453333c-0.54613333-13.1072-14.7456-12.01493333-26.2144-12.01493333l-9.8304-2.18453333c2.73066667 2.73066667 12.01493333 2.73066667 8.192 8.192-3.2768 1.6384-4.36906667 8.73813333-6.00746667 14.7456h-5.46133333c9.28426667 3.82293333 18.0224 6.5536 27.8528 10.92266666l6.00746667 1.09226667 14.19946666-7.64586667-4.36906666-15.29173333z\" p-id=\"18750\"></path><path d=\"M657.27146667 525.65333333c-2.18453333-4.36906667-13.65333333-3.82293333-15.83786667-1.09226666-2.18453333 2.18453333 0 17.47626667 2.18453333 14.7456 3.82293333-3.2768 8.73813333-4.36906667 14.19946667-4.36906667 1.09226667-2.73066667 0.54613333-6.00746667-0.54613333-9.28426667z m108.68053333 22.39146667c1.09226667-0.54613333 3.2768-8.192 2.73066667-10.37653333-1.6384-5.46133333-12.01493333-4.36906667-12.01493334-4.36906667-2.73066667 1.6384-4.9152 9.8304-3.82293333 12.56106667 0.54613333 2.73066667 11.4688 3.2768 13.1072 2.18453333z\" fill=\"#FFFFFF\" p-id=\"18751\"></path><path d=\"M315.392 808.5504l6.5536 0.54613333c39.3216 19.11466667 104.31146667 48.05973333 198.79253333 32.768l14.7456 23.48373334c-41.50613333 20.20693333-86.28906667 15.29173333-127.7952 16.93013333L315.392 808.5504z m-56.79786667-153.46346667l19.6608 83.01226667c52.97493333 33.31413333 143.63306667 70.99733333 218.99946667 67.72053333l-16.93013333-38.22933333c-157.2864-32.768-170.3936-75.3664-221.73013334-112.50346667z m49.152-169.84746666c9.8304 64.44373333 22.39146667 113.0496 78.6432 154.0096 34.4064 24.576 68.26666667 49.152 109.7728 69.35893333 0 0-3.82293333 19.11466667-6.5536 18.56853333-123.42613333-13.65333333-213.53813333-115.78026667-224.4608-162.74773333 10.37653333-35.49866667 25.66826667-57.89013333 42.5984-79.18933333z m58.9824-36.59093334c16.384 71.54346667 55.7056 143.63306667 94.48106667 209.16906667 14.19946667 18.0224 18.0224 26.2144 39.86773333 37.13706667 29.4912 9.28426667 50.7904 7.09973333 72.0896 5.46133333-6.00746667-10.92266667-10.92266667-22.39146667-18.0224-32.768-48.05973333-38.22933333-26.2144-73.18186667-13.1072-95.0272-26.76053333-6.5536-62.2592-21.2992-67.1744-40.41386667-7.64586667-61.16693333-3.2768-80.2816 4.36906667-111.95733333-36.0448 7.64586667-73.18186667 15.29173333-112.50346667 28.39893333z\" p-id=\"18752\"></path><path d=\"M233.472 69.632c-12.01493333 7.64586667-23.48373333 19.11466667-36.0448 31.67573333-20.75306667 21.2992-34.4064 42.05226667-55.15946667 57.344-4.36906667 3.82293333-15.83786667 9.28426667-30.58346666 10.37653334-7.09973333 0.54613333-11.4688 1.6384-24.02986667 0-11.4688-6.00746667-21.84533333-2.18453333-32.22186667 10.37653333-11.4688 16.384-26.2144 47.5136-32.22186666 67.72053333C10.6496 296.82346667 42.32533333 338.3296 72.9088 370.00533333c27.30666667 26.2144 42.5984 43.14453333 53.52106667 67.1744 8.192 15.83786667 14.7456 37.13706667 21.2992 52.4288 2.18453333 4.9152 2.18453333 4.9152 8.73813333 6.00746667 14.19946667 3.2768 33.86026667 3.2768 51.33653333 4.36906667 7.64586667 0 18.0224 0 27.8528-1.09226667 13.65333333-2.73066667 29.4912-4.9152 42.5984-9.8304 13.1072-3.2768 24.576-7.64586667 34.95253334-11.4688-1.09226667 4.36906667-11.4688 8.73813333-15.29173334 14.7456-35.49866667 50.7904-45.32906667 96.11946667-38.77546666 167.1168 3.2768 31.67573333 10.92266667 57.89013333 21.84533333 87.92746667 4.9152 13.65333333 15.83786667 35.49866667 25.66826667 49.69813333 30.58346667 43.14453333 98.304 97.75786667 192.78506666 119.05706667 16.384 2.18453333 34.95253333 1.09226667 52.97493334-3.82293334 46.42133333-14.19946667 141.99466667-47.5136 141.99466666-47.5136s-84.65066667 7.09973333-122.88 3.2768c-8.73813333-1.6384-18.56853333-1.6384-25.12213333-8.192-1.09226667-1.09226667-4.9152-8.73813333-2.18453333-9.28426666 3.2768 0 13.1072-3.82293333 27.8528-5.46133334-31.67573333-3.2768-31.1296-3.2768-33.31413334-9.28426666-4.36906667-10.92266667-9.28426667-21.2992-14.7456-31.67573334 13.65333333 1.09226667 44.78293333 2.73066667 55.15946667-7.64586666 0 0-18.0224 2.18453333-34.4064 0-5.46133333-0.54613333-14.7456-3.82293333-17.47626667-4.9152-7.09973333-2.73066667-13.1072-3.82293333-14.7456-5.46133334-2.73066667-6.5536-4.36906667-8.73813333-7.09973333-16.93013333-4.36906667-11.4688-4.36906667-24.02986667-5.46133333-35.49866667 10.37653333 13.1072 24.02986667 24.02986667 41.50613333 29.4912 0-0.54613333 22.9376 9.8304 39.86773333 4.36906667l3.2768-1.09226667c0 0.54613333-10.92266667 1.09226667-15.29173333-1.09226666-33.86026667-14.19946667-38.77546667-26.76053333-44.2368-33.31413334l-14.7456-21.84533333c4.36906667-8.73813333 7.09973333-9.28426667 12.56106667-9.28426667 17.47626667 2.18453333 25.66826667 3.2768 36.0448 1.09226667 7.09973333 15.29173333 9.28426667 30.03733333 25.66826666 40.96 55.15946667 16.384 67.1744-4.9152 80.82773334-23.48373333 39.86773333 29.4912 104.8576 38.22933333 149.64053333 0.54613333 57.344-66.08213333 75.3664-170.3936 70.4512-176.40106667-7.09973333-12.01493333-16.384-24.576-24.576-22.9376-28.94506667 7.64586667-39.3216 22.39146667-67.72053333 19.11466667 3.2768 0 9.28426667 0 9.28426666-0.54613333 2.18453333-24.02986667 0-35.49866667-1.09226666-37.6832-8.73813333-19.11466667-20.20693333-39.3216-27.8528-54.0672-2.18453333-3.2768-8.192-26.76053333-18.0224-36.0448-4.36906667-3.82293333-14.7456-13.1072-14.7456-13.1072l-1.09226667 10.37653333s4.36906667 0.54613333 5.46133333 7.09973333c6.00746667 24.02986667 36.0448 81.37386667 38.22933334 84.10453334 10.92266667 17.47626667 1.09226667 38.77546667 9.28426666 50.7904 0.54613333 1.6384 16.384 0 28.94506667 0.54613333 20.20693333-4.36906667 19.11466667-13.1072 36.59093333-14.7456 12.01493333-1.09226667 13.1072 21.2992 12.56106667 22.9376-2.18453333 24.576-9.8304 52.4288-20.75306667 78.6432-23.48373333 45.32906667-49.69813333 86.28906667-87.38133333 91.7504-45.8752 8.192-69.35893333-12.01493333-93.93493333-24.576l-9.28426667 8.192c-32.22186667 32.22186667-70.4512 28.94506667-85.74293333-12.56106667-7.64586667-16.384-18.0224-26.2144-26.76053334-39.86773333l-45.8752 33.31413333c-3.82293333 7.64586667-8.73813333 20.20693333-14.19946666 33.86026667-3.82293333 9.8304-7.09973333 26.2144-7.09973334 39.86773333-6.00746667 9.8304 20.20693333 50.7904 37.13706667 75.3664 4.9152 7.09973333 14.19946667 20.20693333 14.19946667 20.75306667 3.2768 8.73813333 10.37653333 16.384 10.92266666 16.93013333 31.1296 40.41386667-38.77546667 31.1296-53.52106666 28.39893334-28.39893333-4.36906667-56.25173333-16.384-82.46613334-32.22186667-1.6384-1.09226667-3.2768-1.6384-4.36906666-2.73066667-31.1296-19.6608-59.52853333-44.78293333-84.10453334-69.35893333-14.7456-16.384-28.39893333-50.24426667-38.77546666-73.728-15.29173333-57.344-37.13706667-156.74026667 22.39146666-232.10666667 3.82293333-4.36906667 7.64586667-11.4688 11.4688-13.1072 17.47626667-12.01493333 37.13706667-20.20693333 57.344-24.576l-2.18453333-13.1072c-10.37653333 2.18453333-44.78293333 15.29173333-54.61333333 20.20693334-22.39146667 6.5536-40.96 13.1072-69.35893334 20.20693333-9.28426667 1.09226667-18.0224 1.09226667-27.30666666 0-20.20693333-2.73066667-55.15946667-0.54613333-57.344-2.18453333-13.65333333-19.11466667-17.47626667-54.0672-30.03733334-72.63573334-7.64586667-9.8304-15.83786667-18.0224-24.576-26.2144-30.03733333-30.03733333-56.25173333-58.9824-63.35146666-90.112-1.6384-9.28426667-6.5536-18.56853333-3.82293334-45.32906666 7.09973333-25.12213333 19.11466667-45.8752 39.3216-66.08213334 20.75306667 0.54613333 41.50613333 0.54613333 57.89013334 3.82293334 7.64586667 1.09226667 22.9376 3.2768 38.77546666 9.28426666 40.41386667 14.7456 93.3888 39.86773333 93.3888 39.86773334-39.86773333-21.84533333-84.65066667-50.24426667-112.50346666-56.25173334-4.36906667-0.54613333-6.5536-2.73066667-8.192-6.00746666 42.5984-25.12213333 50.24426667-54.0672 78.09706666-80.2816 12.56106667-5.46133333 17.47626667-8.192 28.39893334-9.28426667 99.9424 15.83786667 163.29386667 55.7056 212.992 82.46613333 20.20693333 10.92266667 38.77546667 19.11466667 56.25173333 29.4912 15.29173333 4.9152 61.71306667 39.86773333 75.3664 58.9824 13.65333333 28.94506667 24.02986667 60.6208 33.31413333 91.20426667 6.5536 31.1296 12.56106667 43.69066667 12.56106667 43.69066667s-5.46133333-25.66826667-4.9152-30.58346667c6.00746667 2.18453333 19.6608 6.5536 25.12213333 6.00746667 0 0-25.66826667-13.1072-28.94506666-24.576-10.92266667-37.13706667-21.2992-95.57333333-24.576-98.304-8.192-10.37653333-42.05226667-36.0448-62.80533334-48.05973334-7.64586667-4.36906667-12.01493333-7.64586667-12.56106666-9.28426666 6.5536-6.5536 14.7456-15.83786667 22.39146666-21.2992 7.09973333-5.46133333 13.65333333-11.4688 23.48373334-15.29173334 43.14453333-19.6608 68.26666667 7.64586667 73.728 2.18453334 0 0-9.28426667-10.92266667-4.9152-8.73813334 4.36906667 2.18453333 18.0224 4.9152 19.6608 6.5536 15.83786667 12.56106667 57.344 57.344 81.92 105.40373334 6.00746667 11.4688 8.192 19.11466667 5.46133333 33.31413333-2.73066667 14.19946667-4.9152 21.84533333-8.192 31.1296-2.73066667 6.00746667-18.0224 49.152-18.0224 55.15946667-3.2768 23.48373333 10.37653333 52.97493333 10.37653333 52.97493333 0-8.192-0.54613333-12.56106667 0-18.0224l1.09226667-10.37653333s-0.54613333-2.73066667-0.54613333-3.82293334c0.54613333-7.09973333 2.18453333-13.1072 2.73066666-16.93013333 4.9152-30.58346667 13.65333333-52.97493333 23.48373334-80.2816 2.73066667-6.5536 6.5536-10.37653333 6.5536-15.83786667 0-9.28426667-8.192-21.2992-14.19946667-33.86026666-6.5536-13.65333333-14.19946667-27.30666667-22.39146667-40.41386667-21.2992-31.1296-39.86773333-55.15946667-73.18186666-70.4512-9.28426667-4.36906667-46.42133333-8.192-58.9824-6.00746667-15.29173333 3.2768-28.94506667 6.5536-39.3216 13.1072-16.93013333 10.92266667-30.03733333 27.30666667-45.32906667 37.13706667-33.86026667-16.93013333-50.24426667-30.03733333-53.52106667-31.67573333-20.20693333-10.92266667-44.78293333-23.48373333-70.4512-35.49866667C382.5664 103.49226667 305.01546667 75.09333333 233.472 69.632z m435.8144 635.6992c-20.75306667-16.384-38.77546667-33.31413333-50.24426667-50.7904-3.82293333 20.20693333-17.47626667 34.95253333-28.39893333 49.152-2.18453333 3.2768-3.82293333 8.192 6.5536 22.39146667 2.73066667 3.82293333 13.1072 4.36906667 19.6608 4.36906666-7.09973333-5.46133333-17.47626667-10.92266667-19.11466667-15.83786666 12.56106667 8.192 23.48373333 10.92266667 33.86026667 9.28426666 2.18453333 0 5.46133333-2.73066667 7.64586667-6.5536 4.36906667-9.8304 8.192-12.01493333 12.01493333-14.7456l8.192 10.37653334 9.8304-7.64586667z\" p-id=\"18753\"></path>\n </g>\n </svg>",
"driverFiles": "hive-jdbc-3.1.2-standalone.jar;mysql-connector-j-8.3.0.jar;postgresql-42.7.3.jar;",
"jdbcReferDriver": "org.apache.hive.jdbc.HiveDriver",
"jdbcReferUrl": "jdbc:hive2://[ip]:[port]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n function addField(field, pkList) {\r\n let fieldStr = `${field.defKey} ${field.dbDataType}`;\r\n if (['VARCHAR', 'CHAR'].includes(field.dbDataType?.toUpperCase())) {\r\n fieldStr += `(${field.dataLen ? field.dataLen : 128})`;\r\n } else if (field.dbDataType?.toUpperCase() === 'DECIMAL' && field.dataLen && field.dataLen >= 1 && field.dataLen <= 38) {\r\n if (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen) {\r\n fieldStr += `(${field.dataLen},${field.numScale})`;\r\n } else {\r\n fieldStr += `(${field.dataLen})`;\r\n }\r\n }\r\n if (field.defName || field.intro) {\r\n fieldStr += ` COMMENT '${it.func.strJoin(field.defName, field.intro, \";\", true)}'`;\r\n }\r\n if (field.primaryKey) {\r\n pkList.push(field.defKey);\r\n }\r\n return `${fieldStr}${index < it.fields.length - 1 ? ',' : ''}`;\r\n }\r\n}}\r\n\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{= addField(field, pkList) }}{{~}}{{? pkList.length > 0 }},\r\n CONSTRAINT {{= it.defKey}}_constraint_name PRIMARY KEY ({{= pkList.join(', ')}}) DISABLE NOVALIDATE{{?}}\r\n);\r\n$blankline\r\n\r\n{{? it.defName || it.intro }}\r\nALTER TABLE {{= tableKey }} SET TBLPROPERTIES ('comment' = '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}');\r\n{{?}}\r\n$blankline\r\n\r\n\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP CONSTRAINT {{= it.defKey}}_constraint_name;\r\n{{? indexFields && indexFields.length > 0 || defKey}}\r\nALTER TABLE {{= tableKey }} ADD CONSTRAINT {{= it.defKey}}_constraint_name PRIMARY KEY ({{~indexFields:field:i}}{{= field.defKey }}{{= i < indexFields.length-1 ? ',' : '' }}{{~}}) DISABLE NOVALIDATE;\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nALTER TABLE {{= tableKey }} SET TBLPROPERTIES ('comment' = '{{=it.func.strJoin(defName, intro, \";\", true)}}');\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\n dbDataType.toUpperCase() === 'CHAR') {\n return `${dbDataType} (${dataLen ? dataLen : '128'})`; \n } else if(dbDataType.toUpperCase() === 'DECIMAL' ) {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD COLUMNS ({{= field.defKey}} {{= finalDataType}}{{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}});\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\n dbDataType.toUpperCase() === 'CHAR') {\n return `${dbDataType} (${dataLen ? dataLen : '128'})`; \n } else if(dbDataType.toUpperCase() === 'DECIMAL' ) {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\nALTER TABLE {{= tableKey }} CHANGE {{= preDefKey || field.defKey}} {{= nextDefKey || field.defKey}} {{= finalDataType}} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{~}}",
"columnDelete": null,
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}}{{?}} INDEX {{=row.defKey}} ON TABLE {{= tableKey }} (\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}} {{= idx < row.fields.length - 1 ? ',' : ''}}\r\n {{~}}\r\n) AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler'\r\nWITH DEFERRED REBUILD {{? row.defName || row.intro }} COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}'{{?}};\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nDROP INDEX IF EXISTS {{=row.defKey}} ON {{= tableKey }};\n{{? row.fields.length > 0 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON TABLE {{= tableKey }} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}} {{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n) AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler'\nWITH DEFERRED REBUILD {{? row.defName || row.intro }} COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}' {{?}};\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nDROP INDEX IF EXISTS {{=row.defKey}} ON {{= tableKey }};\n{{~}}",
"metaTableQuery": "SELECT\r\n tbl.\"TBL_NAME\" AS def_key -- 表名\r\n ,tbl_params.\"PARAM_VALUE\" AS def_name -- 表注释\r\n ,db.\"NAME\" AS schema_name -- 数据库名\r\nFROM\r\n \"SDS\" SDS\r\n LEFT JOIN \"TBLS\" tbl ON sds.\"SD_ID\" = tbl.\"SD_ID\"\r\n LEFT JOIN \"TABLE_PARAMS\" tbl_params ON tbl.\"TBL_ID\" = tbl_params.\"TBL_ID\" AND tbl_params.\"PARAM_KEY\" = 'comment'\r\n LEFT JOIN \"PARTITION_KEYS\" partkey ON tbl.\"TBL_ID\" = partkey.\"TBL_ID\"\r\n LEFT JOIN \"DBS\" db ON tbl.\"DB_ID\" = db.\"DB_ID\" -- 过滤数据库\r\nWHERE\r\n tbl.\"TBL_NAME\" IS NOT NULL\r\n AND db.\"NAME\" IN (:schemaName)\r\n AND tbl.\"TBL_TYPE\" = 'MANAGED_TABLE'-- 只查询MANAGED_TABLE类型的表",
"metaColumnQuery": "SELECT\r\n tbl.\"TBL_NAME\" AS tbl_def_key -- 表名\r\n ,tbl_params.\"PARAM_VALUE\" AS tbl_comment -- 表注释\r\n ,col.\"COLUMN_NAME\" AS def_key -- 字段名称\r\n ,col.\"COMMENT\" AS def_name -- 字段注释\r\n ,col.\"TYPE_NAME\" AS db_data_type -- 字段类型\r\n ,db.\"NAME\" AS schema_name\r\nFROM\r\n \"SDS\" sds\r\n LEFT JOIN \"TBLS\" tbl ON sds.\"SD_ID\" = tbl.\"SD_ID\"\r\n LEFT JOIN \"TABLE_PARAMS\" tbl_params ON tbl.\"TBL_ID\" = tbl_params.\"TBL_ID\" AND tbl_params.\"PARAM_KEY\" = 'comment'\r\n LEFT JOIN \"PARTITION_KEYS\" partkey ON tbl.\"TBL_ID\" = partkey.\"TBL_ID\"\r\n LEFT JOIN \"DBS\" db ON tbl.\"DB_ID\" = db.\"DB_ID\"\r\n LEFT JOIN \"COLUMNS_V2\" col ON sds.\"CD_ID\" = col.\"CD_ID\" -- 过滤数据库\r\nWHERE\r\n tbl.\"TBL_NAME\" IS NOT NULL\r\n AND db.\"NAME\" IN (:schemaName)\r\n AND CONCAT(TRIM(db.\"NAME\"), '.', TRIM(tbl.\"TBL_NAME\")) IN (:sysTableNames)\r\nORDER BY schema_name ASC, tbl_def_key ASC",
"metaIndexQuery": "SELECT\n tbl.\"TBL_NAME\" AS TBL_DEF_KEY\n ,sort.\"COLUMN_NAME\" AS COL_DEF_KEY\n , i.\"INDEX_NAME\" AS DEF_KEY\n , params.\"PARAM_VALUE\" AS DEF_NAME\n , '' AS INTRO\n , '' AS SORT_TYPE\n , '' AS TYPE\n , sort.\"INTEGER_IDX\" AS ORDER_VALUE\n , db.\"NAME\" AS SCHEMA_NAME\nFROM\n \"SDS\" SDS\n LEFT JOIN \"TBLS\" tbl ON sds.\"SD_ID\" = tbl.\"SD_ID\"\n LEFT JOIN \"DBS\" db ON tbl.\"DB_ID\" = db.\"DB_ID\" -- 过滤数据库\n INNER JOIN \"IDXS\" i ON tbl.\"TBL_ID\" = i.\"ORIG_TBL_ID\"\n INNER JOIN \"SORT_COLS\" sort ON i.\"SD_ID\" = sort.\"SD_ID\"\n INNER JOIN \"INDEX_PARAMS\" params ON i.\"INDEX_ID\" = params.\"INDEX_ID\" and params.\"PARAM_KEY\" = 'comment'\nWHERE\n tbl.\"TBL_NAME\" IS NOT NULL\n AND db.\"NAME\" IN (:schemaName)\n AND CONCAT(TRIM(db.\"NAME\"), '.', TRIM(tbl.\"TBL_NAME\")) IN (:sysTableNames)\nORDER BY SCHEMA_NAME, TBL_DEF_KEY, DEF_KEY, ORDER_VALUE ;",
"metaQueryCharset": null,
"orderValue": 16,
"isEnabled": 0,
"id": "BPMCJTYLY4UAC"
},
{
"defKey": "Doris",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M329.12 110c50.128-50.112 132.208-50.944 182.32-0.816l100.64 100.64a128.32 128.32 0 0 1 0 181.472l-74.24 74.24a25.664 25.664 0 0 1-36.304 0L328.32 292.32c-50.112-50.128-49.28-132.208 0.816-182.32z\" fill=\"#4FA7C7\" p-id=\"34486\"></path><path d=\"M206.224 302.4c0-20.768 25.12-31.2 39.84-16.48l219.2 219.2c9.104 9.104 9.104 23.872 0 32.992l-219.2 219.2c-14.72 14.688-39.84 4.288-39.84-16.512V302.4z\" fill=\"#5568A7\" p-id=\"34487\"></path><path d=\"M332.432 930c-50.112-50.112-50.928-132.192-0.816-182.304l324.192-324.208c35.488-35.456 51.152-67.632 56.112-113.824l120.432 120.432a129.504 129.504 0 0 1 0 183.136l-317.6 317.6c-50.112 50.112-132.192 49.28-182.304-0.832z\" fill=\"#75C6A7\" p-id=\"34488\"></path>\n </g>\n </svg>",
"driverFiles": "mysql-connector-j-8.3.0.jar",
"jdbcReferDriver": "com.mysql.cj.jdbc.Driver",
"jdbcReferUrl": "jdbc:mysql://[ip]:[port]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return ''\r\n }\r\n const dataType = dbDataType.toUpperCase();\r\n if (dataType === 'VARCHAR') {\r\n return `${dataType}(${field.dataLen ? field.dataLen : 128})`;\r\n } else if (['JSON','DATE'].includes(dataType)) {\r\n return dataType;\r\n } else if (dataType === 'TIMESTAMP') {\r\n return field.dataLen && field.dataLen >= 0 && field.dataLen <= 9 ? `${dataType}(${field.dataLen})` : dataType;\r\n } else if (dataType === 'DECIMAL') {\r\n return field.dataLen && field.dataLen >= 0 && field.dataLen <= 6 ? `${dataType}(${field.dataLen})` : dataType;\r\n } else {\r\n return field.dataLen && field.dataLen >= 0 ? `${dataType}(${field.dataLen})` : dataType;\r\n }\r\n }\r\n\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const notNull = field.notNull ? ' NOT NULL' : '';\r\n const defaultValue = field.defaultValue ? ` DEFAULT ${field.defaultValue}` : '';\r\n const comment = ` COMMENT '${it.func.strJoin(field.defName, field.intro, \";\", true)}'`;\r\n return `${dataType}${notNull}${defaultValue}${comment}${index < nonPkList.length-1 ? ',' : ''}`;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; nonPkList = [] ; }}\r\n{{~it.fields:field:index}}{{? field.primaryKey }}{{ pkList.push(field) }}{{??}}{{ nonPkList.push(field) }}{{?}}{{~}}\r\n{{~pkList:field:index}}\r\n `{{=field.defKey}}` {{= getFieldDefinition(field, index, it.fields) }}{{?}}\r\n{{~nonPkList:field:index}}\r\n `{{=field.defKey}}` {{= getFieldDefinition(field, index, it.fields) }}{{?}}\r\n{{~}}\r\n){{? pkList.length > 0 }} UNIQUE KEY ({{~pkList:field:index}}`{{= field.defKey }}`{{= index < pkList.length-1 ? ',' : '' }}{{~}}){{?}}\r\n{{? it.defName || it.intro }} \r\n COMMENT '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}' \r\n{{?}}\r\n DISTRIBUTED BY HASH(`{{=pkList.length > 0 ? pkList[0].defKey : it.fields[0].defKey}}`) BUCKETS 1\r\n PROPERTIES(\r\n \"replication_allocation\" = \"tag.location.default: 1\"\r\n );\r\n$blankline\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nALTER TABLE {{= tableKey }} MODIFY COMMENT '{{=it.func.strJoin(defName, intro, \";\", true)}}';\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'VARCHAR' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'BIGINT') {\n return `${dbDataType} ${dataLen ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'JSON') {\n return dbDataType; \n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DATETIME') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 9) ? `(${dataLen})` : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n \n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD COLUMN {{= field.defKey}} {{= finalDataType}}{{= field.autoIncrement ? ' AUTO_INCREMENT ' : '' }}{{? field.notNull}} NOT NULL {{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}}{{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}};\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'VARCHAR' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'BIGINT') {\n return `${dbDataType} ${dataLen ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'JSON') {\n return dbDataType; \n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DATETIME') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n } else if(dbDataType.toUpperCase() === 'TIMESTAMP') {\n return `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 9) ? `(${dataLen})` : ''}`;\n } else if(dataLen && dataLen >= 0) {\n return `${dbDataType} (${dataLen})`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{ \n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey')}}\nALTER TABLE {{= tableKey }} RENAME COLUMN {{=preDefKey}} {{=field.defKey}};;\n{{?}}\n{{? updateKeys.includes('defaultValue')}}\nALTER TABLE {{= tableKey }} ALTER COLUMN `{{=field.defKey}}` SET DEFAULT {{=field.defaultValue}};\n{{?}}\nALTER TABLE {{= tableKey }} MODIFY COLUMN `{{=field.defKey}}` {{=finalDataType}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? ' AUTO_INCREMENT ' : '' }}{{? field.defaultValue }} DEFAULT {{=field.defaultValue}}{{?}}{{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}};\n{{~}}\n",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields && row.fields.length === 1 && row.defKey}}\r\nALTER TABLE {{= tableKey }} ADD INDEX {{=row.defKey}} ({{~row.fields:field:idx}} {{=field.fieldDefKey}} {{~}}) {{? row.defName || row.intro }} COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}'{{?}};\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n let updateKeys = row.baseUpdate.updateKeys.split(',');\n let preDefKey = row.baseUpdate.pre.defKey;\n}}\nALTER TABLE {{=it.defKey}}\nDROP INDEX {{= schemaName }}{{? updateKeys.includes('defKey')}}{{=preDefKey}}{{??}}{{=row.defKey}}{{?}}, \nADD {{? row.type.toUpperCase() === 'UNIQUE'}} {{=row.type}} {{?}} INDEX {{= schemaName }}{{=row.defKey}}(\n {{~row.fields:field:idx}}\n `{{=field.fieldDefKey}}` {{=field.sortType}}{{= idx < row.fields.length - 1 ? ',' : ''}}\n {{~}}\n){{? row.defName || row.intro }}COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}'{{?}};\n{{~}}",
"indexDelete": "{{\r\n let indexesUpdate = it.indexesUpdate; \r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~indexesUpdate:index:i}}\r\nDROP INDEX {{=index.defKey}} ON {{= tableKey }};\r\n{{~}}",
"metaTableQuery": "SELECT\n null AS id,\n table_name AS def_key,\n table_comment AS def_name,\n table_schema AS schema_name\nFROM\n information_schema.tables\nWHERE table_type = 'BASE TABLE'\n and table_schema IN (:schemaName)",
"metaColumnQuery": "SELECT\n table_schema AS schema_name,\n table_name AS tbl_def_key,\n ordinal_position as order_value,\n column_name AS def_key,\n column_comment AS def_name,\n '' AS intro,\n data_type AS db_data_type,\n IF(data_type = column_type,NULL,COALESCE ( character_maximum_length, numeric_precision )) AS data_len,\n IF(data_type = column_type, NULL, numeric_scale ) AS num_scale,\n IF(column_key = 'PRI', 1, 0 ) AS primary_key,\n IF(is_nullable = 'YES', 0, 1 ) AS not_null,\n IF(extra = 'AUTO_INCREMENT', 1, 0 ) AS auto_increment,\n column_default AS default_value\nFROM\n information_schema.COLUMNS\nWHERE\n table_schema IN (:schemaName)\n and CONCAT(table_schema, '.', table_name) in (:sysTableNames)\nORDER BY\n table_schema ASC,\n table_name ASC,\n ordinal_position ASC",
"metaIndexQuery": "SELECT TABLE_NAME AS TBL_DEF_KEY,\r\n COLUMN_NAME AS COL_DEF_KEY,\r\n INDEX_COMMENT AS DEF_NAME,\r\n COMMENT AS INTRO,\r\n IF (COLLATION = 'A', 'ASC', 'DESC') AS SORT_TYPE,\r\n IF (NON_UNIQUE = 1, 'NORMAL', 'UNIQUE') AS TYPE,\r\n SEQ_IN_INDEX AS ORDER_VALUE,\r\n INDEX_NAME AS DEF_KEY FROM information_schema.STATISTICS\r\nWHERE INDEX_SCHEMA IN (:schemaName) AND CONCAT(TRIM(INDEX_SCHEMA), '.', TRIM(TABLE_NAME)) IN (:sysTableNames) AND INDEX_NAME != 'PRIMARY'\r\nORDER BY TBL_DEF_KEY, DEF_KEY, ORDER_VALUE",
"metaQueryCharset": null,
"orderValue": 17,
"isEnabled": 0,
"id": "BPQHE5O6A64AC"
},
{
"defKey": "StarRocks",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"54\" height=\"62\" viewBox=\"0 0 54 62\" fill=\"none\"><script xmlns=\"\"/>\n<path d=\"M16.17 27.33C12.17 24.06 7.81 20.45 5.48 18.52L3.85 17.18C2.72 16.25 1.85 14.6 3.75 13.47C4.58 13 18.78 4.83 24 1.8C24.9101 1.26745 25.9455 0.986755 27 0.986755C28.0545 0.986755 29.0899 1.26745 30 1.8L40 7.59C40.1808 7.69315 40.3312 7.8423 40.4357 8.02232C40.5403 8.20234 40.5954 8.40682 40.5954 8.615C40.5954 8.82319 40.5403 9.02767 40.4357 9.20769C40.3312 9.38771 40.1808 9.53686 40 9.64L16.52 23.11C16.1583 23.317 15.8525 23.6089 15.6287 23.9604C15.4049 24.312 15.27 24.7127 15.2356 25.128C15.2011 25.5433 15.2682 25.9607 15.431 26.3443C15.5938 26.7279 15.8474 27.0662 16.17 27.33Z\" fill=\"#FABF00\"/>\n<path d=\"M22 36.88L12.48 51.45C12.1476 51.9565 11.6338 52.3165 11.0443 52.4559C10.4547 52.5954 9.83413 52.5038 9.31 52.2L3 48.55C2.09463 48.0273 1.34153 47.2772 0.815324 46.3738C0.289116 45.4705 0.00805933 44.4454 0 43.4L0 19.08C0.000384234 18.1553 0.216647 17.2435 0.63157 16.4171C1.04649 15.5907 1.64862 14.8726 2.39 14.32C0.69 15.63 1.39 17.1 2.49 18.04L21.57 33.75C22.0121 34.1288 22.3 34.6566 22.3793 35.2334C22.4585 35.8102 22.3236 36.396 22 36.88Z\" fill=\"#338393\"/>\n<path d=\"M37.83 35.11L48.52 43.92L50.15 45.26C51.28 46.2 52.15 47.85 50.25 48.98C49.42 49.47 35.25 57.62 29.98 60.65C29.0739 61.1674 28.0484 61.4395 27.005 61.4395C25.9616 61.4395 24.9362 61.1674 24.03 60.65L14 54.86C13.8194 54.7555 13.6694 54.6053 13.5651 54.4245C13.4609 54.2437 13.406 54.0387 13.406 53.83C13.406 53.6213 13.4609 53.4163 13.5651 53.2355C13.6694 53.0547 13.8194 52.9045 14 52.8L37.48 39.34C37.8417 39.1318 38.1475 38.8389 38.3712 38.4865C38.5948 38.1341 38.7296 37.7327 38.7641 37.3168C38.7985 36.9008 38.7315 36.4827 38.5688 36.0984C38.4061 35.714 38.1526 35.3749 37.83 35.11Z\" fill=\"#338393\"/>\n<path d=\"M32 25.57L41.52 11C41.8524 10.4935 42.3662 10.1336 42.9557 9.99407C43.5453 9.85458 44.1659 9.94617 44.69 10.25L51 13.9C51.9094 14.418 52.6658 15.1671 53.1927 16.0715C53.7195 16.9759 53.998 18.0034 54 19.05V43.37C53.9996 44.2947 53.7833 45.2065 53.3684 46.0329C52.9535 46.8593 52.3514 47.5774 51.61 48.13C53.31 46.82 52.61 45.35 51.51 44.41L32.43 28.69C31.9886 28.3129 31.701 27.7869 31.6218 27.2118C31.5425 26.6367 31.6771 26.0525 32 25.57Z\" fill=\"#338393\"/>\n<script xmlns=\"\"/></svg>",
"driverFiles": "mysql-connector-j-8.3.0.jar",
"jdbcReferDriver": "com.mysql.jdbc.Driver",
"jdbcReferUrl": "jdbc:mysql://[ip]:[port]/[dbname]?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTC",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n const dataType = dbDataType.toUpperCase();\r\n if (dataType === 'VARCHAR') {\r\n return `${dataType}(${field.dataLen ? field.dataLen : 128})`;\r\n } else if (['DATE','STRING','FLOAT','BOOLEAN','DOUBLE','JSON','DATETIME'].includes(dataType)) {\r\n return dataType;\r\n } else if (dataType === 'DECIMAL') {\r\n if (field.dataLen) {\r\n if(field.dataLen>=1 && field.dataLen<=38) {\r\n return `${dataType}(${field.dataLen},${field.numScale ? field.numScale : 0})`;\r\n }\r\n else {\r\n return dataType;\r\n }\r\n }\r\n } else if(['BIGINT','INT','CHAR','SMALLINT','VARBINARY','BINARY'].includes(dataType)) {\r\n return field.dataLen ? `${dataType}(${field.dataLen})` : dataType;\r\n } else {\r\n return field.dataLen ? `${dataType}(${field.dataLen})` : dataType;\r\n }\r\n }\r\n\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const notNull = field.notNull ? ' NOT NULL' : '';\r\n const defaultValue = field.defaultValue ? ` DEFAULT ${field.defaultValue}` : '';\r\n const comment = ` COMMENT '${it.func.strJoin(field.defName, field.intro, \";\", true)}'`;\r\n return `${dataType}${notNull}${defaultValue}${comment}${index < nonPkList.length-1 ? ',' : ''}`;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; nonPkList = [] ; }}\r\n{{~it.fields:field:index}}{{? field.primaryKey }}{{ pkList.push(field) }}{{??}}{{ nonPkList.push(field) }}{{?}}{{~}}\r\n{{~pkList:field:index}}\r\n `{{=field.defKey}}` {{= getFieldDefinition(field, index, it.fields) }}{{?}}\r\n{{~nonPkList:field:index}}\r\n `{{=field.defKey}}` {{= getFieldDefinition(field, index, it.fields) }}{{?}}\r\n{{~}}\r\n){{? pkList.length > 0 }} PRIMARY KEY ({{~pkList:field:index}}`{{= field.defKey }}`{{= index < pkList.length-1 ? ',' : '' }}{{~}}){{?}}{{?\r\nit.defName || it.intro }} COMMENT '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}'{{?}};\r\n\r\n$blankline\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD CONSTRAINT constraint_name PRIMARY KEY({{~indexFields:field:i}}{{= field.defKey }} {{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nCOMMENT ON TABLE {{= tableKey }} IS '{{=it.func.strJoin(defName, intro, \";\", true)}}';\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'CHAR' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'VARBINARY' ||\n dbDataType.toUpperCase() === 'BINARY') {\n return `${dbDataType} ${(dataLen && dataLen > 0) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'VARCHAR') {\n return `${dbDataType} (${(dataLen && dataLen > 0) ? dataLen : 128})`;\n } else if(dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'STRING' ||\n dbDataType.toUpperCase() === 'FLOAT' ||\n dbDataType.toUpperCase() === 'DATETIME' ||\n dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'DOUBLE' ||\n dbDataType.toUpperCase() === 'JSON') {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD COLUMN {{= field.defKey}} {{= finalDataType}}{{? field.notNull}} NOT NULL {{?}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}}{{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}};\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'BIGINT' ||\n dbDataType.toUpperCase() === 'CHAR' ||\n dbDataType.toUpperCase() === 'INT' ||\n dbDataType.toUpperCase() === 'SMALLINT' ||\n dbDataType.toUpperCase() === 'VARBINARY' ||\n dbDataType.toUpperCase() === 'BINARY') {\n return `${dbDataType} ${(dataLen && dataLen > 0) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'VARCHAR') {\n return `${dbDataType} (${(dataLen && dataLen > 0) ? dataLen : 128})`;\n } else if(dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'STRING' ||\n dbDataType.toUpperCase() === 'FLOAT' ||\n dbDataType.toUpperCase() === 'DATETIME' ||\n dbDataType.toUpperCase() === 'BOOLEAN' ||\n dbDataType.toUpperCase() === 'DOUBLE' ||\n dbDataType.toUpperCase() === 'JSON') {\n return dbDataType;\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey }} TO {{= field.defKey }};{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'defName' || item === 'intro') }}\nALTER TABLE {{= tableKey }} MODIFY COLUMN {{= field.defKey }} {{= finalDataType}} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length && row.fields.length === 1 && row.defKey}}\r\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }} (\r\n {{~row.fields:field:idx}} {{=field.fieldDefKey}} {{= idx < row.fields.length - 1 ? ',' : ''}} {{~}}\r\n) {{? row.defName || row.intro }} COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}' {{?}};\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nALTER TABLE {{= it.defKey}} DROP INDEX {{? preDefKey}} {{= preDefKey}}{{??}} {{=row.defKey}}{{?}};\n{{? row.fields.length && row.fields.length === 1 && row.defKey}}\nCREATE {{? row.type.toUpperCase() === 'UNIQUE'}}{{=row.type}}{{?}} INDEX {{=row.defKey}} ON {{= tableKey }}(\n {{~row.fields:field:idx}} {{=field.fieldDefKey}} {{= idx < row.fields.length - 1 ? ',' : ''}}{{~}}\n){{? row.defName || row.intro }} COMMENT '{{=it.func.strJoin(row.defName, row.intro, \";\", true)}}'{{?}};\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nALTER TABLE {{= tableKey }} DROP INDEX {{=row.defKey}};\n{{~}}",
"metaTableQuery": "SELECT\n null AS id,\n table_name AS def_key,\n table_comment AS def_name,\n table_schema AS schema_name\nFROM\n information_schema.tables\nWHERE table_type = 'BASE TABLE'\n and table_schema IN (:schemaName)",
"metaColumnQuery": "SELECT\n table_schema AS schema_name,\n table_name AS tbl_def_key,\n ordinal_position as order_value,\n column_name AS def_key,\n column_comment AS def_name,\n '' AS intro,\n data_type AS db_data_type,\n IF(data_type = column_type,NULL,COALESCE ( character_maximum_length, numeric_precision )) AS data_len,\n IF(data_type = column_type, NULL, numeric_scale ) AS num_scale,\n IF(column_key = 'PRI', 1, 0 ) AS primary_key,\n IF(is_nullable = 'YES', 0, 1 ) AS not_null,\n IF(extra = 'AUTO_INCREMENT', 1, 0 ) AS auto_increment,\n column_default AS default_value\nFROM\n information_schema.COLUMNS\nWHERE\n table_schema IN (:schemaName)\n and CONCAT(table_schema, '.', table_name) in (:sysTableNames)\nORDER BY\n table_schema ASC,\n table_name ASC,\n ordinal_position ASC",
"metaIndexQuery": "SELECT INDEX_SCHEMA AS SCHEMA_NAME,\r\n TABLE_NAME AS TBL_DEF_KEY,\r\n COLUMN_NAME AS COL_DEF_KEY,\r\n INDEX_COMMENT AS DEF_NAME,\r\n COMMENT AS INTRO,\r\n IF (COLLATION = 'A', 'ASC', 'DESC') AS SORT_TYPE,\r\n IF (NON_UNIQUE = 1, 'NORMAL', 'UNIQUE') AS TYPE,\r\n SEQ_IN_INDEX AS ORDER_VALUE,\r\n INDEX_NAME AS DEF_KEY FROM information_schema.STATISTICS\r\nWHERE INDEX_SCHEMA IN (:schemaName) AND CONCAT(INDEX_SCHEMA, '.', TABLE_NAME) IN (:sysTableNames) AND INDEX_NAME != 'PRIMARY'\r\nORDER BY INDEX_SCHEMA, TBL_DEF_KEY, DEF_KEY, ORDER_VALUE",
"metaQueryCharset": null,
"orderValue": 18,
"isEnabled": 0,
"id": "1KLNTK63RV002"
},
{
"defKey": "Impala",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M345.072 402.704c3.2 2.88 42.176 40.896 61.36 84.688 23.968 55.616 20.128 99.712 20.128 99.712s42.192-4.48 48.896-39.632c3.52-17.888-7.024-66.144-30.352-105.456-29.408-49.536-74.464-88.528-77.664-98.752-5.12-16.64-19.168-92.048-4.48-178.336 11.2-63.92 52.096-135.84 62.016-148.928 0 0-30.688 32.272-59.136 79.584-21.088 35.472-40.592 81.168-46.656 117.6-16.304 93.328-6.08 150.848 4.8 168.112 10.224 15.648 14.688 15.648 21.088 21.408z m-31.968 80.848c7.68 70.32 69.04 106.112 69.04 106.112-23.008-78.304-69.04-106.112-69.04-106.112z m127.52 191.76c-17.568-12.48-47.296 8.32-47.296 8.32s11.52-1.28 18.224 3.504c6.704 4.8 7.024 17.584 10.864 24.288 3.84 6.72 16.928 4.16 21.408 5.44 4.48 1.28 10.56 11.184 12.144 16.288 1.6 5.12 23.328 61.68 23.328 61.68-3.52-58.8-21.088-107.056-38.672-119.52z m281.888-232.336s-26.208 35.472-50.816 66.144c-18.544 23.008-36.432 43.152-38.992 45.696-2.56 2.88-6.08 7.04-10.88 10.24-6.384 4.16-13.408 5.76-17.568 3.52-6.4-3.52-8-14.4-6.72-20.144 0.64-2.88 6.4-43.776 33.568-85.328 20.128-31.008 52.416-62 67.424-75.744 5.44-5.12 9.28-11.824 10.56-19.488 4.8-27.488 14.064-98.128-3.84-164.272-10.56-38.992-25.888-77.344-44.736-108.336-24.608-41.552-52.736-70.64-58.496-76.384 0 0 14.08 18.208 28.128 46.976 13.104 26.848 26.208 62.96 33.872 101.632 15.36 79.888 0.96 167.456-3.52 176.416-4.784 9.904-48.896 47.936-77.968 92.672-26.528 41.232-36.432 84.688-34.512 103.552 1.28 14.688 4.48 33.232 11.824 49.216 6.4 13.744 17.248 25.248 23.328 37.072 6.08 11.824 8 23.968 7.04 33.552-0.64 7.36-3.84 18.848-8.32 28.448-5.12 10.544-11.84 19.488-17.584 31.952-10.864 22.368-19.808 46.656-22.368 70.944-5.12 49.536 14.064 84.704 10.88 97.168-1.6 6.08-8.96 14.368-15.04 20.768-6.08 6.72-10.224 11.504-12.784 11.504-5.12 0-36.112-29.088-36.112-29.088s-0.96 13.12 1.6 16.944c2.56 3.84 22.048 12.784 27.168 19.488 5.12 7.04 8.32 18.864 6.08 23.968-2.24 5.12-7.36 11.84-15.68 11.52-8.288-0.32-20.448-0.32-20.448-0.32s10.24 3.84 18.864 5.76c8.64 1.904 18.848 6.704 19.488 15.648 0.64 8.96-0.64 19.808-5.76 23.328 0 0 21.76-7.36 33.888-17.584 12.16-10.224 16.624-14.048 24.608-34.512 8-20.448 25.888-68.064 31.648-113.12 5.76-45.072 10.864-105.152 13.408-114.416 2.88-9.6 17.92-25.568 19.184-31.968 1.28-6.4 0-9.92 0-9.92s15.344-2.224 18.544-5.104c-5.44-4.48-27.488-15.968-26.528-35.152 0.32-8.32 4.8-22.368 17.568-36.432 16.624-18.208 42.832-36.432 49.216-47.296 5.44-8.96 15.664-31.008 19.824-54.976 4.8-26.512 3.2-55.28 0.96-64.544z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"35769\" stroke=\"none\"></path>\n </g>\n </svg>",
"driverFiles": "ImpalaJDBC42.jar;postgresql-42.6.0.jar",
"jdbcReferDriver": "com.cloudera.impala.jdbc.Driver",
"jdbcReferUrl": "jdbc:impala://[ip]:[port]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n const dataType = dbDataType.toUpperCase();\r\n if (['VARCHAR','CHAR'].includes(dataType)) {\r\n return `${dataType}(${field.dataLen ? field.dataLen : 128})`;\r\n } else if (dataType === 'DECIMAL') {\r\n return field.dataLen && field.dataLen >= 1 && field.dataLen <= 38 ? (field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen ? `${dataType}(${field.dataLen},${field.numScale})` : `${dataType}(${field.dataLen})`) : `${dataType}`;\r\n\r\n } else if (dataType === 'TEXT') {\r\n return dataType;\r\n }else {\r\n return field.dataLen && field.dataLen >= 0 ? `${dataType}(${field.dataLen})` : dataType;\r\n }\r\n }\r\n\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const comment = ` COMMENT '${it.func.strJoin(field.defName, field.intro, \";\", true)}'`;\r\n return `${dataType}${comment}${index < fields.length - 1 || pkList.length > 0 ? ',' : ''}`;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n `{{=field.defKey}}` {{= getFieldDefinition(field, index, it.fields) }}\r\n{{~}}\r\n){{? (it.intro && it.intro !== '') || (it.defName && it.defName !== '') }} COMMENT '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}'{{?}};\r\n$blankline\r\nSTORED AS PARQUET TBLPROPERTIES ('transactional'='false');",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nCOMMENT ON TABLE {{= tableKey }} is '{{=it.func.strJoin(defName, intro, \";\", true)}}';\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'CHAR') {\n return `${dbDataType} (${(dataLen && dataLen > 0) ? dataLen : 128})`;\n } else if(dbDataType.toUpperCase() === 'VARCHAR') {\n return `${dbDataType} ${(dataLen && dataLen > 0) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DECIMAL' && dataLen) {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nALTER TABLE {{= tableKey }} ADD COLUMNS ({{~fieldsUpdate:field:index}} \n {{= field.defKey}} {{=computeDatatype(field)}}{{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}}{{= index < fieldsUpdate.length - 1 ? ',' : '' }} \n{{~}});\n",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\n if(!dbDataType) {\n return '';\n }\n if(dbDataType.toUpperCase() === 'CHAR') {\n return `${dbDataType} (${(dataLen && dataLen > 0) ? dataLen : 128})`;\n } else if(dbDataType.toUpperCase() === 'VARCHAR') {\n return `${dbDataType} ${(dataLen && dataLen > 0) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DECIMAL' && dataLen) {\n return `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 38) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\n }\n return dbDataType;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\nALTER TABLE {{= tableKey }} CHANGE COLUMN {{= preDefKey || field.defKey}} {{= nextDefKey || field.defKey}} {{= finalDataType}} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}';\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "",
"indexUpdate": null,
"indexDelete": "",
"metaTableQuery": "SELECT\r\n tbl.\"TBL_NAME\" AS def_key -- 表名\r\n ,tbl_params.\"PARAM_VALUE\" AS def_name -- 表注释\r\n ,db.\"NAME\" AS schema_name -- 数据库名\r\nFROM\r\n \"SDS\" SDS\r\n LEFT JOIN \"TBLS\" tbl ON sds.\"SD_ID\" = tbl.\"SD_ID\"\r\n LEFT JOIN \"TABLE_PARAMS\" tbl_params ON tbl.\"TBL_ID\" = tbl_params.\"TBL_ID\" AND tbl_params.\"PARAM_KEY\" = 'comment'\r\n LEFT JOIN \"PARTITION_KEYS\" partkey ON tbl.\"TBL_ID\" = partkey.\"TBL_ID\"\r\n LEFT JOIN \"DBS\" db ON tbl.\"DB_ID\" = db.\"DB_ID\" -- 过滤数据库\r\nWHERE\r\n tbl.\"TBL_NAME\" IS NOT NULL\r\n AND db.\"NAME\" IN (:schemaName)",
"metaColumnQuery": "SELECT\r\n tbl.\"TBL_NAME\" AS tbl_def_key,\r\n tbl_params.\"PARAM_VALUE\" AS tbl_comment,\r\n col.\"COLUMN_NAME\" AS def_key,\r\n col.\"COMMENT\" AS def_name,\r\n CASE WHEN\r\n POSITION('(' IN col.\"TYPE_NAME\") = 0\r\n THEN 0 ELSE (STRING_TO_ARRAY(SUBSTRING(col.\"TYPE_NAME\", POSITION('(' IN col.\"TYPE_NAME\") + 1, POSITION(')' IN col.\"TYPE_NAME\") - POSITION('(' IN col.\"TYPE_NAME\") - 1), ','))[1]::INTEGER END AS data_len,\r\n CASE WHEN\r\n POSITION('(' IN col.\"TYPE_NAME\") = 0\r\n THEN 0 ELSE (STRING_TO_ARRAY(SUBSTRING(col.\"TYPE_NAME\", POSITION('(' IN col.\"TYPE_NAME\") + 1, POSITION(')' IN col.\"TYPE_NAME\") - POSITION('(' IN col.\"TYPE_NAME\") - 1), ','))[2]::INTEGER END AS num_scale,\r\n SUBSTRING(col.\"TYPE_NAME\", '^[^\\\\(]+') AS db_data_type,\r\n db.\"NAME\" AS schema_name\r\nFROM\r\n \"SDS\" sds\r\n LEFT JOIN \"TBLS\" tbl ON sds.\"SD_ID\" = tbl.\"SD_ID\"\r\n LEFT JOIN \"TABLE_PARAMS\" tbl_params ON tbl.\"TBL_ID\" = tbl_params.\"TBL_ID\" AND tbl_params.\"PARAM_KEY\" = 'comment'\r\n LEFT JOIN \"PARTITION_KEYS\" partkey ON tbl.\"TBL_ID\" = partkey.\"TBL_ID\"\r\n LEFT JOIN \"DBS\" db ON tbl.\"DB_ID\" = db.\"DB_ID\"\r\n LEFT JOIN \"COLUMNS_V2\" col ON sds.\"CD_ID\" = col.\"CD_ID\"\r\nWHERE\r\n tbl.\"TBL_NAME\" IS NOT NULL\r\n AND db.\"NAME\" IN (:schemaName)\r\n AND CONCAT(db.\"NAME\", '.', tbl.\"TBL_NAME\") IN (:sysTableNames)\r\nORDER BY schema_name, ASC, tbl_def_key ASC",
"metaIndexQuery": null,
"metaQueryCharset": null,
"orderValue": 19,
"isEnabled": 0,
"id": "BPQHETM4U64AB"
},
{
"defKey": "MaxCompute",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M576.0144 0a128 128 0 0 1 108.048 196.672L866.0944 451.52a128 128 0 1 1-78.128 55.824L605.9024 252.48c-2.688 0.64-5.44 1.216-8.192 1.68l-102.368 470.88A159.936 159.936 0 0 1 576.0144 864c0 88.368-71.632 160-160 160s-160-71.632-160-160c0-40.752 15.232-77.936 40.32-106.192l-148.416-247.36a128 128 0 1 1 82.32-49.408l148.384 247.36c7.44-1.792 15.088-3.04 22.88-3.76l102.384-470.88A128 128 0 0 1 576.0144 0z\" fill=\"rgba(0,120.10499999999999,255,1)\" p-id=\"32207\" stroke=\"none\"></path>\n </g>\n </svg>",
"driverFiles": "odps-jdbc-3.5.8-jar-with-dependencies.jar",
"jdbcReferDriver": "com.aliyun.odps.jdbc.OdpsDriver",
"jdbcReferUrl": "jdbc:odps://[ip]:[port]?project=[database]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n const dataType = dbDataType.toUpperCase();\r\n if (['VARCHAR','CHAR'].includes(dataType)) {\r\n return `${dataType}(${field.dataLen ? field.dataLen : 128})`;\r\n } else if (dataType === 'DECIMAL') {\r\n return field.dataLen && field.dataLen >= 0 ? `${dataType}(${field.dataLen},${field.numScale ? field.numScale : 0})` : `${dataType}(0, 0)`;\r\n } else if (dataType === 'TEXT') {\r\n return dataType;\r\n }else {\r\n return field.dataLen && field.dataLen >= 0 ? `${dataType}(${field.dataLen})` : dataType;\r\n }\r\n }\r\n\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const notNull = field.notNull ? ' NOT NULL' : '';\r\n const autoIncrement = field.autoIncrement ? ' AUTO_INCREMENT' : '';\r\n const defaultValue = field.defaultValue ? ` DEFAULT ${field.defaultValue}` : '';\r\n const comment = ` COMMENT '${it.func.strJoin(field.defName, field.intro, \";\", true)}'`;\r\n return `${dataType}${notNull}${autoIncrement}${defaultValue}${comment}${index < fields.length - 1 || pkList.length > 0 ? ',' : ''}`;\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n {{=field.defKey}} {{= getFieldDefinition(field, index, it.fields) }}\r\n{{~}}\r\n{{? pkList.length > 0 }}\r\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i < pkList.length - 1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n){{? (it.intro && it.intro !== '') || (it.defName && it.defName !== '') }} COMMENT '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}'{{?}};\r\n$blankline\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? isPrimaryKeyModified }}\r\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\r\n{{? indexFields && indexFields.length > 0}}\r\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY({{~indexFields:field:i}}{{= field.defKey }} {{= i < indexFields.length-1 ? ',' : '' }}{{~}});\r\n{{?}}\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nALTER TABLE {{= tableKey }} SET COMMENT '{{=it.func.strJoin(defName, intro, \";\", true)}}';\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= tableKey }} RENAME TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'CHAR') {\r\n return `${dbDataType} (${dataLen ? dataLen : '128'})`; \r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 0) ? ((numScale && numScale >= 0) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\r\n }\r\n return dbDataType;\r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\n{{\r\n const finalDataType = computeDatatype(field);\r\n}}\r\nALTER TABLE {{= tableKey }} ADD COLUMN {{= field.defKey }} {{= finalDataType}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}}{{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'\r\n{{?}};\r\n{{~}}\r\n\r\n",
"columnUpdate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'CHAR') {\r\n return `${dbDataType} (${dataLen ? dataLen : '128'})`; \r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType} ${(dataLen && dataLen >= 0) ? ((numScale && numScale >= 0) ? `(${dataLen},${numScale})` : `(${dataLen})` ) : ''}`;\r\n }\r\n return dbDataType;\r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\n{{\r\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n const finalDataType = computeDatatype(field);\r\n const preDefKey = field?.baseUpdate?.pre?.defKey;\r\n const nextDefKey = field?.baseUpdate?.next?.defKey;\r\n}}\r\n{{? updateKeys.includes('defKey') }}ALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey }} TO {{= field.defKey }};{{?}}\r\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale') }}\r\nALTER TABLE {{= tableKey }} CHANGE {{= field.defKey}} {{= field.defKey}} {{= finalDataType}};\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'notNull') }}\r\nALTER TABLE {{= tableKey }} CHANGE COLUMN {{= field.defKey }} {{? field.notNull }} NOT NULL {{??}} NULL {{?}};\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nALTER TABLE {{= tableKey }} CHANGE COLUMN {{= field.defKey }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'\r\n;\r\n{{?}}\r\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nALTER TABLE {{= tableKey }} DROP COLUMNS ({{~fieldsUpdate:field:index}}{{=field.defKey}}{{= index < fieldsUpdate.length - 1 ? ',' : '' }}{{~}});",
"indexCreate": "",
"indexUpdate": null,
"indexDelete": "",
"metaTableQuery": "SELECT\r\n table_name AS def_key,\r\n table_comment AS def_name,\r\n table_schema AS schema_name\r\nFROM\r\n information_schema.tables\r\nWHERE table_type = 'MANAGED_TABLE'\r\n and table_schema IN (:schemaName)",
"metaColumnQuery": "SELECT\r\n table_schema AS schema_name,\r\n table_name AS tbl_def_key,\r\n ordinal_position as order_value,\r\n column_name AS def_key,\r\n column_comment AS def_name,\r\n '' AS intro,\r\n REGEXP_REPLACE(data_type, '\\\\(.*\\\\)', '') AS db_data_type,\r\n CAST(REGEXP_REPLACE(data_type, '^.*\\\\((.*)[,.].*$', '\\\\1') AS INT) AS data_len,\r\n CAST(REGEXP_REPLACE(data_type, '^.*\\\\(([^,]+),([^)]+)\\\\)$', '\\\\2') AS INT) AS num_scale,\r\n IF(is_nullable, 0, 1),\r\n column_default AS default_value\r\nFROM\r\n information_schema.COLUMNS\r\nWHERE\r\n table_schema IN (:schemaName)\r\n and CONCAT(table_schema, '.', table_name) in (:sysTableNames)\r\nORDER BY\r\n table_schema ASC,\r\n table_name ASC,\r\n ordinal_position ASC",
"metaIndexQuery": null,
"metaQueryCharset": null,
"orderValue": 20,
"isEnabled": 0,
"id": "BPQHEH5Y464AC"
},
{
"defKey": "ClickHouse",
"defName": null,
"icon": "<svg t=\"1720168068984\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4204\" width=\"200\" height=\"200\"><path d=\"M864.213333 591.082667l61.226667 28.053333L517.333333 981.333333 106.666667 619.136l61.226666-28.053333 349.44 311.168 346.88-311.168zM440.832 318.144v385.152h-58.666667V318.144h58.666667z m104.576 0v385.152h-58.666667V318.144h58.666667z m102.037333 0v385.152h-58.666666V318.144h58.666666z m107.136 219.370667v114.773333h-58.666666v-114.773333h58.666666z m-415.786666-153.045334v267.818667h-58.666667V384.469333h58.666667z m415.786666 0v114.773334h-58.666666v-114.773334h58.666666zM517.333333 42.666667l408.106667 359.658666-61.226667 30.592L517.333333 121.749333 167.893333 432.917333 106.666667 402.346667 517.333333 42.666667z\" fill=\"#FF6A00\" p-id=\"4205\"></path></svg>",
"driverFiles": "clickhouse4j-1.4.4.jar",
"jdbcReferDriver": "cc.blynk.clickhouse.ClickHouseDriver",
"jdbcReferUrl": "jdbc:clickhouse://[host]:[port]",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n\r\n function getDataType(field) {\r\n const { dbDataType } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n let dataType = dbDataType.toUpperCase();\r\n if(['FIXEDSTRING','STRING'].includes(dataType)){\r\n dataType = `${dataType}(${field.dataLen ? field.dataLen : 128})`;\r\n return isNull(field,dataType);\r\n }else if(dataType=='DATETIME64'){\r\n dataType = `${dataType}(${field.dataLen && field.dataLen>=0 && field.dataLen <=9 ? field.dataLen : 0})`;\r\n return isNull(field,dataType);\r\n }else if(dataType=='DECIMAL'){\r\n dataType = `${dataType}(${field.dataLen && field.dataLen>=1 && field.dataLen <=76 ? field.dataLen : 1},${field.numScale && field.numScale >= 0 && field.numScale <= field.dataLen ? field.numScale :0})`;\r\n return isNull(field,dataType);\r\n }else if(['UNIT16','UNIT32','UNIT64'].includes(dataType)){\r\n return dataType;\r\n }\r\n else{\r\n return isNull(field,dataType);\r\n }\r\n\r\n}\r\n function getFieldDefinition(field, index, fields) {\r\n const dataType = getDataType(field);\r\n const defaultValue = field.defaultValue ? ` DEFAULT ${field.defaultValue}` : '';\r\n return `${dataType}${defaultValue}${index < it.fields.length - 1 ? ',' : '' }`;\r\n }\r\n function isNull(field,dataType) {\r\n if (field.notNull===1) {\r\n return dataType;\r\n }else {\r\n return `Nullable(${dataType})`;\r\n }\r\n }\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE {{= tableKey }}(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\r\n {{=field.defKey}} {{= getFieldDefinition(field, index, it.fields) }}\r\n{{~}}\r\n){{? pkList.length > 0 }} ENGINE = MergeTree() PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i < pkList.length - 1 ? ',' : '' }}{{~}}){{??}} ENGINE = Memory {{?}}{{? it.defName || it.intro }} COMMENT '{{=it.func.strJoin(it.defName, it.intro, \";\", true)}}'{{?}};\r\n$blankline\r\n",
"tableUpdate": "{{\r\n let defKey = it.baseUpdate.next.defKey;\r\n let defName = it.baseUpdate.next.defName;\r\n let intro = it.baseUpdate.next.intro;\r\n let indexFields = it.indexFields;\r\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\r\n}}\r\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}\r\nALTER TABLE {{= tableKey }} MODIFY COMMENT '{{=it.func.strJoin(defName, intro, \";\", true)}}'; {{?}}\r\n{{? updateKeys.some((item) => item === 'defKey') }}RENAME TABLE {{= tableKey }} TO {{=defKey}};{{?}}\r\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement, notNull } = field;\n if(!dbDataType) {\n return '';\n }\n let tempDataType = dbDataType;\n if(dbDataType.toUpperCase().startsWith('INT') ||\n dbDataType.toUpperCase().startsWith('UINT') || \n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DATETIME') {\n tempDataType = dbDataType;\n } else if(dbDataType.toUpperCase() === 'FIXEDSTRING' ||\n dbDataType.toUpperCase() === 'STRING') {\n tempDataType = `${dbDataType} (${dataLen ? dataLen : 128})`;\n } else if(dbDataType.toUpperCase() === 'DATETIME64') {\n tempDataType = `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 9) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\n tempDataType = `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 76) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen}, 0)` ) : '(1, 0)'}`;\n }\n return notNull ? tempDataType : `Nullable(${tempDataType})`;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const finalDataType = computeDatatype(field);\n}}\nALTER TABLE {{= tableKey }} ADD COLUMN {{= field.defKey}} {{= finalDataType}}{{? field.defaultValue}} DEFAULT {{= field.defaultValue}}{{?}}{{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}};\n{{~}}",
"columnUpdate": "{{\n let fieldsUpdate = it.fieldsUpdate;\n const computeDatatype = (field) => {\n const { dbDataType, dataLen, numScale, defaultValue, autoIncrement, notNull } = field;\n if(!dbDataType) {\n return '';\n }\n let tempDataType = dbDataType;\n if(dbDataType.toUpperCase().startsWith('INT') ||\n dbDataType.toUpperCase().startsWith('UINT') || \n dbDataType.toUpperCase() === 'DATE' ||\n dbDataType.toUpperCase() === 'DATETIME') {\n tempDataType = dbDataType;\n } else if(dbDataType.toUpperCase() === 'FIXEDSTRING' ||\n dbDataType.toUpperCase() === 'STRING') {\n tempDataType = `${dbDataType} (${dataLen ? dataLen : 128})`;\n } else if(dbDataType.toUpperCase() === 'DATETIME64') {\n tempDataType = `${dbDataType} ${(dataLen && dataLen >= 0 && dataLen <= 9) ? `(${dataLen})` : ''}`;\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\n tempDataType = `${dbDataType} ${(dataLen && dataLen >= 1 && dataLen <= 76) ? ((numScale && numScale >= 0 && numScale <= dataLen) ? `(${dataLen},${numScale})` : `(${dataLen}, 0)` ) : '(1, 0)'}`;\n }\n return notNull ? tempDataType : `Nullable(${tempDataType})`;\n };\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\n{{\n const updateKeys = field?.baseUpdate?.updateKeys?.split(\",\") || [];\n const finalDataType = computeDatatype(field);\n const preDefKey = field?.baseUpdate?.pre?.defKey;\n const nextDefKey = field?.baseUpdate?.next?.defKey;\n}}\n{{? updateKeys.includes('defKey') }}\nALTER TABLE {{= tableKey }} RENAME COLUMN {{= preDefKey }} TO {{= field.defKey }};\n{{?}}\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'notNull' || item === 'defaultValue' || item === 'defName' || item === 'intro') }}\nALTER TABLE {{= tableKey }} MODIFY COLUMN {{= field.defKey }} {{= finalDataType}} {{? updateKeys.includes('defaultValue') }} {{? field.defaultValue }} DEFAULT {{= field.defaultValue}}{{?}}{{?}} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'\n{{?}}\n{{~}}",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~it.indexes:row:index}}\r\n{{? row.fields.length > 0 && row.defKey}}\r\nALTER TABLE {{= tableKey }}\r\nADD INDEX {{=row.defKey}}(\r\n {{~row.fields:field:idx}}\r\n {{=field.fieldDefKey}}{{= idx < row.fields.length - 1 ? ', ' : ''}}\r\n {{~}}\r\n) TYPE minmax GRANULARITY 1;\r\n{{?}}\r\n{{~}}\r\n",
"indexUpdate": "{{ \n let indexesUpdate = it.indexesUpdate;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:index}}\n{{\n const updateKeys = row?.baseUpdate?.updateKeys?.split(\",\") || [];\n const fieldsUpdate = row.fieldsUpdate || [];\n const preDefKey = row?.baseUpdate?.pre?.defKey;\n \n}}\n{{? updateKeys.some((item) => item === 'defKey' || item === 'type') || fieldsUpdate.length > 0 }}\nALTER TABLE {{= tableKey }} DROP INDEX {{? preDefKey}} {{= preDefKey}} {{??}} {{=row.defKey}} {{?}};\n{{? row.fields.length > 0 && row.defKey}}\nALTER TABLE {{= tableKey }}\nADD INDEX {{=row.defKey}} (\n {{~row.fields:field:idx}}\n {{=field.fieldDefKey}}{{= idx < row.fields.length - 1 ? ', ' : ''}}\n {{~}}\n) TYPE minmax GRANULARITY 1;\n{{?}}\n{{?}}\n{{~}}",
"indexDelete": "{{\n let indexesUpdate = it.indexesUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~indexesUpdate:row:i}}\nALTER TABLE {{= tableKey }} DROP INDEX {{=row.defKey}};\n{{~}}\n",
"metaTableQuery": "select t.name AS def_key,\r\n t.comment AS def_name,\r\n t.database AS schema_name\r\nfrom system.tables t\r\nWHERE t.database IN (:schemaName) and (t.engine = 'Memory' or t.engine = 'MergeTree')",
"metaColumnQuery": "select distinct c.name as def_Key,\r\n c.table as tbl_def_key,\r\n c.comment as def_name,\r\n c.position as order_value,\r\n c.default_expression as default_value,\r\n c.is_in_primary_key as primary_key,\r\n c.numeric_precision as data_len,\r\n c.numeric_scale as num_scale,\r\n if (c.type LIKE '%Nullable%', replaceRegexpAll(replaceRegexpAll(c.type, 'Nullable\\\\(([^)]+)\\\\)', '\\\\1'), '\\\\(.*\\\\)', '') , replaceRegexpAll(c.type, '\\\\(.*\\\\)', '') ) as db_data_type,\r\n if (c.type LIKE '%Nullable%', 0, 1) as not_null,\r\n c.database AS schema_name\r\nfrom system.columns c\r\n left join system.tables t on c.database = t.database\r\nWHERE c.database in (:schemaName)\r\nAND CONCAT(c.database, '.', c.table) in (:sysTableNames)\r\nORDER BY c.database, c.table;",
"metaIndexQuery": "select\r\n c.table as TBL_DEF_KEY,\r\n c.name as COL_DEF_KEY,\r\n i.name as DEF_KEY,\r\n '' as DEF_NAME,\r\n '' as INTRO,\r\n '' as SORT_TYPE,\r\n '' as TYPE,\r\n c.database as schema_name\r\nfrom system.data_skipping_indices i\r\nleft join system.columns c on i.table = c.table and i.database = c.database\r\nwhere\r\n c.database in (:schemaName)\r\n and CONCAT(c.database, '.', c.table) in (:sysTableNames)\r\n and has(arrayMap(x -> trim(x), splitByChar(',', i.expr)), c.name) = 1\r\norder by c.database, TBL_DEF_KEY, DEF_KEY;",
"metaQueryCharset": null,
"orderValue": 21,
"isEnabled": 0,
"id": "1K6TW6TCR1802"
},
{
"defKey": "Inceptor",
"defName": null,
"icon": "<svg t=\"1737273938290\" class=\"icon\" viewBox=\"0 0 1110 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2927\" width=\"200\" height=\"200\"><path d=\"M797.646883 0l-430.947797 512V279.291661L151.225188 325.822915l-14.596339 212.627526c-36.412746-90.927729-36.412746-183.035661 8.504407-258.60339 65.084746-109.550644 208.34061-157.088542 368.64-137.458983-205.841356-41.862508-394.691254 8.192-475.205424 143.672407-75.602441 127.184271-36.273898 297.202983 84.922576 443.565559L103.357527 1024l141.884746-177.394983a872.725695 872.725695 0 0 0 107.259661 70.898983c285.418305 160.143186 607.683254 137.042441 719.733152-51.581831 70.656-118.888136 40.87322-275.265085-62.307797-414.702644l75.012339-102.122305-143.65505-46.531254L797.646883 512l-47.902373-23.256949L797.664239 0zM606.106815 395.645831v279.256949h239.425085l163.354034-222.277424c67.358373 111.425085 81.260475 231.562847 25.235525 325.909695-98.894102 166.44339-378.081627 189.700339-623.546576 51.981017a729.435119 729.435119 0 0 1-99.102373-66.681492l294.634305-368.188745z\" fill=\"#DA2626\" p-id=\"2928\"></path></svg>",
"driverFiles": "quark-driver-8.37.3.jar",
"jdbcReferDriver": "io.transwarp.jdbc.InceptorDriver",
"jdbcReferUrl": "jdbc:transwarp2://<host_ip>:<port>/<database_name>;",
"tableCreate": "{{\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n function formatDataType(field){\r\n let dataType = field.dbDataType;\r\n let mustLenPattern = new RegExp('CHAR|DECIMAL|NUMERIC|DOUBLE|BINARY','i');\r\n let mustScalePattern = new RegExp('DECIMAL|NUMERIC|DOUBLE','i');\r\n let fmtDataType = '';\r\n if(mustLenPattern.test(dataType)){\r\n let dtLen = field.dataLen||128;\r\n if(mustScalePattern.test(dataType)){\r\n let dtScale = field.numScale;\r\n fmtDataType = `${dataType}(${dtLen},${dtScale})`;\r\n }else{\r\n fmtDataType = `${dataType}(${dtLen})`;\r\n }\r\n }else{\r\n fmtDataType = dataType;\r\n }\r\n return fmtDataType;\r\n };\r\n function formatComment(defName,intro){\r\n return ` COMMENT '${it.func.strJoin(defName, intro, \";\", true)}'`;\r\n };\r\n}}\r\nDROP TABLE IF EXISTS {{= tableKey }};\r\n\r\nCREATE TABLE `{{= tableKey }}`(\r\n{{ pkList = [] ; }}\r\n{{~it.fields:field:index}}\r\n {{\r\n if(field.primaryKey){\r\n pkList.push(field)\r\n }\r\n let fmtDataType = formatDataType(field);\r\n\r\n }}\r\n `{{=field.defKey}}` {{=fmtDataType}}{{= field.notNull ? ' NOT NULL' : '' }}{{? field.defaultValue }} DEFAULT {{=field.defaultValue}} {{?}}{{=formatComment(field.defName,field.intro)}}{{= index < it.fields.length-1 ? ',' : ( pkList.length > 0 ? ',' : '' ) }}\r\n{{~}}\r\n{{? pkList.length > 0 }}\r\n PRIMARY KEY ({{~pkList:field:i}}`{{= field.defKey }}`{{= i < pkList.length-1 ? ',' : '' }}{{~}})\r\n{{?}}\r\n){{=formatComment(it.defName,it.intro)}};",
"tableUpdate": "{{\n let defKey = it.baseUpdate.next.defKey||'';\n let defName = it.baseUpdate.next.defName||'';\n let intro = it.baseUpdate.next.intro;\n let indexFields = it.indexFields;\n let isPrimaryKeyModified = it.isPrimaryKeyModified;\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n const updateKeys = it?.baseUpdate?.updateKeys?.split(\",\") || [];\n}}\n{{? isPrimaryKeyModified }}\nALTER TABLE {{= tableKey }} DROP PRIMARY KEY;\n{{? indexFields && indexFields.length > 0}}\nALTER TABLE {{= tableKey }} ADD PRIMARY KEY ({{~indexFields:field:i}}`{{= field.defKey }}`{{= i < indexFields.length-1 ? ',' : '' }}{{~}});\n{{?}}\n{{?}}\n{{? updateKeys.some((item) => item === 'defName' || item === 'intro') }}ALTER TABLE {{= tableKey }} COMMENT '{{=it.func.strJoin(defName, intro, \";\", true)}}'; {{?}}\n{{? updateKeys.some((item) => item === 'defKey') }}ALTER TABLE {{= schemaName }}{{=it.defKey}} RENAME TO {{= schemaName }}{{=defKey}}; {{?}}\n",
"tableDelete": "{{\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\nDROP TABLE IF EXISTS {{= tableKey }};",
"columnCreate": "{{\r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeLenAndNum = (dataLen, numScale, maxDataLen, maxNumScale) => {\r\n if(!dataLen || dataLen <= 0) {\r\n return '';\r\n }\r\n let currentDataLen = dataLen, currentNumScale = numScale;\r\n if(dataLen >= maxDataLen) {\r\n currentDataLen = maxDataLen;\r\n }\r\n if(!numScale || numScale <= 0) {\r\n return `(${currentDataLen},0)`;\r\n }\r\n if(currentNumScale > maxNumScale) {\r\n currentNumScale = maxNumScale\r\n }\r\n if(currentNumScale > currentDataLen && currentDataLen <= maxNumScale) {\r\n currentNumScale = currentDataLen;\r\n }\r\n return `(${currentDataLen},${currentNumScale})`;\r\n };\r\n const computeDefaultValue = (field) => {\r\n const { defaultValue, dbDataType, primaryKey } = field;\r\n if(!defaultValue) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase().endsWith('BLOB') || \r\n dbDataType.toUpperCase().endsWith('GEOMETRY') || \r\n dbDataType.toUpperCase().endsWith('TEXT') || \r\n dbDataType.toUpperCase().endsWith('JSON')) {\r\n return '';\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET') {\r\n return `DEFAULT \"${defaultValue}\"`;\r\n } else {\r\n return `DEFAULT ${defaultValue}`;\r\n }\r\n };\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'NVARCHAR' ||\r\n dbDataType.toUpperCase() === 'VARBINARY') {\r\n return `${dbDataType}(${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'YEAR' ||\r\n dbDataType.toUpperCase() === 'TINYTEXT' ||\r\n dbDataType.toUpperCase() === 'MEDIUMTEXT' ||\r\n dbDataType.toUpperCase() === 'LONGTEXT' ||\r\n dbDataType.toUpperCase() === 'TINYBLOB' ||\r\n dbDataType.toUpperCase() === 'MEDIUMBLOB' ||\r\n dbDataType.toUpperCase() === 'LONGBLOB' ||\r\n dbDataType.toUpperCase() === 'BOOLEAN' ||\r\n dbDataType.toUpperCase() === 'FLOAT' ||\r\n dbDataType.toUpperCase() === 'INT' ||\r\n dbDataType.toUpperCase() === 'JSON' ) {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET' ) {\r\n return `${dbDataType}(${defaultValue})`;\r\n } else if(dbDataType.toUpperCase() === 'TIME' ||\r\n dbDataType.toUpperCase() === 'DATETIME' ||\r\n dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType}${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 255, 30)}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 65, 30)}`;\r\n } else if(dataLen && dataLen > 0) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n return `${dbDataType}`;\r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\nALTER TABLE {{= tableKey }} ADD COLUMN `{{=field.defKey}}` {{=computeDatatype(field)}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= computeDefaultValue(field)}} {{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}};\r\n{{~}}\r\n",
"columnUpdate": "{{ \r\n let fieldsUpdate = it.fieldsUpdate;\r\n const computeLenAndNum = (dataLen, numScale, maxDataLen, maxNumScale) => {\r\n if(!dataLen || dataLen <= 0) {\r\n return '';\r\n }\r\n let currentDataLen = dataLen, currentNumScale = numScale;\r\n if(dataLen >= maxDataLen) {\r\n currentDataLen = maxDataLen;\r\n }\r\n if(!numScale || numScale <= 0) {\r\n return `(${currentDataLen},0)`;\r\n }\r\n if(currentNumScale > maxNumScale) {\r\n currentNumScale = maxNumScale\r\n }\r\n if(currentNumScale > currentDataLen && currentDataLen <= maxNumScale) {\r\n currentNumScale = currentDataLen;\r\n }\r\n return `(${currentDataLen},${currentNumScale})`;\r\n };\r\n const computeDefaultValue = (field) => {\r\n const { defaultValue, primaryKey } = field;\r\n const dbDataType = field.dbDataType ? field.dbDataType : '';\r\n if(!defaultValue) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase().endsWith('BLOB') || \r\n dbDataType.toUpperCase().endsWith('GEOMETRY') || \r\n dbDataType.toUpperCase().endsWith('TEXT') || \r\n dbDataType.toUpperCase().endsWith('JSON')) {\r\n return '';\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET') {\r\n return `DEFAULT \"${defaultValue}\"`;\r\n } else {\r\n return `DEFAULT ${defaultValue}`;\r\n }\r\n };\r\n const computeDatatype = (field) => {\r\n const { dbDataType, dataLen, numScale, defaultValue } = field;\r\n if(!dbDataType) {\r\n return '';\r\n }\r\n if(dbDataType.toUpperCase() === 'VARCHAR' ||\r\n dbDataType.toUpperCase() === 'NVARCHAR' ||\r\n dbDataType.toUpperCase() === 'VARBINARY') {\r\n return `${dbDataType}(${dataLen ? dataLen : 128})`;\r\n } else if(dbDataType.toUpperCase() === 'DATE' ||\r\n dbDataType.toUpperCase() === 'YEAR' ||\r\n dbDataType.toUpperCase() === 'TINYTEXT' ||\r\n dbDataType.toUpperCase() === 'MEDIUMTEXT' ||\r\n dbDataType.toUpperCase() === 'LONGTEXT' ||\r\n dbDataType.toUpperCase() === 'TINYBLOB' ||\r\n dbDataType.toUpperCase() === 'MEDIUMBLOB' ||\r\n dbDataType.toUpperCase() === 'LONGBLOB' ||\r\n dbDataType.toUpperCase() === 'BOOLEAN' ||\r\n dbDataType.toUpperCase() === 'FLOAT' ||\r\n dbDataType.toUpperCase() === 'INT' ||\r\n dbDataType.toUpperCase() === 'JSON' ) {\r\n return dbDataType;\r\n } else if(dbDataType.toUpperCase() === 'ENUM' ||\r\n dbDataType.toUpperCase() === 'SET' ) {\r\n return `${dbDataType}(${defaultValue})`;\r\n } else if(dbDataType.toUpperCase() === 'TIME' ||\r\n dbDataType.toUpperCase() === 'DATETIME' ||\r\n dbDataType.toUpperCase() === 'TIMESTAMP') {\r\n return `${dbDataType}${(dataLen && dataLen >= 0 && dataLen <= 6) ? `(${dataLen})` : ''}`;\r\n } else if(dbDataType.toUpperCase() === 'DOUBLE') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 255, 30)}`;\r\n } else if(dbDataType.toUpperCase() === 'DECIMAL') {\r\n return `${dbDataType}${computeLenAndNum(dataLen, numScale, 65, 30)}`;\r\n } else if(dataLen && dataLen > 0) {\r\n return `${dbDataType}(${dataLen})`;\r\n }\r\n return `${dbDataType}`;\r\n };\r\n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\r\n const tableKey = `${schemaName}${it.defKey}`;\r\n}}\r\n{{~fieldsUpdate:field:index}}\r\n{{ \r\n let nextPrimaryKey = field.baseUpdate.next.primaryKey;\r\n let prePrimaryKey = field.baseUpdate.pre.primaryKey;\r\n let preDefKey = field.baseUpdate.pre.defKey;\r\n let updateKeys = field.baseUpdate.updateKeys.split(',');\r\n}}\r\n{{? updateKeys.includes('primaryKey') && updateKeys.includes('defaultValue')}}\r\nALTER TABLE {{= tableKey }} ALTER COLUMN `{{=field.defKey}}` SET DEFAULT {{=field.defaultValue}};\r\n{{?}}\r\n{{? updateKeys.some((item) => item === 'dbDataType' || item === 'dataLen' || item === 'numScale' || item === 'intro' || item === 'defName' || item === 'notNull' || item === 'AUTO_INCREMENT') }}\r\nALTER TABLE {{= tableKey }} {{? updateKeys.includes('defKey')}}CHANGE `{{=preDefKey}}` `{{=field.defKey}}` {{??}} MODIFY COLUMN `{{=field.defKey}}` {{?}} {{=computeDatatype(field)}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= computeDefaultValue(field)}} {{? field.defName || field.intro }} COMMENT '{{=it.func.strJoin(field.defName, field.intro, \";\", true)}}'{{?}};\r\n{{?}}\r\n{{~}}\r\n",
"columnDelete": "{{\n let fieldsUpdate = it.fieldsUpdate; \n let schemaName = it.schemaName ? `${it.schemaName}.` : '';\n const tableKey = `${schemaName}${it.defKey}`;\n}}\n{{~fieldsUpdate:field:index}}\nALTER TABLE {{= tableKey }} DROP COLUMN {{=field.defKey}};\n{{~}}",
"indexCreate": "",
"indexUpdate": "",
"indexDelete": "",
"metaTableQuery": "SELECT\n table_id AS id,\n table_name AS def_key,\n commentstring AS def_name,\n database_name AS schema_name\nFROM\n system.tables_v\nWHERE database_name in (:schemaName)",
"metaColumnQuery": "SELECT\n database_name as schema_name,\n table_name AS tbl_def_key,\n column_id as order_value,\n column_name AS def_key,\n commentstring AS def_name,\n '' AS intro,\n column_type,\n split_part(column_type,'(',1) AS db_data_type,\n IF(regexp_like('CHAR,DECIMAL,VARCHAR',upper(split_part(column_type,'(',1))),column_length,NULL) AS data_len,\n IF(regexp_like('CHAR,DECIMAL,VARCHAR',upper(split_part(column_type,'(',1))),decode(column_scale,0,NULL,column_scale),NULL) AS column_scale,\n IF(unique_constraint,1,0) AS primary_key,\n IF(nullable,0,1) AS not_null,\n 0 AS auto_increment,\n default_value AS default_value\nFROM\n system.columns_v\nWHERE\n database_name in (:schemaName)\n and CONCAT(database_name, '.', table_name) in (:sysTableNames)\nORDER BY\n database_name ASC,\n table_name ASC,\n column_id ASC",
"metaIndexQuery": "",
"metaQueryCharset": null,
"orderValue": 22,
"isEnabled": 0,
"id": "1M7S6R68K9H01"
}
],
"programLangs": [
{
"defKey": "Java",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M377.597072 791.989575s-39.199979 22.799988 27.799985 30.399983c81.197956 9.198995 122.597934 7.998996 211.996886-8.999995 0 0 23.599987 14.798992 56.39897 27.598985-200.396892 85.798954-453.593756-4.999997-296.195841-48.999973m-24.399987-112.19794s-43.799976 32.399983 23.199988 39.399979c86.598953 8.999995 155.197917 9.599995 273.595853-13.199993 0 0 16.399991 16.599991 42.199977 25.599986-242.59687 70.997962-512.593725 5.799997-338.995818-51.799972m206.396889-190.196898c49.399973 56.798969-12.999993 107.997942-12.999993 107.997942s125.398933-64.798965 67.799964-145.797922c-53.799971-75.598959-94.999949-113.197939 128.197931-242.596869 0.2 0-350.394812 87.599953-182.997902 280.396849m265.196858 385.193793s28.999984 23.799987-31.799983 42.399977c-115.797938 34.999981-481.592741 45.599976-583.191687 1.4-36.59998-15.799992 31.999983-37.99998 53.599972-42.599978 22.398988-4.799997 35.398981-3.999998 35.398981-3.999997-40.599978-28.599985-262.596859 56.19997-112.79894 80.399956 408.394781 66.398964 744.7896-29.799984 638.791657-77.599958M396.397062 563.592697s-186.1979 44.198976-65.999964 60.198968c50.799973 6.799996 151.997918 5.199997 246.196867-2.599999 76.999959-6.399997 154.397917-20.399989 154.397917-20.399989s-27.199985 11.599994-46.799974 24.999987c-188.996898 49.799973-553.991702 26.599986-448.992759-24.199987 88.997952-42.799977 161.197913-37.99998 161.197913-37.99998M730.391883 750.189597c192.197897-99.798946 103.198945-195.796895 41.199978-182.797902-15.199992 3.199998-21.999988 5.999997-21.999989 5.999997s5.599997-8.799995 16.399992-12.599993c122.597934-43.198977 216.996883 127.198932-39.599979 194.597895 0-0.2 2.999998-2.799998 3.999998-5.199997M614.393945 0s106.397943 106.398943-100.998946 269.995855c-166.197911 131.19893-37.99998 206.197889 0 291.596843-96.998948-87.599953-168.19791-164.597912-120.397935-236.396873C463.196026 220.196882 657.392922 168.997909 614.393945 0M415.396052 1020.786452c184.397901 11.799994 467.593749-6.599996 474.193745-93.79995 0 0-12.799993 32.999982-152.397918 59.399968-157.397915 29.599984-351.594811 26.199986-466.593749 7.199996 0-0.2 23.599987 19.39999 144.797922 27.199986\" p-id=\"36790\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" stroke=\"none\"></path>\n </g>\n </svg>",
"color": "",
"orderValue": 0,
"isEnabled": 1,
"id": "BPP6L7ZLM7EAB",
"codegens": [
{
"genKey": "MybatisPlus",
"genIntro": "我是MybatisPlus",
"genItems": [
{
"itemKey": "Entity",
"itemTemplate": "{{\r\nlet base_package = it.genCode.nameSpace && it.genCode.baseName? it.genCode.nameSpace + '.' + it.genCode.baseName : null;\r\nlet entity_name = it.genCode.baseName;\r\nlet fields = it.fields;\r\nlet table_name = it.defKey;\r\nlet table_comment = it.defName;\r\n\r\nlet entity_class = entity_name + 'Entity';\r\nlet mapper_class = entity_name + 'Mapper';\r\nlet service_class = entity_name + 'Service';\r\nlet service_impl_class = entity_name + 'ServiceImpl';\r\nlet controller_class = entity_name + 'Controller';\r\n\r\nlet entity_package = base_package + '.entity';\r\nlet mapper_package = base_package + '.mapper';\r\nlet service_package = base_package + '.service';\r\nlet service_impl_package = base_package + '.service.Impl';\r\nlet controller_package = base_package + 'controller';\r\n\r\nlet entity_instance_name = entity_class.charAt(0).toLowerCase() + entity_class.slice(1);\r\nlet service_instance_name = service_class.charAt(0).toLowerCase() + service_class.slice(1);\r\n\r\nlet import_sentence_list = fields.filter((field, _, __) => {\r\n return field.langDataType === 'BigDecimal' || field.langDataType === 'LocalDateTime' || field.langDataType === 'LocalDate' || field.langDataType === 'LocalTime' || field.langDataType === 'Date'\r\n}).map((field, _, __) => {\r\n if (field.langDataType === 'BigDecimal') {\r\n return 'import java.math.BigDecimal;'\r\n } else if (field.langDataType === 'LocalDateTime') {\r\n return 'import java.time.LocalDateTime;'\r\n } else if (field.langDataType === 'LocalDate') {\r\n return 'import java.time.LocalDate;'\r\n } else if (field.langDataType === 'LocalTime') {\r\n return 'import java.time.LocalTime;'\r\n } else if (field.langDataType === 'Date') {\r\n return 'import java.util.Date;'\r\n } else {\r\n return ''\r\n }\r\n});\r\n}}{{=base_package? 'package ' + base_package + '.pojo.entity;':''}}\r\n$blankline\r\nimport lombok.Getter;\r\nimport lombok.Setter;\r\nimport lombok.experimental.Accessors;\r\nimport com.baomidou.mybatisplus.annotation.*;\r\nimport lombok.ToString;\r\n{{~import_sentence_list:import_sentence:index}}\r\n{{=import_sentence}}\r\n{{~}}\r\n$blankline\r\n/**\r\n * {{=table_comment}}\r\n */\r\n@Getter\r\n@Setter\r\n@ToString\r\n@Accessors(chain = true)\r\n@TableName(\"{{=table_name}}\")\r\npublic class {{=entity_class}} {\r\n$blankline\r\n{{~fields:field:index}}\r\n /**\r\n * {{=field.defName}}{{? field.comment }}; {{=field.comment}}{{?}}\r\n */\r\n {{? field.primaryKey }}\r\n @TableId(type = IdType.ASSIGN_ID)\r\n {{?? it.func.camel(field.defKey,false) === 'creatorId' || it.func.camel(field.defKey,false) === 'createTime'}}\r\n @TableField(fill = FieldFill.INSERT)\r\n {{?? it.func.camel(field.defKey,false) === 'modifierId' || it.func.camel(field.defKey,false) === 'modifyTime'}}\r\n @TableField(fill = FieldFill.INSERT_UPDATE)\r\n {{?? it.func.camel(field.defKey,false) === 'deleted'}}\r\n @TableLogic\r\n {{?}}\r\n private {{=field.dbDataType === 'TINYINT' && field.dataLen === 1 ? 'Boolean' : field.langDataType}} {{=it.func.camel(field.defKey,false)}};\r\n $blankline\r\n{{~}}\r\n}\r\n"
},
{
"itemKey": "Mapper",
"itemTemplate": "{{\r\nlet base_package = it.genCode.nameSpace + '.' + it.genCode.baseName;\r\nlet entity_name = it.genCode.baseName;\r\nlet fields = it.fields;\r\nlet table_name = it.defKey;\r\nlet table_comment = it.defName;\r\n\r\nlet entity_class = entity_name + 'Entity';\r\nlet mapper_class = entity_name + 'Mapper';\r\nlet service_class = entity_name + 'Service';\r\nlet service_impl_class = entity_name + 'ServiceImpl';\r\nlet controller_class = entity_name + 'Controller';\r\n\r\nlet entity_package = base_package + '.entity';\r\nlet mapper_package = base_package + '.mapper';\r\nlet service_package = base_package + '.service';\r\nlet service_impl_package = base_package + '.service.Impl';\r\nlet controller_package = base_package + 'controller';\r\n\r\nlet entity_instance_name = entity_class.charAt(0).toLowerCase() + entity_class.slice(1);\r\nlet service_instance_name = service_class.charAt(0).toLowerCase() + service_class.slice(1);\r\n\r\nlet import_sentence_list = fields.filter((field, _, __) => {\r\n return field.langDataType === 'BigDecimal' || field.langDataType === 'LocalDateTime' || field.langDataType === 'LocalDate' || field.langDataType === 'LocalTime' || field.langDataType === 'Date'\r\n}).map((field, _, __) => {\r\n if (field.langDataType === 'BigDecimal') {\r\n return 'import java.math.BigDecimal;'\r\n } else if (field.langDataType === 'LocalDateTime') {\r\n return 'import java.time.LocalDateTime;'\r\n } else if (field.langDataType === 'LocalDate') {\r\n return 'import java.time.LocalDate;'\r\n } else if (field.langDataType === 'LocalTime') {\r\n return 'import java.time.LocalTime;'\r\n } else if (field.langDataType === 'Date') {\r\n return 'import java.util.Date;'\r\n } else {\r\n return ''\r\n }\r\n});\r\n}}{{=base_package? 'package ' + base_package + '.mapper;':''}}\r\n$blankline\r\nimport com.baomidou.mybatisplus.core.mapper.BaseMapper;\r\nimport org.apache.ibatis.annotations.Mapper;\r\n{{=base_package? 'import ' + base_package + '.pojo.entity.' + entity_class + ';': ''}}\r\n$blankline\r\n/**\r\n * {{=table_comment}}\r\n */\r\n@Mapper\r\npublic interface {{=mapper_class}} extends BaseMapper<{{=entity_class}}> {\r\n$blankline\r\n}\r\n$blankline"
},
{
"itemKey": "Mapper.xml",
"itemTemplate": "{{\r\nlet base_package = it.genCode.nameSpace + '.' + it.genCode.baseName;\r\nlet entity_name = it.genCode.baseName;\r\nlet fields = it.fields;\r\nlet table_name = it.defKey;\r\nlet table_comment = it.defName;\r\n\r\nlet entity_class = entity_name + 'Entity';\r\nlet mapper_class = entity_name + 'Mapper';\r\nlet service_class = entity_name + 'Service';\r\nlet service_impl_class = entity_name + 'ServiceImpl';\r\nlet controller_class = entity_name + 'Controller';\r\n\r\nlet entity_package = base_package + '.entity';\r\nlet mapper_package = base_package + '.mapper';\r\nlet service_package = base_package + '.service';\r\nlet service_impl_package = base_package + '.service.Impl';\r\nlet controller_package = base_package + 'controller';\r\n\r\nlet entity_instance_name = entity_class.charAt(0).toLowerCase() + entity_class.slice(1);\r\nlet service_instance_name = service_class.charAt(0).toLowerCase() + service_class.slice(1);\r\n\r\nlet import_sentence_list = fields.filter((field, _, __) => {\r\n return field.langDataType === 'BigDecimal' || field.langDataType === 'LocalDateTime' || field.langDataType === 'LocalDate' || field.langDataType === 'LocalTime' || field.langDataType === 'Date'\r\n}).map((field, _, __) => {\r\n if (field.langDataType === 'BigDecimal') {\r\n return 'import java.math.BigDecimal;'\r\n } else if (field.langDataType === 'LocalDateTime') {\r\n return 'import java.time.LocalDateTime;'\r\n } else if (field.langDataType === 'LocalDate') {\r\n return 'import java.time.LocalDate;'\r\n } else if (field.langDataType === 'LocalTime') {\r\n return 'import java.time.LocalTime;'\r\n } else if (field.langDataType === 'Date') {\r\n return 'import java.util.Date;'\r\n } else {\r\n return ''\r\n }\r\n});\r\n}}<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\r\n$blankline\r\n\r\n<mapper namespace=\"{{=base_package? base_package + '.mapper.'+mapper_class:''}}\">\r\n\r\n$blankline\r\n</mapper>"
},
{
"itemKey": "Service",
"itemTemplate": "{{\r\nlet base_package = it.genCode.nameSpace + '.' + it.genCode.baseName;\r\nlet entity_name = it.genCode.baseName;\r\nlet fields = it.fields;\r\nlet table_name = it.defKey;\r\nlet table_comment = it.defName;\r\n\r\nlet entity_class = entity_name + 'Entity';\r\nlet mapper_class = entity_name + 'Mapper';\r\nlet service_class = entity_name + 'Service';\r\nlet service_impl_class = entity_name + 'ServiceImpl';\r\nlet controller_class = entity_name + 'Controller';\r\n\r\nlet entity_package = base_package + '.entity';\r\nlet mapper_package = base_package + '.mapper';\r\nlet service_package = base_package + '.service';\r\nlet service_impl_package = base_package + '.service.Impl';\r\nlet controller_package = base_package + 'controller';\r\n\r\nlet entity_instance_name = entity_class.charAt(0).toLowerCase() + entity_class.slice(1);\r\nlet service_instance_name = service_class.charAt(0).toLowerCase() + service_class.slice(1);\r\n\r\nlet import_sentence_list = fields.filter((field, _, __) => {\r\n return field.langDataType === 'BigDecimal' || field.langDataType === 'LocalDateTime' || field.langDataType === 'LocalDate' || field.langDataType === 'LocalTime' || field.langDataType === 'Date'\r\n}).map((field, _, __) => {\r\n if (field.langDataType === 'BigDecimal') {\r\n return 'import java.math.BigDecimal;'\r\n } else if (field.langDataType === 'LocalDateTime') {\r\n return 'import java.time.LocalDateTime;'\r\n } else if (field.langDataType === 'LocalDate') {\r\n return 'import java.time.LocalDate;'\r\n } else if (field.langDataType === 'LocalTime') {\r\n return 'import java.time.LocalTime;'\r\n } else if (field.langDataType === 'Date') {\r\n return 'import java.util.Date;'\r\n } else {\r\n return ''\r\n }\r\n});\r\n}}{{=base_package? 'package ' + base_package + '.service;':''}}\r\n$blankline\r\nimport lombok.extern.slf4j.Slf4j;\r\nimport org.springframework.stereotype.Service;\r\nimport org.springframework.transaction.annotation.Transactional;\r\nimport com.baomidou.mybatisplus.extension.service.IService;\r\nimport com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;\r\nimport com.baomidou.mybatisplus.core.toolkit.Wrappers;\r\nimport com.njzscloud.common.mp.support.PageParam;\r\nimport com.njzscloud.common.mp.support.PageResult;\r\nimport java.util.List;\r\n{{=base_package? 'import ' + base_package + '.pojo.entity.' + entity_class + ';': ''}}\r\n{{=base_package? 'import ' + base_package + '.mapper.' + mapper_class + ';': ''}}\r\n$blankline\r\n/**\r\n * {{=table_comment}}\r\n */\r\n@Slf4j\r\n@Service\r\npublic class {{=service_impl_class}} extends ServiceImpl<{{=mapper_class}}, {{=entity_class}}> implements IService<{{=entity_class}}> {\r\n$blankline\r\n /**\r\n * 新增\r\n */\r\n public void add({{=entity_class}} {{=entity_instance_name}}) {\r\n this.save({{=entity_instance_name}});\r\n }\r\n$blankline\r\n /**\r\n * 修改\r\n */\r\n public void modify({{=entity_class}} {{=entity_instance_name}}) {\r\n this.updateById({{=entity_instance_name}});\r\n }\r\n$blankline\r\n /**\r\n * 删除\r\n */\r\n @Transactional(rollbackFor = Exception.class)\r\n public void del(List<Long> ids) {\r\n this.removeBatchByIds(ids);\r\n }\r\n$blankline\r\n /**\r\n * 详情\r\n */\r\n public {{=entity_class}} detail(Long id) {\r\n return this.getById(id);\r\n }\r\n$blankline\r\n /**\r\n * 分页查询\r\n */\r\n public PageResult<{{=entity_class}}> paging(PageParam pageParam, {{=entity_class}} {{=entity_instance_name}}) {\r\n return PageResult.of(this.page(pageParam.toPage(), Wrappers.<{{=entity_class}}>query({{=entity_instance_name}})));\r\n \r\n }\r\n$blankline\r\n}"
},
{
"itemKey": "Controller",
"itemTemplate": "{{\r\nlet base_package = it.genCode.nameSpace + '.' + it.genCode.baseName;\r\nlet entity_name = it.genCode.baseName;\r\nlet fields = it.fields;\r\nlet table_name = it.defKey;\r\nlet table_comment = it.defName;\r\n\r\nlet entity_class = entity_name + 'Entity';\r\nlet mapper_class = entity_name + 'Mapper';\r\nlet service_class = entity_name + 'Service';\r\nlet service_impl_class = entity_name + 'ServiceImpl';\r\nlet controller_class = entity_name + 'Controller';\r\n\r\nlet entity_package = base_package + '.entity';\r\nlet mapper_package = base_package + '.mapper';\r\nlet service_package = base_package + '.service';\r\nlet service_impl_package = base_package + '.service.Impl';\r\nlet controller_package = base_package + 'controller';\r\n\r\nlet entity_instance_name = entity_class.charAt(0).toLowerCase() + entity_class.slice(1);\r\nlet service_instance_name = service_class.charAt(0).toLowerCase() + service_class.slice(1);\r\n\r\nlet import_sentence_list = fields.filter((field, _, __) => {\r\n return field.langDataType === 'BigDecimal' || field.langDataType === 'LocalDateTime' || field.langDataType === 'LocalDate' || field.langDataType === 'LocalTime' || field.langDataType === 'Date'\r\n}).map((field, _, __) => {\r\n if (field.langDataType === 'BigDecimal') {\r\n return 'import java.math.BigDecimal;'\r\n } else if (field.langDataType === 'LocalDateTime') {\r\n return 'import java.time.LocalDateTime;'\r\n } else if (field.langDataType === 'LocalDate') {\r\n return 'import java.time.LocalDate;'\r\n } else if (field.langDataType === 'LocalTime') {\r\n return 'import java.time.LocalTime;'\r\n } else if (field.langDataType === 'Date') {\r\n return 'import java.util.Date;'\r\n } else {\r\n return ''\r\n }\r\n});\r\n}}{{=base_package? 'package ' + base_package + '.controller;':''}}\r\n$blankline\r\nimport lombok.extern.slf4j.Slf4j;\r\nimport lombok.RequiredArgsConstructor;\r\nimport org.springframework.web.bind.annotation.*;\r\nimport com.njzscloud.common.core.utils.R;\r\nimport com.njzscloud.common.mp.support.PageParam;\r\nimport com.njzscloud.common.mp.support.PageResult;\r\nimport java.util.List;\r\n{{=base_package? 'import ' + base_package + '.pojo.entity.' + entity_class + ';': ''}}\r\n{{=base_package? 'import ' + base_package + '.service.' + service_class + ';': ''}}\r\n$blankline\r\n/**\r\n * {{=table_comment}}\r\n */\r\n@Slf4j\r\n@RestController\r\n@RequestMapping(\"/{{=it.func.underline(table_name)}}\")\r\n@RequiredArgsConstructor\r\npublic class {{=controller_class}} {\r\n$blankline\r\n private final {{=service_class}} {{=service_instance_name}};\r\n$blankline\r\n /**\r\n * 新增\r\n */\r\n @PostMapping(\"/add\")\r\n public R<?> add(@RequestBody {{=entity_class}} {{=entity_instance_name}}) {\r\n {{=service_instance_name}}.add({{=entity_instance_name}});\r\n return R.success();\r\n }\r\n$blankline\r\n /**\r\n * 修改\r\n */\r\n @PostMapping(\"/modify\")\r\n public R<?> modify(@RequestBody {{=entity_class}} {{=entity_instance_name}}) {\r\n {{=service_instance_name}}.modify({{=entity_instance_name}});\r\n return R.success();\r\n }\r\n$blankline\r\n /**\r\n * 删除\r\n */\r\n @PostMapping(\"/del\")\r\n public R<?> del(@RequestBody List<Long> ids) {\r\n {{=service_instance_name}}.del(ids);\r\n return R.success();\r\n }\r\n$blankline\r\n /**\r\n * 详情\r\n */\r\n @GetMapping(\"/detail\")\r\n public R<{{=entity_class}}> detail(@RequestParam Long id) {\r\n return R.success({{=service_instance_name}}.detail(id));\r\n }\r\n$blankline\r\n /**\r\n * 分页查询\r\n */\r\n @GetMapping(\"/paging\")\r\n public R<PageResult<{{=entity_class}}>> paging(PageParam pageParam, {{=entity_class}} {{=entity_instance_name}}) {\r\n return R.success({{=service_instance_name}}.paging(pageParam, {{=entity_instance_name}}));\r\n\r\n }\r\n$blankline\r\n}"
},
{
"itemKey": "Enum",
"itemTemplate": "{{let dicts = it.fields\r\n .filter(field => field.dictFrom === 'Manual')\r\n .map(field => {\r\n return {\r\n code: field.stndDictKey,\r\n name: field.defName,\r\n className: it.func.camel(field.stndDictKey, true),\r\n items: field.dictItems.map(item => {\r\n return {\r\n val: item.itemKey,\r\n txt: item.itemName,\r\n memo: item.intro\r\n };\r\n })\r\n };\r\n });\r\n}}{{~ dicts:dict}}import lombok.Getter;\r\nimport lombok.RequiredArgsConstructor;\r\nimport com.njzscloud.common.core.ienum.DictStr;\r\n\r\n/**\r\n * 字典代码:{{=dict.code}}\r\n * 字典名称:{{=dict.name}}\r\n */\r\n@Getter\r\n@RequiredArgsConstructor\r\npublic enum {{=dict.className}} implements DictStr {\r\n{{~ dict.items:item}}\r\n{{? item.memo != null && item.memo.length > 0}}\r\n /**\r\n * {{=item.memo}}\r\n */\r\n{{?}}\r\n {{=item.val}}(\"{{=item.val}}\", \"{{=item.txt}}\"),\r\n $blankline\r\n{{~}}\r\n ;\r\n\r\n private final String val;\r\n$blankline\r\n private final String txt;\r\n}\r\n$blankline\r\n$blankline\r\n{{~}}\r\n"
}
]
}
]
},
{
"defKey": "NodeJS",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M875.2 262.3L546.7 72.7c-20.7-11.8-48.3-11.8-69 0L148.8 262.3c-21.5 12.2-34.5 34.9-34.5 59.7v379.2c0 24.8 13.4 47.9 34.5 60.1l86.1 49.5c41.8 20.7 56.8 20.7 75.9 20.7 62.1 0 97.4-37.8 97.4-102.7V354.4c0-5.3-4.1-9.3-9.3-9.3h-41.4c-5.3 0-9.3 4.1-9.3 9.3v374.3c0 28.8-30 57.7-78.8 33.3l-90.1-52c-3.2-2-5.3-5.3-5.3-8.9V321.9c0-3.7 2-7.3 5.3-8.9l328.1-190c3.2-1.6 7.3-1.6 10.2 0l328.5 189.6c3.2 1.6 5.3 5.3 5.3 8.9v379.2c0 3.7-2 7.3-4.9 8.9L517.9 899.3c-2.8 1.6-7.3 1.6-10.2 0l-84.4-49.9c-2.4-1.2-5.7-1.6-8.1-0.4-23.1 13.4-27.6 15-49.5 22.7-5.7 1.6-13.4 4.9 2.8 14.2l109.6 65c10.6 6.1 22.3 9.3 34.5 9.3 11.8-0.4 24-3.2 34.1-9.7l328.5-189.6c21.1-12.2 34.5-34.9 34.5-59.7V321.9c0-24.3-13.4-47.5-34.5-59.6z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"41444\" stroke=\"none\"></path><path d=\"M614.1 641.1c-86.9 0-106-21.9-112.5-65-0.8-4.9-4.5-8.1-9.3-8.1h-42.6c-5.3 0-9.3 4.1-9.3 9.3 0 55.2 30 121.4 173.8 121.4l-0.4-0.4c103.9 0 163.6-41 163.6-112.5 0-70.6-47.9-89.7-149-103.1-101.9-13.4-112.5-20.3-112.5-44.3 0-19.5 8.9-45.9 84.4-45.9 67.8 0 92.6 14.6 102.7 60.1 1.2 4.1 4.9 7.3 9.3 7.3H755c2.4 0 5.3-0.8 6.9-2.8 1.6-2 2.8-4.5 2.4-7.3-6.9-78.4-58.9-114.9-164-114.9-93.4 0-149.4 39.4-149.4 105.6 0 71.9 55.6 91.8 145.8 100.7 107.6 10.6 116.1 26.4 116.1 47.5 0 36.5-29.3 52.4-98.7 52.4z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"41445\" stroke=\"none\"></path>\n </g>\n </svg>",
"color": "",
"orderValue": 1,
"isEnabled": 1,
"id": "BPP6MKTVM7EAB",
"codegens": [
{
"genKey": "Ts",
"genItems": [
{
"itemKey": "page.vue",
"itemTemplate": "{{\r\nlet first_ =it.defKey.indexOf('_');\r\nlet moduleName = it.defKey.slice(0,first_);\r\nlet pageName = it.defKey.slice(first_ +1,first_ +2).toUpperCase() + it.defKey.slice(first_ +2);\r\nlet pageName_ = it.defKey.slice(first_ +1);\r\nlet fields = it.fields.filter(it=>it.defKey!=='id' && it.defKey!=='creator_id' && it.defKey!=='modifier_id' && it.defKey!=='create_time' && it.defKey!=='modify_time' && it.defKey!=='deleted');\r\n}}<template>\r\n <Page>\r\n <ElForm v-show=\"showSearchForm\" inline @submit.prevent=\"paging\">\r\n {{~fields:field:index}}\r\n <ElFormItem label=\"{{=field.defName}}\">\r\n <ElInput\r\n v-model=\"searchForm.{{=it.func.camel(field.defKey, false)}}\"\r\n placeholder=\"{{=field.defName}}\"/>\r\n </ElFormItem>\r\n {{~}}\r\n <ElFormItem>\r\n <ElButton :icon=\"elIcons.Search\" :loading=\"searching\" native-type=\"submit\" type=\"primary\">搜索</ElButton>\r\n <ElButton :icon=\"elIcons.Refresh\" :loading=\"searching\" @click=\"reset\">重置</ElButton>\r\n </ElFormItem>\r\n </ElForm>\r\n\r\n <div class=\"tool-bar\">\r\n <ElButton :icon=\"elIcons.Plus\" type=\"primary\" @click=\"addHandler\">新建</ElButton>\r\n <ElButton :icon=\"elIcons.Filter\" type=\"default\" @click=\"showSearchForm = !showSearchForm\"/>\r\n </div>\r\n\r\n <ElTable v-loading=\"searching\" :data=\"tableData\"\r\n cell-class-name=\"table-cell\"\r\n class=\"table-list\"\r\n empty-text=\"暂无数据\"\r\n header-row-class-name=\"table-header\"\r\n row-key=\"id\">\r\n {{~fields:field:index}}\r\n <ElTableColumn label=\"{{=field.defName}}\" prop=\"{{=it.func.camel(field.defKey, false)}}\"/>\r\n \r\n {{~}}\r\n <ElTableColumn label=\"操作\" width=\"180\">\r\n <template #default=\"scope\">\r\n <div class=\"action-btn\">\r\n <ElButton text type=\"danger\" :loading=\"deling\" @click=\"delHandler(scope)\">删除</ElButton>\r\n <ElButton text type=\"primary\" @click=\"modifyHandler(scope)\">修改</ElButton>\r\n </div>\r\n </template>\r\n </ElTableColumn>\r\n </ElTable>\r\n\r\n <{{=pageName}}Form ref=\"{{=pageName_}}Form\" @edit-succ=\"paging\"/>\r\n\r\n </Page>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport {{=pageName}}Api from '@/pages/{{=moduleName}}/{{=pageName_}}/{{=pageName_}}-api.ts'\r\nimport Page from '@/components/page/Page.vue'\r\nimport { elIcons } from '@/common/element/element.ts'\r\nimport {{=pageName}}Form from '@/pages/{{=moduleName}}/{{=pageName_}}/{{=pageName}}Form.vue'\r\n\r\nconst tableData = ref<{{=pageName}}Types.Search{{=pageName}}Result[]>([])\r\nconst searchForm = reactive<{{=pageName}}Types.Search{{=pageName}}Param>({\r\n current: 1,\r\n size: 20,\r\n})\r\nconst searching = ref(false)\r\nconst deling = ref(false)\r\nconst showSearchForm = ref(true)\r\nconst {{=pageName_}}FormIns = useTemplateRef<InstanceType<typeof {{=pageName}}Form>>('{{=pageName_}}Form')\r\n\r\nfunction showDialog(data?: {{=pageName}}Types.Search{{=pageName}}Result) {\r\n {{=pageName_}}FormIns.value?.open(data)\r\n}\r\n\r\nfunction delHandler({row}: { row: {{=pageName}}Types.Search{{=pageName}}Result }) {\r\n deling.value = true\r\n {{=pageName}}Api.del([ row.id! ])\r\n .then(() => {\r\n ElMessage.success('删除成功')\r\n paging()\r\n })\r\n .finally(() => {\r\n deling.value = false\r\n })\r\n}\r\n\r\nfunction modifyHandler({row}: { row: {{=pageName}}Types.Search{{=pageName}}Result }) {\r\n showDialog(row)\r\n}\r\n\r\nfunction addHandler() {\r\n showDialog()\r\n}\r\n\r\nfunction reset() {\r\n Object.assign(searchForm, {})\r\n paging()\r\n}\r\n\r\nfunction paging() {\r\n searching.value = true\r\n {{=pageName}}Api.paging(searchForm)\r\n .then(res => {\r\n tableData.value = res.data?.records ?? []\r\n })\r\n .finally(() => {\r\n searching.value = false\r\n })\r\n}\r\n\r\n\r\nonMounted(() => {\r\n paging()\r\n})\r\n\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n.table-list {\r\n flex 1;\r\n width 100%\r\n\r\n :deep(.table-header) {\r\n color #454C59\r\n\r\n th {\r\n background-color #EDF1F7\r\n font-weight 500\r\n position relative\r\n\r\n & > div {\r\n display flex\r\n gap 5px\r\n align-items center\r\n }\r\n\r\n &:not(:first-child) > div::before {\r\n position: absolute;\r\n top: 50%;\r\n left: 1px;\r\n width: 1px;\r\n background-color: #D3D7DE;\r\n transform: translateY(-50%);\r\n content: \"\";\r\n height 50%\r\n }\r\n }\r\n }\r\n\r\n :deep(.table-cell) {\r\n color #2F3540\r\n }\r\n .action-btn {\r\n width 100%\r\n display flex\r\n flex-wrap wrap\r\n\r\n & > button {\r\n margin 0\r\n }\r\n }\r\n}\r\n\r\n.tool-bar {\r\n display flex\r\n justify-content space-between\r\n margin 0 0 20px 0\r\n}\r\n</style>\r\n$blankline"
},
{
"itemKey": "page.ts",
"itemTemplate": "{{\r\nlet first_ =it.defKey.indexOf('_');\r\nlet moduleName = it.defKey.slice(0,first_);\r\nlet pageName = it.defKey.slice(first_ +1,first_ +2).toUpperCase() + it.defKey.slice(first_ +2);\r\nlet pageName_ = it.defKey.slice(first_ +1);\r\n}}export default {\r\n component: () => import('@/pages/{{=moduleName}}/{{=pageName_}}/{{=pageName}}.vue'),\r\n} as RouterTypes.RouteConfig\r\n$blankline"
},
{
"itemKey": "form.vue",
"itemTemplate": "{{\r\nlet first_ =it.defKey.indexOf('_');\r\nlet moduleName = it.defKey.slice(0,first_);\r\nlet pageName = it.defKey.slice(first_ +1,first_ +2).toUpperCase() + it.defKey.slice(first_ +2);\r\nlet pageName_ = it.defKey.slice(first_ +1);\r\nlet fields = it.fields.filter(it=>it.defKey!=='id' && it.defKey!=='creator_id' && it.defKey!=='modifier_id' && it.defKey!=='create_time' && it.defKey!=='modify_time' && it.defKey!=='deleted');\r\n}}<template>\r\n <ElDialog v-model=\"showDialog\"\r\n :close-on-click-modal=\"false\"\r\n destroy-on-close\r\n width=\"25vw\">\r\n <ElForm :model=\"{{=pageName_}}FormData\"\r\n class=\"{{=it.defKey}}-form\"\r\n label-width=\"auto\">\r\n {{~fields:field:index}}\r\n <ElFormItem label=\"{{=field.defName}}\">\r\n <ElInput\r\n v-model=\"{{=pageName_}}FormData.{{=it.func.camel(field.defKey, false)}}\"\r\n :disabled=\"status === 'view'\"\r\n placeholder=\"{{=field.defName}}\"/>\r\n </ElFormItem>\r\n {{~}}\r\n </ElForm>\r\n <template #footer>\r\n <ElButton @click=\"showDialog = false\">{{='{'}}{{='{'}} status === 'view' ? '关闭' : '取消' }}</ElButton>\r\n <ElButton v-if=\"status !== 'view'\" :loading=\"submiting\" type=\"primary\" @click=\"submitHandler\">提交</ElButton>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport {{=pageName}}Api from '@/pages/{{=moduleName}}/{{=pageName_}}/{{=pageName_}}-api.ts'\r\nimport Strings from '@/common/utils/strings.ts'\r\nimport { ElMessage } from 'element-plus'\r\n\r\nconst emits = defineEmits(['editSucc'])\r\nconst showDialog = ref(false)\r\nconst submiting = ref(false)\r\nconst status = ref<'add' | 'view' | 'modify'>('add')\r\n\r\n\r\nconst {{=pageName_}}FormData = reactive<{{=pageName}}Types.Search{{=pageName}}Result>({})\r\n\r\nfunction submitHandler() {\r\n if (status.value === 'view') return\r\n submiting.value = true\r\n if ({{=pageName_}}FormData.id != null) {\r\n {{=pageName}}Api.modify({{=pageName_}}FormData)\r\n .then(() => {\r\n ElMessage.success('修改成功')\r\n emits('editSucc')\r\n showDialog.value = false\r\n })\r\n .finally(() => {\r\n submiting.value = false\r\n })\r\n } else {\r\n {{=pageName}}Api.add({{=pageName_}}FormData)\r\n .then(() => {\r\n ElMessage.success('添加成功')\r\n emits('editSucc')\r\n showDialog.value = false\r\n })\r\n .finally(() => {\r\n submiting.value = false\r\n })\r\n }\r\n}\r\n\r\ndefineExpose({\r\n open(data: {{=pageName}}Types.Search{{=pageName}}Result = {}) {\r\n showDialog.value = true\r\n if (!Strings.isBlank(data.id)) {\r\n status.value = 'modify'\r\n {{=pageName}}Api.detail(data.id!)\r\n .then(res => {\r\n Object.assign({{=pageName_}}FormData, res.data)\r\n })\r\n } else {\r\n status.value = 'add'\r\n Object.assign({{=pageName_}}FormData, {})\r\n }\r\n }\r\n})\r\n\r\n\r\n\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n.{{=it.defKey}}-form {\r\n padding 20px\r\n}\r\n</style>\r\n$blankline"
},
{
"itemKey": "api.ts",
"itemTemplate": "{{\r\nlet first_ =it.defKey.indexOf('_');\r\nlet moduleName = it.defKey.slice(0,first_);\r\nlet pageName = it.defKey.slice(first_ +1,first_ +2).toUpperCase() + it.defKey.slice(first_ +2);\r\nlet pageName_ = it.defKey.slice(first_ +1);\r\n}}import {\r\n get,\r\n post\r\n} from '@/common/utils/http-util.ts'\r\n\r\nexport default {\r\n paging(data: {{=pageName}}Types.Search{{=pageName}}Param) {\r\n return get<G.PageResult<{{=pageName}}Types.Search{{=pageName}}Result>>('/{{=it.defKey}}/paging', data)\r\n },\r\n detail(id: string) {\r\n return get<{{=pageName}}Types.Search{{=pageName}}Result>('/{{=it.defKey}}/detail', {id})\r\n },\r\n add(data: {{=pageName}}Types.Add{{=pageName}}Param) {\r\n return post('/{{=it.defKey}}/add', data)\r\n },\r\n modify(data: {{=pageName}}Types.Modify{{=pageName}}Param) {\r\n return post('/{{=it.defKey}}/modify', data)\r\n },\r\n del(ids: string[]) {\r\n return post('/{{=it.defKey}}/del', ids)\r\n },\r\n}\r\n$blankline"
},
{
"itemKey": "d.ts",
"itemTemplate": "{{\r\nlet first_ =it.defKey.indexOf('_');\r\nlet moduleName = it.defKey.slice(0,first_);\r\nlet pageName = it.defKey.slice(first_ +1,first_ +2).toUpperCase() + it.defKey.slice(first_ +2);\r\nlet fields = it.fields.filter(it=>it.defKey!=='creator_id' && it.defKey!=='modifier_id' && it.defKey!=='create_time' && it.defKey!=='modify_time' && it.defKey!=='deleted');\r\n}}export {}\r\n\r\ndeclare global {\r\n namespace {{=pageName}}Types {\r\n interface Search{{=pageName}}Param extends G.PageParam {\r\n {{~fields:field:index}}\r\n // {{=field.defName}}{{? field.comment }}; {{=field.comment}}{{?}}\r\n {{=it.func.camel(field.defKey, false)}}?: {{=field.dbDataType === 'TINYINT' && field.dataLen === 1 ? 'boolean' : field.langDataType}}\r\n {{~}}\r\n }\r\n \r\n interface Search{{=pageName}}Result {\r\n {{~fields:field:index}}\r\n // {{=field.defName}}{{? field.comment }}; {{=field.comment}}{{?}}\r\n {{=it.func.camel(field.defKey, false)}}?: {{=field.dbDataType === 'TINYINT' && field.dataLen === 1 ? 'boolean' : field.langDataType}}\r\n {{~}}\r\n }\r\n \r\n interface Add{{=pageName}}Param {\r\n {{~fields:field:index}}\r\n // {{=field.defName}}{{? field.comment }}; {{=field.comment}}{{?}}\r\n {{=it.func.camel(field.defKey, false)}}?: {{=field.dbDataType === 'TINYINT' && field.dataLen === 1 ? 'boolean' : field.langDataType}}\r\n {{~}} \r\n }\r\n \r\n interface Modify{{=pageName}}Param {\r\n {{~fields:field:index}}\r\n // {{=field.defName}}{{? field.comment }}; {{=field.comment}}{{?}}\r\n {{=it.func.camel(field.defKey, false)}}?: {{=field.dbDataType === 'TINYINT' && field.dataLen === 1 ? 'boolean' : field.langDataType}}\r\n {{~}}\r\n }\r\n }\r\n}\r\n$blankline"
}
]
}
]
},
{
"defKey": "Rust",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M1017.04003 499.502233l-43.639815-27.019885c-0.339999-3.999983-0.679997-7.859967-1.099995-11.75995l37.439841-34.999851a14.699937 14.699937 0 0 0-4.879979-24.499895l-47.999796-17.999924c-1.079995-3.759984-2.159991-7.559968-3.339986-11.279952l29.999872-41.659822a14.699937 14.699937 0 0 0-9.579959-23.079902l-50.839783-8.299965c-1.799992-3.459985-3.579985-6.899971-5.459977-10.299956l21.359909-46.8398a14.699937 14.699937 0 0 0-13.899941-20.779912l-51.63978 1.819992q-3.579985-4.439981-7.219969-8.799962L878.000622 163.683663a14.719937 14.719937 0 0 0-17.679925-17.679925L810.000911 157.863688q-4.339982-3.659984-8.799962-7.219969l1.819992-51.639781a14.699937 14.699937 0 0 0-20.779912-13.99994L735.401229 106.463907c-3.399986-1.879992-6.859971-3.679984-10.299956-5.459977l-8.299965-50.839784a14.699937 14.699937 0 0 0-23.079902-9.579959L652.001584 70.52406c-3.719984-1.179995-7.499968-2.25999-11.279952-3.339986l-17.999923-47.999796a14.699937 14.699937 0 0 0-24.499896-4.879979l-34.999851 37.439841c-3.899983-0.419998-7.819967-0.759997-11.75995-1.099996L524.502127 6.96433a14.699937 14.699937 0 0 0-24.999894 0L472.482348 50.604145c-3.999983 0.339999-7.859967 0.679997-11.75995 1.099995l-34.999851-37.439841a14.699937 14.699937 0 0 0-24.499895 4.879979l-17.999924 47.999796c-3.779984 1.099995-7.579968 2.159991-11.319951 3.359986l-41.639823-29.999872a14.699937 14.699937 0 0 0-23.079902 9.579959l-8.299965 50.819783c-3.459985 1.799992-6.899971 3.579985-10.319956 5.459977l-46.7998-21.259909a14.699937 14.699937 0 0 0-20.779912 13.99994l1.839992 51.61978c-2.979987 2.37999-5.999974 4.77998-8.839962 7.21997L163.683663 146.003738A14.719937 14.719937 0 0 0 146.003738 163.683663L157.863688 214.003449c-2.45999 2.899988-4.859979 5.859975-7.239969 8.819962l-51.619781-1.819992a14.839937 14.839937 0 0 0-12.739945 6.519972 14.699937 14.699937 0 0 0-1.139995 14.25994l21.319909 46.8198c-1.879992 3.399986-3.659984 6.859971-5.459977 10.319956l-50.819784 8.279965a14.699937 14.699937 0 0 0-9.579959 23.079902l29.999872 41.639822c-1.179995 3.739984-2.25999 7.539968-3.359985 11.319952l-47.999796 17.999924a14.699937 14.699937 0 0 0-4.879979 24.499895l37.439841 34.999851c-0.419998 3.899983-0.759997 7.819967-1.099996 11.75995l-43.719814 26.999885a14.699937 14.699937 0 0 0 0 24.999894l43.639815 27.019885c0.339999 3.999983 0.679997 7.839967 1.099995 11.73995l-37.439841 34.999851a14.699937 14.699937 0 0 0 4.87998 24.499895l47.999795 17.999924c1.099995 3.779984 2.159991 7.559968 3.359986 11.299952l-29.999872 41.659822a14.699937 14.699937 0 0 0 9.579959 23.079902l50.839783 8.299965c1.799992 3.439985 3.579985 6.899971 5.459977 10.279956l-21.259909 46.8598a14.699937 14.699937 0 0 0 1.139995 14.25994 14.259939 14.259939 0 0 0 12.739945 6.519972l51.659781-1.819992q3.539985 4.439981 7.199969 8.799962L146.003738 860.320697a14.719937 14.719937 0 0 0 17.679925 17.679925l50.319786-11.85995q4.359981 3.659984 8.819962 7.219969l-1.839992 51.639781a14.699937 14.699937 0 0 0 20.779912 13.89994l46.8598-21.359909c3.379986 1.879992 6.839971 3.659984 10.279956 5.459977l8.299965 50.839784a14.679937 14.679937 0 0 0 23.079902 9.559959l41.659822-29.999872c3.719984 1.199995 7.519968 2.25999 11.299952 3.359985l17.999924 47.999796a14.719937 14.719937 0 0 0 24.499895 4.879979l34.999851-37.43984c3.899983 0.419998 7.839967 0.759997 11.75995 1.099995l27.019885 43.639814a14.699937 14.699937 0 0 0 24.999894 0l27.019885-43.639814c3.999983-0.339999 7.859967-0.679997 11.75995-1.119995l34.999851 37.45984a14.719937 14.719937 0 0 0 24.499895-4.879979l17.999924-47.999796c3.779984-1.099995 7.559968-2.159991 11.299951-3.359985l41.639823 29.999872a14.679937 14.679937 0 0 0 23.079902-9.559959l8.299965-50.839784c3.439985-1.799992 6.899971-3.579985 10.299956-5.459977l46.8398 21.359909a14.699937 14.699937 0 0 0 20.779912-13.89994l-1.819992-51.639781q4.439981-3.579985 8.799962-7.219969l50.299786 11.85995a14.719937 14.719937 0 0 0 17.679925-17.679925L866.140672 810.000911q3.659984-4.339982 7.219969-8.799962l51.639781 1.819992a14.459938 14.459938 0 0 0 12.739945-6.519972 14.699937 14.699937 0 0 0 1.159995-14.25994l-21.359909-46.8398c1.879992-3.399986 3.659984-6.859971 5.459977-10.299956l50.839784-8.299965a14.699937 14.699937 0 0 0 9.579959-23.079902l-29.999872-41.659822c1.179995-3.739984 2.25999-7.519968 3.339985-11.299952l47.999796-17.999924a14.699937 14.699937 0 0 0 4.879979-24.499895l-37.43984-34.999851c0.419998-3.899983 0.759997-7.819967 1.099995-11.73995l43.639814-27.019885a14.699937 14.699937 0 0 0 0-24.999894z m-301.998714 258.158901A27.819882 27.819882 0 0 0 682.001456 779.021043l-15.279935 71.339696a375.018403 375.018403 0 0 1-312.718668-1.479993l-15.279935-71.319697a27.739882 27.739882 0 0 0-32.91986-21.359909l-63.019732 13.519943a374.758404 374.758404 0 0 1-32.519861-38.419837H516.60216c3.439985 0 5.779975-0.579998 5.779976-3.819983v-108.379539c0-3.139987-2.33999-3.819984-5.779976-3.819984h-89.659618l0.1-68.699707H524.002129c8.819962 0 47.319799 2.559989 59.579746 51.739779 3.819984 15.099936 12.339947 64.279726 18.119923 79.99966 5.779975 17.639925 29.199876 52.919775 54.199769 52.919775H814.000894a374.598405 374.598405 0 0 1-34.679852 40.179828z m51.53978 68.979706A30.47987 30.47987 0 1 1 736.001226 796.16097h0.879997a30.45987 30.45987 0 0 1 29.599873 30.47987z m-451.238079-1.359994a30.47987 30.47987 0 1 1-30.49987-30.49987h0.899996a30.49987 30.49987 0 0 1 29.499875 30.49987z m-176.199249-356.97848l65.65972-29.199876a27.759882 27.759882 0 0 0 14.11994-36.659844L205.383486 372.002776h53.119773v239.458981h-107.199543a375.298402 375.298402 0 0 1-12.159948-143.159391z m-22.519905-72.119693a30.47987 30.47987 0 0 1 30.459871-30.49987H148.00373a30.47987 30.47987 0 1 1-31.339867 30.47987z m310.318679 48.979792l0.1-70.6397h126.519461c6.559972 0 46.139804 7.539968 46.139804 37.239842 0 24.579895-30.379871 33.399858-55.359765 33.399858zM798.000962 613.421748c-19.599917 2.25999-41.259824-8.239965-43.999812-20.179914-11.559951-64.979723-30.779869-78.799664-61.13974-102.799562 37.719839-23.899898 76.919672-59.279748 76.919672-106.519547 0-51.039783-34.979851-83.179646-58.799749-98.959578-33.519857-21.999906-70.5597-26.459887-80.539657-26.459888h-397.798307a374.978403 374.978403 0 0 1 209.779107-118.379496l46.9398 49.199791a27.639882 27.639882 0 0 0 39.199834 0.879996l52.519776-49.999787a375.018403 375.018403 0 0 1 256.738907 182.859221l-35.999847 81.139655a27.999881 27.999881 0 0 0 14.17994 36.659844l69.179705 30.659869a374.238407 374.238407 0 0 1 0.799997 65.079723h-38.559836c-3.819984 0-5.379977 2.539989-5.379977 6.259974v17.639924C842.000775 602.001797 818.620874 611.161758 798.000962 613.421748zM480.002316 120.423847A30.47987 30.47987 0 0 1 510.422187 90.003977h0.899996A30.47987 30.47987 0 1 1 480.002316 120.423847zM873.68064 428.002538a30.47987 30.47987 0 1 1 0-60.959741h0.879996a30.47987 30.47987 0 0 1-0.879996 60.959741z\" p-id=\"40259\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n </g>\n </svg>",
"color": "",
"orderValue": 2,
"isEnabled": 0,
"id": "BPP6MJOD47EAB",
"codegens": [
{
"genKey": "default",
"genIntro": null,
"genItems": [
{
"itemKey": "struct",
"itemIntro": null,
"itemTemplate": "use chrono::{DateTime, Local};\nuse serde::{Deserialize, Serialize};\n$blankline\n/// {{=it.defName}}\n#[derive(Serialize, Deserialize, Debug, Clone)]\n{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"langDataType\"];\n return;\n }\n });\n \n var pkgName = 'com.yonsum.pdmaas.xxx';\n var beanClass = it.props?.codeGen?.nameSpace||it.func.camel(it.defKey,true);\n var beanVarName = it.props?.codeGen?.className||beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n \n}}\npub struct {{=beanClass}} {\n {{~it.fields:field:index}}\n {{\n let fieldDateType = field.langDataType;\n if(!field.notNull){\n fieldDateType = 'Option<'+fieldDateType+'>';\n }\n }}/// {{=field.defName}}\n pub {{=it.func.camel(field.defKey,false)}}: {{=fieldDateType}},\n {{~}}\n}\n"
}
]
}
]
},
{
"defKey": "CSharp",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M490.666667 681.386667 508.16 785.493333C497.066667 791.466667 479.146667 797.013333 455.253333 802.133333 430.933333 807.68 402.346667 810.666667 369.493333 810.666667 275.2 808.96 204.373333 780.8 157.013333 727.04 109.226667 672.853333 85.333333 604.16 85.333333 520.96 87.466667 422.4 116.053333 346.88 170.666667 293.973333 226.986667 240.64 296.96 213.333333 381.44 213.333333 413.44 213.333333 441.173333 216.32 464.213333 221.44 487.253333 226.56 504.32 232.106667 515.413333 238.506667L490.666667 344.746667 445.44 330.24C428.373333 325.973333 408.746667 323.84 386.133333 323.84 336.64 323.413333 295.68 339.2 263.68 370.773333 231.253333 401.92 214.613333 449.706667 213.333333 513.28 213.333333 571.306667 229.12 616.533333 259.413333 649.813333 289.706667 682.666667 332.373333 699.733333 386.986667 700.16L443.733333 695.04C462.08 691.626667 477.44 686.933333 490.666667 681.386667M592.64 810.666667 618.666667 640 554.666667 640 569.173333 554.666667 633.173333 554.666667 646.826667 469.333333 582.826667 469.333333 597.333333 384 661.333333 384 687.36 213.333333 772.693333 213.333333 746.666667 384 789.333333 384 815.36 213.333333 900.693333 213.333333 874.666667 384 938.666667 384 924.16 469.333333 860.16 469.333333 846.506667 554.666667 910.506667 554.666667 896 640 832 640 805.973333 810.666667 720.64 810.666667 746.666667 640 704 640 677.973333 810.666667 592.64 810.666667M718.506667 554.666667 761.173333 554.666667 774.826667 469.333333 732.16 469.333333 718.506667 554.666667Z\" p-id=\"38007\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n </g>\n </svg>",
"color": "",
"orderValue": 3,
"isEnabled": 0,
"id": "BPP6MHGXM7EAB",
"codegens": [
{
"genKey": "default",
"genIntro": null,
"genItems": [
{
"itemKey": "content",
"itemIntro": null,
"itemTemplate": "using System;\nusing System.Collections.Generic;\n\n$blankline\n{{\n var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n}}\n/*\n * @author : http://www.chiner.com.cn\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n * @desc : {{=it.func.join(it.defName,it.comment,'-')}}\n */\nnamespace PDManer.Application\n{\n public partial class {{=it.func.camel(it.defKey,true) }}\n {\n \n {{~it.fields:field:index}}\n /// <summary>\n /// {{=it.func.join(field.defName,field.comment,';')}}\n /// </summary>\n public {{=field.langDataType}} {{=it.func.camel(field.defKey,true)}} { get; set; }\n $blankline\n {{~}}\n \n }\n}"
}
]
}
]
},
{
"defKey": "GoLang",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1280 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M800.20014 389.6c-21.8 5.6-39.8 8.6-58.2 15.2-14.6 3.8-29.4 7.8-46.4 12.2l-1.2 0.2c-8.4 2.4-9.2 2.6-17-6.4-9.4-10.6-16.2-17.4-29.2-23.8-39.4-19.2-77.4-13.6-112.8 9.4-42.4 27.4-64.2 68-63.6 118.4 0.6 50 34.8 91 82.4 97.8 44 5.6 79.6-9.2 107.6-41 4.2-5.2 8-10.6 12.2-16.6 1.6-2 3-4.2 4.6-6.6h-120.2c-13 0-16.2-8-11.8-18.6 8-19.4 23-51.8 31.8-68 1.8-3.6 6.2-11.6 13.8-11.6h202.2c9-26.8 23.6-53.8 43.2-79.4 45.4-59.8 98.6-91 174.4-104 63.6-11.2 123.4-5 177.8 31.8 49.2 33.6 79.6 79.2 87.8 139 10.6 84.2-13.8 152.6-73.4 211.2-39.4 41.8-89.8 68-147.8 79.8-11.2 2-22.2 3-33 4-5.8 0.4-11.4 1-17 1.6-56.6-1.2-108.4-17.4-152-54.8-30.6-26.6-51.8-59.2-62.2-97-7.4 14.6-16 28.8-28 42.2-43.2 59.2-101.8 96-175.8 105.8-61.2 8.2-117.8-3.6-167.8-41-46-35-72.2-81-79-138.4-8.2-68 11.8-130.8 52.8-182.6 44.4-58 103-94.8 174.6-107.8 58.6-12.4 114.6-3.8 165.2 30.6 33 21.8 56.6 51.6 72.2 87.8 3.8 5.6 1.2 8.8-6.2 10.6z m-703.6 11.2c-2.5 0-3.12-1.2-1.88-3.2l13.1-16.8c1.24-1.8 4.36-3 6.86-3H337.20014c2.4 0 3 1.8 1.8 3.6l-10.6 16.2c-1.2 2-4.4 3.8-6.2 3.8l-225.6-0.6zM2.49214 458.2c-2.492 0-3.116-1.4-1.868-3.2l13.086-16.8c1.248-1.8 4.364-3.2 6.85-3.2H304.80014c2.4 0 3.6 2 3 3.8l-5 15c-0.6 2.4-3 3.8-5.6 3.8l-294.708 0.6z m148.948 53.6c-1.24 1.8-0.62 3.6 1.86 3.6l135.9 0.6c1.8 0 4.4-1.8 4.4-4.2l1.2-15c0-2.6-1.2-4.4-3.8-4.4H166.40014c-2.5 0-4.98 1.8-6.24 3.8l-8.72 15.6z m1002.96-36c-0.4-5.2-0.6-9.6-1.4-14-11.2-61.6-68-96.6-127.2-82.8-58 13-95.4 49.8-109 108.4-11.2 48.6 12.4 97.8 57.2 117.8 34.4 15 68.6 13.2 101.6-3.8 49.2-27.2 76-65.4 79.2-119-0.2-2.4-0.2-4.6-0.4-6.6z\" p-id=\"38986\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\"></path>\n </g>\n </svg>",
"color": "",
"orderValue": 4,
"isEnabled": 0,
"id": "BPP6MIOT47EAC",
"codegens": [
{
"genKey": "default",
"genIntro": "默认代码生成器",
"genItems": [
{
"itemKey": "content",
"itemIntro": "我是golang默认的代码生成器",
"itemTemplate": "{{\n var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1<10?\"0\"+today.getMonth():today.getMonth();\n var days=today.getDate()<10?\"0\"+today.getDate():today.getDate();\n var hours = today.getHours()<10?\"0\"+today.getHours():today.getHours(); \n\tvar minutes = today.getMinutes()<10?\"0\"+today.getMinutes():today.getMinutes(); \n\tvar seconds = today.getSeconds()<10?\"0\"+today.getSeconds():today.getSeconds(); \n}}\n// Package models {{=it.func.join(it.defName,it.comment,'')}}\n// author : http://www.liyang.love\n// date : {{=fullYear}}-{{=month}}-{{=days}} {{=hours}}:{{=minutes}}\n// desc : {{=it.func.join(it.defName,it.comment,'')}}\npackage models\n\n$blankline\n\n// {{=it.func.camel(it.defKey,true) }} {{=it.func.join(it.defName,it.comment,'')}}。\n// 说明:{{=it.comment}}\n// 表名:{{=it.defKey}}\n// group: {{=it.func.camel(it.defKey,true) }}\n// obsolete:\n// appliesto:go 1.8+;\n// namespace:hongmouer.his.models.{{=it.func.camel(it.defKey,true) }}\n// assembly: hongmouer.his.models.go\n// class:HongMouer.HIS.Models.{{=it.func.camel(it.defKey,true) }}\n// version:{{=fullYear}}-{{=month}}-{{=days}} {{=hours}}:{{=minutes}}\ntype {{=it.func.camel(it.defKey,true) }} struct {\n {{~it.fields:field:index}}\n {{=formatGoLang(it.func.camel(field.defKey,true),null,field,it.fields,null,1)}} {{=formatGoLang(field.langDataType,\"langDataType\",field,it.fields,10,3)}} `gorm:\"column:{{=field.primaryKey?\"primaryKey;\":\"\"}}{{=field.defKey}}\" json:\"{{=it.func.camel(field.defKey,true)}}\"` {{=formatGoLang(\"gorm:column:\"+field.defKey+\" json:\"+it.func.camel(field.defKey,true),null,field,it.fields,null,2)}} //type:{{=formatGoLang(field.langDataType,\"langDataType\",field,it.fields,null,3)}} comment:{{=formatGoLang(it.func.join(field.defName,field.comment,';'),\"defName\",field,it.fields,null,4)}} version:{{=fullYear}}-{{=month}}-{{=days}} {{=hours}}:{{=minutes}}\n {{~}}\n}\n\n\n$blankline\n// TableName 表名:{{=it.defKey}}{{=it.defName}}。\n// 说明:{{=it.comment}}\nfunc (ZentaoUserInfo) TableName() string {\n\treturn \"{{=it.defKey}}\"\n}\n\n{{\n\nfunction formatGoLang(str, fieldName, field, fileds, emptLength, isFiled) {\n var maxLength = 0;\n\n if (isFiled == 1) {\n for (var i = 0; i < fileds.length; i++) {\n if (getBlength(it.func.camel(fileds[i].defKey, true)) > maxLength) {\n maxLength = getBlength(it.func.camel(fileds[i].defKey, true)) + 2;\n }\n }\n } else if (isFiled == 2) {\n for (var i = 0; i < fileds.length; i++) {\n var newStr = \"gorm:column:\" + fileds[i].defKey + \" json:\" + it.func.camel(fileds[i].defKey, true);\n if (getBlength(newStr) > maxLength) {\n maxLength = getBlength(newStr) + 2;\n }\n }\n var empt = \"\";\n var strLength = getBlength(str);\n if (field.primaryKey) {\n strLength += getBlength(\"primaryKey;\");\n }\n for (var j = 0; j < maxLength - strLength; j++) {\n empt += ' ';\n }\n return empt;\n } else if (isFiled == 3) {\n /*获取某个字段的最大长度*/\n for (var i = 0; i < fileds.length; i++) {\n var newStr = eval(\"fileds[\" + i + \"].\" + fieldName);\n if (getBlength(newStr) > maxLength) {\n maxLength = getBlength(newStr) + 1;\n }\n }\n } else if (isFiled == 4) {\n /*获取某个字段的最大长度*/\n for (var i = 0; i < fileds.length; i++) {\n var newStr = fileds[i].comment + \";\" + fileds[i].defName;\n if (getBlength(newStr) > maxLength) {\n maxLength = getBlength(newStr) + 1;\n }\n }\n }\n else {\n maxLength = emptLength;\n }\n\n var strLength = getBlength(str);\n for (var j = 0; j < maxLength - strLength; j++) {\n str += ' ';\n }\n return str;\n}\n\nfunction getBlength(str) {\n var n = 0;\n for (var i = str.length; i--;) {\n n += str.charCodeAt(i) > 255 ? 2 : 1;\n }\n return n;\n} \n\n}}"
}
]
}
]
},
{
"defKey": "Python",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1029 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M610.56 7.68l38.4 8.533333 31.146667 11.093334 25.173333 12.8 19.2 13.653333 14.506667 14.506667 10.666666 14.506666 6.826667 14.08 4.266667 12.8 1.706666 11.093334 0.853334 8.533333-0.426667 5.546667V362.666667l-2.133333 26.88-5.546667 23.466666-8.96 19.626667-11.093333 16.213333-12.8 13.226667-14.08 10.666667-14.933334 8.106666-14.933333 5.973334-14.08 4.266666-12.8 2.986667-11.093333 1.706667-8.96 0.853333H376.746667l-29.44 2.133333-25.173334 5.973334-21.333333 9.386666-17.493333 11.52-14.08 13.653334-11.52 14.933333-8.533334 15.36-6.4 15.786667-4.266666 14.933333-2.986667 13.653333-1.706667 11.52-0.853333 8.96v130.56H137.813333l-8.96-1.28-11.946666-2.986666-13.653334-5.12-14.933333-7.68-15.36-11.093334-15.36-15.36-14.933333-19.626666-13.653334-25.173334-11.946666-31.146666-8.96-37.546667-5.973334-44.8L0 510.72l2.56-52.053333 6.826667-44.373334 10.24-37.12 13.653333-30.293333 15.36-24.32 17.066667-18.773333 17.92-14.08 17.92-10.24 17.066666-6.826667 15.36-4.266667 13.653334-2.133333 10.24-0.426667h6.826666l2.56 0.426667h348.16v-35.413333H266.24l-0.426667-117.333334-0.853333-15.786666 2.133333-14.506667 4.693334-13.226667 7.253333-11.946666 10.666667-11.093334 13.226666-9.813333 16.213334-8.533333 18.773333-7.68 21.76-6.4 24.746667-5.12 27.306666-4.266667 30.293334-2.56 32.853333-1.706667 35.84-0.853333 54.186667 2.133333 45.653333 5.546667z m-268.8 84.48l-9.813333 14.08-3.413334 17.493333 3.413334 17.493334 9.813333 14.506666 14.08 9.386667 17.493333 3.84 17.493334-3.84 14.08-9.386667 9.813333-14.506666 3.413333-17.493334-3.413333-17.493333-9.813333-14.08-14.08-9.386667-17.493334-3.84-17.493333 3.84-14.08 9.386667z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"42456\"></path><path d=\"M900.266667 260.693333l11.946666 2.56 13.653334 5.12 14.933333 7.68 15.36 11.52 15.36 14.933334 14.933333 20.053333 13.653334 25.173333 11.946666 31.146667 8.96 37.546667 5.973334 44.373333 2.133333 52.48-2.56 52.48-6.826667 44.373333-10.24 36.693334-13.653333 30.293333-15.36 24.32-17.066667 19.2-17.92 14.08-17.92 10.24-17.066666 6.826667-15.36 3.84-13.653334 2.133333-10.24 0.853333-6.826666-0.426666h-350.72v34.986666h249.173333l0.426667 117.76 0.853333 15.36-2.133333 14.506667-4.693334 13.226667-7.253333 12.373333-10.666667 10.666667-13.226666 10.24-16.213334 8.533333-18.773333 7.253333-21.76 6.4-24.746667 5.546667-27.306666 3.84-30.293334 2.986667-32.853333 1.706666-35.84 0.426667-54.186667-1.706667-45.653333-5.973333-38.4-8.533333-31.146667-10.666667-25.173333-12.8-19.2-14.08-14.506667-14.506667-10.666666-14.506666-6.826667-14.08-4.266667-12.8-1.706666-10.666667-0.853334-8.533333 0.426667-5.546667v-227.84l2.133333-27.306667 5.546667-23.04 8.96-19.626666 11.093333-16.213334 12.8-13.653333 14.08-10.24 14.933334-8.533333 14.933333-5.973334 14.08-4.266666 12.8-2.56 11.093333-1.706667 8.96-0.853333 5.546667-0.426667h249.173333l29.44-2.133333 25.173334-5.973334 21.333333-8.96 17.493333-11.946666 14.08-13.653334 11.52-14.933333 8.533334-15.36 6.4-15.36 4.266666-14.933333 2.986667-13.653334 1.706667-11.946666 0.853333-8.96V258.986667h89.173333l5.973334 0.426666 8.96 1.28z m-276.053334 608l-9.813333 14.08-3.413333 17.493334 3.413333 17.493333 9.813333 14.08 14.08 9.813333 17.493334 3.413334 17.493333-3.413334 14.08-9.813333 9.813333-14.08 3.413334-17.493333-3.413334-17.493334-9.813333-14.08-14.08-9.813333-17.493333-3.413333-17.493334 3.413333-14.08 9.813333z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"42457\"></path>\n </g>\n </svg>",
"color": "",
"orderValue": 5,
"isEnabled": 0,
"id": "BPP6MLTRQ7EAC",
"codegens": [
{
"genKey": "default",
"genIntro": null,
"genItems": [
{
"itemKey": "content",
"itemIntro": null,
"itemTemplate": "{{\r\n var today=new Date();\r\n var fullYear=today.getFullYear();\r\n var month=today.getMonth() + 1;\r\n var days=today.getDate();\r\n}}\r\n\r\n\"\"\"\r\n @author : \r\n @date : {{=fullYear}}-{{=month}}-{{=days}}\r\n @desc : {{=it.func.join(it.defName,it.comment,'-')}}\r\n\"\"\"\r\nclass {{=it.func.camel(it.defKey, true)}}:\r\n def __init__(self):\r\n # Initialize properties as None\r\n {{~it.fields:field:index}}\r\n self._{{=it.func.camel(field.defKey, true)}} = None\r\n {{~}}\r\n\r\n {{~it.fields:field:index}}\r\n @property\r\n def {{=it.func.camel(field.defKey, true)}}(self):\r\n \"\"\"\r\n {{=it.func.join(field.defName, field.comment, ';')}}\r\n \"\"\"\r\n return self._{{=it.func.camel(field.defKey, true)}}\r\n\r\n @{{=it.func.camel(field.defKey, true)}}.setter\r\n def {{=it.func.camel(field.defKey, true)}}(self, value):\r\n self._{{=it.func.camel(field.defKey, true)}} = value\r\n {{~}}\r\n\r\n def __str__(self):\r\n # Return a string representation of the object\r\n return str(self.__dict__)\r\n\r\n{{\r\n var today=new Date();\r\n var fullYear=today.getFullYear();\r\n var month=today.getMonth() + 1;\r\n var days=today.getDate();\r\n}}"
}
]
}
]
},
{
"defKey": "PHP",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1280 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M640 209c342.8 0 606.4 144.4 606.4 303S982.6 815 640 815c-342.8 0-606.4-144.4-606.4-303S297.4 209 640 209m0-33.6C286.6 175.4 0 326 0 512s286.6 336.6 640 336.6S1280 698 1280 512 993.4 175.4 640 175.4zM436.4 485c-15.8 81-71.6 72.6-140.2 72.6l27.4-141.2c76 0 127.6-8.2 112.8 68.6zM194.8 700.6h73.4l17.4-89.6c82.2 0 133.2 6 180.4-38.2 52.2-48 65.8-133.4 28.6-176.2-19.4-22.4-50.6-33.4-93-33.4h-141.4L194.8 700.6z m371.4-427.2h73l-17.4 89.6c63 0 121.4-4.6 149.6 21.4 29.6 27.2 15.4 62-16.6 226.2h-74c30.8-158.8 36.6-172 25.4-184-10.8-11.6-35.4-9.2-94.8-9.2l-37.6 193.2h-73l65.4-337.2zM1010 485c-16 82.2-73.4 72.6-140.2 72.6l27.4-141.2c76.4 0 127.6-8.2 112.8 68.6zM768.4 700.6H842l17.4-89.6c86.4 0 134.2 5 180.4-38.2 52.2-48 65.8-133.4 28.6-176.2-19.4-22.4-50.6-33.4-93-33.4H834l-65.6 337.4z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"43609\"></path>\n </g>\n </svg>",
"color": "",
"orderValue": 6,
"isEnabled": 0,
"id": "BPP6MMSQQ7EAB",
"codegens": [
{
"genKey": "default",
"genIntro": null,
"genItems": [
{
"itemKey": "content",
"itemIntro": null,
"itemTemplate": "<?php\r\n$blankline\r\n{{\r\n var today=new Date();\r\n var fullYear=today.getFullYear();\r\n var month=today.getMonth() + 1;\r\n var days=today.getDate();\r\n}}\r\n\r\n/*\r\n * @author : \r\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\r\n * @desc : {{=it.func.join(it.defName,it.comment,'-')}}\r\n */\r\nclass {{=it.func.camel(it.defKey, true)}}\r\n{\r\n private $properties = [];\r\n\r\n public function __construct() {\r\n // Initialize properties\r\n {{~it.fields:field:index}}\r\n $this->properties['{{=it.func.camel(field.defKey,true)}}'] = null;\r\n {{~}}\r\n }\r\n\r\n {{~it.fields:field:index}}\r\n /**\r\n * {{=it.func.join(field.defName, field.comment, ';')}}\r\n */\r\n public function get{{=it.func.camel(field.defKey, true)}}(): {{=field.langDataType}} {\r\n return $this->properties['{{=it.func.camel(field.defKey,true)}}'];\r\n }\r\n\r\n public function set{{=it.func.camel(field.defKey, true)}}($value): void {\r\n $this->properties['{{=it.func.camel(field.defKey,true)}}'] = $value;\r\n }\r\n {{~}}\r\n\r\n public function __toString() {\r\n return json_encode($this->properties);\r\n }\r\n}\r\n\r\n?>\r\n\r\n"
}
]
}
]
},
{
"defKey": "CAndCpp",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M924 0H100C45 0 0 45 0 100v824c0 55 45 100 100 100h824c55 0 100-45 100-100V100c0-55-45-100-100-100z m55 924c0 14.58-5.75 28.36-16.19 38.81S938.58 979 924 979H100c-14.58 0-28.36-5.75-38.81-16.19S45 938.58 45 924V315h934v609zM45 270V100c0-14.58 5.75-28.36 16.19-38.81C71.64 50.75 85.42 45 100 45h824c14.58 0 28.36 5.75 38.81 16.19C973.25 71.64 979 85.42 979 100v170H45z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"46348\" stroke=\"none\"></path><path d=\"M157.5 157.5m-22.5 0a22.5 22.5 0 1 0 45 0 22.5 22.5 0 1 0-45 0Z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"46349\" stroke=\"none\"></path><path d=\"M292.5 157.5m-22.5 0a22.5 22.5 0 1 0 45 0 22.5 22.5 0 1 0-45 0Z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"46350\" stroke=\"none\"></path><path d=\"M427.5 157.5m-22.5 0a22.5 22.5 0 1 0 45 0 22.5 22.5 0 1 0-45 0Z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"46351\" stroke=\"none\"></path><path d=\"M124.76 665.77c0-61 44.06-96.75 96.53-96.75 26.38 0 47.42 11.25 60.89 23.75l-21.89 23.5c-10.38-9-22.45-15.5-38.16-15.5-31.43 0-55 24-55 63.75 0 40.25 21.33 64.5 54.16 64.5 17.68 0 31.71-7.5 42.93-18.25l21.89 23c-17.12 17.75-39.29 27.25-66.22 27.25-52.47 0-95.13-33.5-95.13-95.25zM367.49 556.27h27.5L325.4 803.02h-27.5l69.59-246.75zM414.63 665.77c0-61 44.06-96.75 96.53-96.75 26.38 0 47.42 11.25 60.89 23.75l-21.89 23.5c-10.38-9-22.45-15.5-38.16-15.5-31.43 0-55 24-55 63.75 0 40.25 21.33 64.5 54.16 64.5 17.68 0 31.71-7.5 42.93-18.25l21.89 23c-17.12 17.75-39.29 27.25-66.22 27.25-52.48 0-95.13-33.5-95.13-95.25zM651.18 677.02H594.5v-26h56.68v-53.25h30.59v53.25h56.68v26h-56.68v53.25h-30.59v-53.25zM816.46 677.02h-56.68v-26h56.68v-53.25h30.59v53.25h56.68v26h-56.68v53.25h-30.59v-53.25z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"46352\" stroke=\"none\"></path>\n </g>\n </svg>",
"color": "",
"orderValue": 7,
"isEnabled": 0,
"id": "BPP6MO4ZM7EAB",
"codegens": [
{
"genKey": "default",
"genIntro": null,
"genItems": [
{
"itemKey": "C",
"itemIntro": null,
"itemTemplate": "#include <stdio.h>\r\n#include <time.h>\r\n#include <string.h>\r\n\r\ntypedef struct {\r\n {{~it.fields:field:index}}\r\n {{=field.langDataType}} {{=it.func.camel(field.defKey, false)}};\r\n {{~}}\r\n} {{=it.func.camel(it.defKey, true)}};\r\n\r\n// Functions to interact with the bean\r\nvoid {{=it.func.camel(it.defKey, true)}}_init({{=it.func.camel(it.defKey, true)}} *bean) {\r\n {{~it.fields:field:index}}\r\n bean->{{=it.func.camel(field.defKey, false)}} = null;\r\n {{~}}\r\n}\r\n\r\n{{~it.fields:field:index}}\r\n/**\r\n * {{=it.func.join(field.defName, field.comment, ';')}}\r\n */\r\n{{=field.langDataType}} {{=it.func.camel(it.defKey, true)}}_get{{=it.func.camel(field.defKey, true)}}({{=it.func.camel(it.defKey, true)}} *bean) {\r\n return bean->{{=it.func.camel(field.defKey, false)}};\r\n}\r\n\r\nvoid {{=it.func.camel(it.defKey, true)}}_set{{=it.func.camel(field.defKey, true)}}({{=it.func.camel(it.defKey, true)}} *bean, {{=field.langDataType}} value) {\r\n bean->{{=it.func.camel(field.defKey, false)}} = value;\r\n}\r\n{{~}}\r\n\r\nvoid {{=it.func.camel(it.defKey, true)}}_print(const {{=it.func.camel(it.defKey, true)}} *bean) {\r\n printf(\"{{=it.func.camel(it.defKey, true)}} {\");\r\n {{~it.fields:field:index}}\r\n printf(\" %s: %d\", \"{{=it.func.camel(field.defKey, false)}}\", bean->{{=it.func.camel(field.defKey, false)}});\r\n {{~}}\r\n printf(\" }\\n\");\r\n}\r\n\r\n"
},
{
"itemKey": "C++",
"itemIntro": null,
"itemTemplate": "#include <iostream>\r\n#include <string>\r\n#include <sstream>\r\n#include <ctime>\r\n\r\n{{\r\n var today=new Date();\r\n var fullYear=today.getFullYear();\r\n var month=today.getMonth() + 1;\r\n var days=today.getDate();\r\n}}\r\n/*\r\n * @author : \r\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\r\n * @desc : {{=it.func.join(it.defName,it.comment,'-')}}\r\n */\r\nclass {{=it.func.camel(it.defKey, true)}} {\r\npublic:\r\n // Constructor\r\n {{=it.func.camel(it.defKey, true)}}() {\r\n // Initialize properties\r\n {{~it.fields:field:index}}\r\n _{{=it.func.camel(field.defKey, true)}} = {};\r\n {{~}}\r\n }\r\n\r\n // Getters and Setters\r\n {{~it.fields:field:index}}\r\n /**\r\n * {{=it.func.join(field.defName, field.comment, ';')}}\r\n */\r\n {{=field.langDataType}} get{{=it.func.camel(field.defKey, true)}}() const {\r\n return _{{=it.func.camel(field.defKey, true)}};\r\n }\r\n\r\n void set{{=it.func.camel(field.defKey, true)}}({{=field.langDataType}} value) {\r\n _{{=it.func.camel(field.defKey, true)}} = value;\r\n }\r\n {{~}}\r\n\r\n // Convert to string\r\n std::string toString() const {\r\n std::ostringstream oss;\r\n oss << \"{{=it.func.camel(it.defKey, true)}} {\";\r\n {{~it.fields:field:index}}\r\n oss << \" \" << \"{{=it.func.camel(field.defKey, true)}}\" << \": \" << _{{=it.func.camel(field.defKey, true)}};\r\n {{~}}\r\n oss << \" }\";\r\n return oss.str();\r\n }\r\n\r\nprivate:\r\n {{~it.fields:field:index}}\r\n {{=field.langDataType}} _{{=it.func.camel(field.defKey, true)}};\r\n {{~}}\r\n};\r\n\r\n// Metadata\r\nconst std::string author = \"http://www.chiner.com.cn\";\r\nstd::time_t t = std::time(nullptr);\r\nstd::tm* tm = std::localtime(&t);\r\nstd::ostringstream dateStream;\r\ndateStream << (1900 + tm->tm_year) << \"-\" << (1 + tm->tm_mon) << \"-\" << tm->tm_mday;\r\nconst std::string date = dateStream.str();\r\nconst std::string desc = \"{{=it.func.join(it.defName, it.comment, '-') }}\";\r\n\r\nint main() {\r\n std::cout << \"Author: \" << author << std::endl;\r\n std::cout << \"Date: \" << date << std::endl;\r\n std::cout << \"Description: \" << desc << std::endl;\r\n\r\n {{=it.func.camel(it.defKey, true)}} obj;\r\n std::cout << obj.toString() << std::endl;\r\n\r\n return 0;\r\n}\r\n"
}
]
}
]
},
{
"defKey": "Swift",
"defName": null,
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1024 1024\" width=\"30\" height=\"30\" style=\"border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined\" filter=\"none\">\n \n <g>\n <path d=\"M729.173333 841.386667c-100.693333 58.026667-238.506667 64-378.026666 4.266666A589.098667 589.098667 0 0 1 85.333333 618.666667c28.586667 23.466667 62.293333 42.666667 98.133334 59.733333 143.786667 66.986667 287.146667 62.293333 388.266666 0-143.786667-110.506667-266.24-254.293333-357.12-371.626667-19.2-19.2-33.28-43.093333-47.786666-64.426666 353.28 258.133333 337.92 323.84 102.826666-43.093334 208.64 210.773333 402.346667 330.24 402.346667 330.24 6.826667 3.84 10.666667 6.826667 15.36 9.386667 4.266667-10.666667 8.106667-21.76 11.093333-33.28 33.706667-121.6-4.693333-261.12-88.746666-375.893333 194.133333 117.333333 309.333333 337.493333 261.12 522.24-1.28 4.693333-2.56 9.386667-2.133334 16.64 95.573333 120.746667 69.973333 246.613333 57.6 222.72-51.626667-101.973333-148.48-70.4-197.12-49.92z\" fill=\"rgba(69.105,123.92999999999999,239.95499999999998,1)\" p-id=\"47376\"></path>\n </g>\n </svg>",
"color": "",
"orderValue": 8,
"isEnabled": 0,
"id": "BPP6MQB6M7EAB",
"codegens": [
{
"genKey": "default",
"genIntro": null,
"genItems": [
{
"itemKey": "content",
"itemIntro": null,
"itemTemplate": "import Foundation\r\n\r\n{{\r\n var today=new Date();\r\n var fullYear=today.getFullYear();\r\n var month=today.getMonth() + 1;\r\n var days=today.getDate();\r\n}}\r\n/*\r\n * @author : \r\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\r\n * @desc : {{=it.func.join(it.defName,it.comment,'-')}}\r\n */\r\nclass {{=it.func.camel(it.defKey, true)}} {\r\n // Properties\r\n {{~it.fields:field:index}}\r\n /// {{=it.func.join(field.defName, field.comment, \";\")}}\r\n var {{=it.func.camel(field.defKey, false)}}: {{=field.langDataType}}?\r\n {{~}}\r\n\r\n // Initializer\r\n init() {\r\n // Initialize properties if needed\r\n {{~it.fields:field:index}}\r\n self.{{=it.func.camel(field.defKey, false)}} = nil\r\n {{~}}\r\n }\r\n\r\n // Description\r\n func description() -> String {\r\n return \"\"\"\r\n {{=it.func.camel(it.defKey, true)}} {\r\n {{~it.fields:field:index}}\r\n {{=it.func.camel(field.defKey, false)}}: \\(String(describing: {{=it.func.camel(field.defKey, false)}}))\r\n {{~}}\r\n }\r\n \"\"\"\r\n }\r\n}\r\n{{\r\n var today=new Date();\r\n var fullYear=today.getFullYear();\r\n var month=today.getMonth() + 1;\r\n var days=today.getDate();\r\n}}\r\n"
}
]
}
]
}
],
"dataTypes": [
{
"id": "S_1KH33AC0D2V01",
"defKey": "CHAR",
"defName": "CHAR",
"icon": "<svg t=\"1714122052129\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6146\" width=\"200\" height=\"200\"><path d=\"M301.141333 584.874667l26.624 73.301333h51.157334l-111.786667-292.309333H212.736l-111.786667 292.309333h51.157334l26.624-73.301333h122.410666zM239.317333 417.408h1.621334l45.866666 128.128H193.066667l46.250666-128.128zM449.322667 360.106667v298.026666h43.392v-22.528c14.72 18.773333 36.010667 28.245333 63.872 28.245334 31.104 0 55.68-11.050667 73.685333-33.194667 16.341333-20.437333 24.533333-46.890667 24.533333-79.402667 0-30.848-8.064-56.618667-24.149333-77.354666-17.450667-22.101333-41.344-33.194667-71.637333-33.194667-24.832 0-45.824 11.605333-63.018667 34.858667V360.106667h-46.677333z m61.44 136.746666c9.813333-12.245333 22.272-18.389333 37.290666-18.389333 20.992 0 36.394667 6.912 46.250667 20.864 8.448 12.245333 12.672 29.568 12.672 51.968 0 22.656-3.968 40.234667-11.861333 52.821333-9.813333 14.72-25.002667 22.101333-45.44 22.101334-18.304 0-32.341333-7.253333-42.154667-21.717334-8.746667-12.842667-13.098667-29.781333-13.098667-50.773333v-3.285333c-0.042667-22.869333 5.418667-40.746667 16.341334-53.589334zM825.216 478.848c14.208 0 25.514667 3.285333 33.962667 9.813333 8.448 6.869333 14.037333 16.810667 16.768 29.909334h46.250666c-4.096-26.24-14.592-45.994667-31.530666-59.349334-16.341333-12.330667-38.229333-18.474667-65.493334-18.474666-33.024 0-58.794667 11.050667-77.354666 33.194666-17.194667 19.925333-25.770667 45.994667-25.770667 78.165334 0 33.066667 8.746667 59.648 26.197333 79.872 18.005333 21.248 43.392 31.914667 76.16 31.914666 27.264 0 49.237333-6.869333 65.877334-20.437333 16.938667-13.909333 27.818667-35.242667 32.768-63.872h-46.293334c-3.797333 30.848-21.162667 46.250667-51.968 46.250667-18.005333 0-31.530667-6.4-40.533333-19.2-9.557333-12.842667-14.336-31.104-14.336-54.912 0-23.168 4.949333-41.045333 14.762667-53.632 9.514667-12.842667 23.04-19.242667 40.533333-19.242667zM951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816z\" p-id=\"6147\"></path></svg>",
"color": null,
"requireLen": 1,
"requireScale": 0,
"lenMax": "0",
"often": "5",
"orderValue": 0,
"dbDataType": {
"XuguDB": "CHAR",
"DaMeng": "CHAR",
"KingBase": "CHAR",
"SQLite": "CHAR",
"Inceptor": "CHAR",
"Oracle": "CHAR",
"HighGo": "CHAR",
"GaussDB": "CHAR",
"OceanBase-Mysql": "CHAR",
"MaxCompute": "CHAR",
"Doris": "VARCHAR",
"ClickHouse": "FixedString",
"GBase 8A": "CHAR",
"StarRocks": "CHAR",
"ShenTong": "CHAR",
"Impala": "CHAR",
"OceanBase-Oracle": "CHAR",
"Hive": "CHAR",
"GBase 8S": "CHAR",
"DaMeng_1": "CHAR",
"DB2": "CHAR",
"Oracle_9": "CHAR",
"SQLServer": "CHAR",
"GBase 8s": "CHAR",
"PostgreSQL": "CHAR",
"MySQL": "CHAR"
},
"langDataType": {
"CSharp": "string",
"Rust": "String",
"CAndCpp": "std::string",
"PHP": "string",
"Swift": "String",
"testa": "char5",
"GoLang": "string",
"Python": "str",
"Java": "String",
"NodeJS": "string"
}
},
{
"id": "S_BPQI3EFQE64AB",
"defKey": "VARCHAR",
"defName": "VARCHAR",
"icon": "<svg t=\"1714122052129\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6146\" width=\"200\" height=\"200\"><path d=\"M301.141333 584.874667l26.624 73.301333h51.157334l-111.786667-292.309333H212.736l-111.786667 292.309333h51.157334l26.624-73.301333h122.410666zM239.317333 417.408h1.621334l45.866666 128.128H193.066667l46.250666-128.128zM449.322667 360.106667v298.026666h43.392v-22.528c14.72 18.773333 36.010667 28.245333 63.872 28.245334 31.104 0 55.68-11.050667 73.685333-33.194667 16.341333-20.437333 24.533333-46.890667 24.533333-79.402667 0-30.848-8.064-56.618667-24.149333-77.354666-17.450667-22.101333-41.344-33.194667-71.637333-33.194667-24.832 0-45.824 11.605333-63.018667 34.858667V360.106667h-46.677333z m61.44 136.746666c9.813333-12.245333 22.272-18.389333 37.290666-18.389333 20.992 0 36.394667 6.912 46.250667 20.864 8.448 12.245333 12.672 29.568 12.672 51.968 0 22.656-3.968 40.234667-11.861333 52.821333-9.813333 14.72-25.002667 22.101333-45.44 22.101334-18.304 0-32.341333-7.253333-42.154667-21.717334-8.746667-12.842667-13.098667-29.781333-13.098667-50.773333v-3.285333c-0.042667-22.869333 5.418667-40.746667 16.341334-53.589334zM825.216 478.848c14.208 0 25.514667 3.285333 33.962667 9.813333 8.448 6.869333 14.037333 16.810667 16.768 29.909334h46.250666c-4.096-26.24-14.592-45.994667-31.530666-59.349334-16.341333-12.330667-38.229333-18.474667-65.493334-18.474666-33.024 0-58.794667 11.050667-77.354666 33.194666-17.194667 19.925333-25.770667 45.994667-25.770667 78.165334 0 33.066667 8.746667 59.648 26.197333 79.872 18.005333 21.248 43.392 31.914667 76.16 31.914666 27.264 0 49.237333-6.869333 65.877334-20.437333 16.938667-13.909333 27.818667-35.242667 32.768-63.872h-46.293334c-3.797333 30.848-21.162667 46.250667-51.968 46.250667-18.005333 0-31.530667-6.4-40.533333-19.2-9.557333-12.842667-14.336-31.104-14.336-54.912 0-23.168 4.949333-41.045333 14.762667-53.632 9.514667-12.842667 23.04-19.242667 40.533333-19.242667zM951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816z\" p-id=\"6147\"></path></svg>",
"color": null,
"requireLen": 1,
"requireScale": 0,
"lenMax": "",
"often": "9",
"orderValue": 1,
"dbDataType": {
"XuguDB": "VARCHAR",
"DaMeng": "VARCHAR",
"KingBase": "VARCHAR",
"SQLite": "TEXT",
"Inceptor": "VARCHAR",
"Oracle": "VARCHAR2",
"HighGo": "VARCHAR",
"GaussDB": "VARCHAR2",
"OceanBase-Mysql": "VARCHAR",
"MaxCompute": "VARCHAR",
"Doris": "VARCHAR",
"ClickHouse": "String",
"GBase 8A": "VARCHAR",
"StarRocks": "VARCHAR",
"ShenTong": "VARCHAR",
"Impala": "VARCHAR",
"OceanBase-Oracle": "VARCHAR2",
"Hive": "VARCHAR",
"GBase 8S": "VARCHAR",
"DaMeng_1": "VARCHAR",
"DB2": "VARCHAR",
"Oracle_9": "VARCHAR2",
"SQLServer": "VARCHAR",
"GBase 8s": "VARCHAR",
"PostgreSQL": "VARCHAR",
"MySQL": "VARCHAR"
},
"langDataType": {
"CSharp": "string",
"Rust": "String",
"CAndCpp": "std::string",
"PHP": "string",
"Swift": "String",
"testa": "varchar",
"GoLang": "string",
"Python": "str",
"Java": "String",
"NodeJS": "string"
}
},
{
"id": "S_1KH3C7JJV2V02",
"defKey": "TINYINT",
"defName": "TINYINT",
"icon": "<svg t=\"1714122231093\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6544\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM466.474667 530.176c-35.2 24.234667-58.282667 42.666667-69.290667 55.296a117.034667 117.034667 0 0 0-29.994667 80.341333h210.474667v-43.562666h-148.736c6.741333-15.189333 25.472-32.938667 56.192-53.248 30.72-20.565333 51.541333-36.821333 62.549333-48.64 19.712-21.930667 29.568-45.738667 29.568-71.424 0-26.752-9.301333-48.64-27.904-65.493334-18.901333-16.938667-43.008-25.386667-72.277333-25.386666-32.426667 0-58.624 11.008-78.634667 32.938666-19.157333 20.565333-29.013333 47.744-29.568 81.578667h49.450667c0.810667-23.936 5.930667-41.813333 15.189333-53.674667 9.301333-12.714667 23.253333-19.072 41.813334-19.072 17.450667 0 30.592 4.010667 39.296 11.818667 8.746667 8.192 13.098667 20.437333 13.098666 36.821333 0 16.853333-6.613333 32.810667-19.84 47.744-9.258667 9.984-23.04 21.248-41.386666 33.962667zM730.410667 626.986667c-17.194667 0-31.146667-4.949333-41.856-14.848-11.562667-10.368-17.749333-25.429333-18.56-45.184h-50.304c2.517333 34.133333 14.336 60.032 35.498666 77.781333 19.157333 16.042667 44.373333 24.064 75.648 24.064 32.682667 0 59.349333-9.130667 79.914667-27.52 19.413333-17.749333 29.184-40.533333 29.184-68.437333 0-18.005333-5.077333-32.682667-15.232-43.946667-9.002667-10.752-22.656-18.858667-41.002667-24.490667 33.536-11.008 50.304-32.938667 50.304-65.962666 0-25.941333-9.173333-46.293333-27.477333-61.269334-18.346667-14.634667-43.008-21.930667-73.984-21.930666-30.122667 0-54.528 8.32-73.088 24.917333-20.010667 16.64-31.317333 40.32-33.792 71.04h48.597333c1.664-18.346667 7.594667-31.829333 17.749334-40.576 9.557333-8.746667 23.253333-13.141333 41.002666-13.141333 17.450667 0 30.549333 3.84 39.296 11.434666 8.192 7.637333 12.288 18.773333 12.288 33.450667 0 14.933333-4.522667 26.197333-13.525333 33.792-9.301333 7.637333-22.826667 11.434667-40.576 11.434667h-21.12v37.205333h21.12c19.712 0 34.517333 4.053333 44.373333 12.245333 10.410667 8.192 15.658667 20.864 15.658667 38.058667 0 14.122667-4.949333 26.069333-14.805333 35.925333-11.349333 10.581333-26.410667 15.957333-45.312 15.957334zM269.397333 665.728V358.272H237.653333l-53.546666 21.632v31.189333h32.469333v254.634667z\" p-id=\"6545\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": "0",
"often": "9",
"orderValue": 2,
"dbDataType": {
"XuguDB": "TINYINT",
"DaMeng": "TINYINT",
"KingBase": "TINYINT",
"SQLite": "TINYINT",
"Inceptor": "TINYINT",
"Oracle": "INTEGER",
"HighGo": "TINYINT",
"GaussDB": "TINYINT",
"OceanBase-Mysql": "TINYINT",
"MaxCompute": "TINYINT",
"Doris": "TINYINT",
"ClickHouse": "Int8",
"GBase 8A": "TINYINT",
"StarRocks": "TINYINT",
"ShenTong": "TINYINT",
"Impala": "TINYINT",
"OceanBase-Oracle": "INTEGER",
"Hive": "TINYINT",
"GBase 8S": "",
"DaMeng_1": "TINYINT",
"DB2": "SMALLINT",
"Oracle_9": "INTEGER",
"SQLServer": "TINYINT",
"GBase 8s": "TINYINT",
"PostgreSQL": "INT2",
"MySQL": "TINYINT"
},
"langDataType": {
"CSharp": "byte",
"Rust": "i8",
"CAndCpp": "int8_t",
"PHP": "integer",
"Swift": "Int8",
"testa": "tiniyint",
"GoLang": "int8",
"Python": "int",
"Java": "Byte",
"NodeJS": "number"
}
},
{
"id": "S_1K762TYDMP802",
"defKey": "SMALLINT",
"defName": "SMALLINT",
"icon": "<svg t=\"1714122231093\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6544\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM466.474667 530.176c-35.2 24.234667-58.282667 42.666667-69.290667 55.296a117.034667 117.034667 0 0 0-29.994667 80.341333h210.474667v-43.562666h-148.736c6.741333-15.189333 25.472-32.938667 56.192-53.248 30.72-20.565333 51.541333-36.821333 62.549333-48.64 19.712-21.930667 29.568-45.738667 29.568-71.424 0-26.752-9.301333-48.64-27.904-65.493334-18.901333-16.938667-43.008-25.386667-72.277333-25.386666-32.426667 0-58.624 11.008-78.634667 32.938666-19.157333 20.565333-29.013333 47.744-29.568 81.578667h49.450667c0.810667-23.936 5.930667-41.813333 15.189333-53.674667 9.301333-12.714667 23.253333-19.072 41.813334-19.072 17.450667 0 30.592 4.010667 39.296 11.818667 8.746667 8.192 13.098667 20.437333 13.098666 36.821333 0 16.853333-6.613333 32.810667-19.84 47.744-9.258667 9.984-23.04 21.248-41.386666 33.962667zM730.410667 626.986667c-17.194667 0-31.146667-4.949333-41.856-14.848-11.562667-10.368-17.749333-25.429333-18.56-45.184h-50.304c2.517333 34.133333 14.336 60.032 35.498666 77.781333 19.157333 16.042667 44.373333 24.064 75.648 24.064 32.682667 0 59.349333-9.130667 79.914667-27.52 19.413333-17.749333 29.184-40.533333 29.184-68.437333 0-18.005333-5.077333-32.682667-15.232-43.946667-9.002667-10.752-22.656-18.858667-41.002667-24.490667 33.536-11.008 50.304-32.938667 50.304-65.962666 0-25.941333-9.173333-46.293333-27.477333-61.269334-18.346667-14.634667-43.008-21.930667-73.984-21.930666-30.122667 0-54.528 8.32-73.088 24.917333-20.010667 16.64-31.317333 40.32-33.792 71.04h48.597333c1.664-18.346667 7.594667-31.829333 17.749334-40.576 9.557333-8.746667 23.253333-13.141333 41.002666-13.141333 17.450667 0 30.549333 3.84 39.296 11.434666 8.192 7.637333 12.288 18.773333 12.288 33.450667 0 14.933333-4.522667 26.197333-13.525333 33.792-9.301333 7.637333-22.826667 11.434667-40.576 11.434667h-21.12v37.205333h21.12c19.712 0 34.517333 4.053333 44.373333 12.245333 10.410667 8.192 15.658667 20.864 15.658667 38.058667 0 14.122667-4.949333 26.069333-14.805333 35.925333-11.349333 10.581333-26.410667 15.957333-45.312 15.957334zM269.397333 665.728V358.272H237.653333l-53.546666 21.632v31.189333h32.469333v254.634667z\" p-id=\"6545\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": null,
"often": "5",
"orderValue": 3,
"dbDataType": {
"XuguDB": "SMALLINT",
"DaMeng": "SMALLINT",
"KingBase": "SMALLINT",
"SQLite": "SMALLINT",
"Inceptor": "SMALLINT",
"Oracle": "INTEGER",
"HighGo": "SMALLINT",
"GaussDB": "SMALLINT",
"OceanBase-Mysql": "SMALLINT",
"MaxCompute": "SMALLINT",
"Doris": "SMALLINT",
"ClickHouse": "Int16",
"GBase 8A": "SMALLINT",
"StarRocks": "SMALLINT",
"ShenTong": "SMALLINT",
"Impala": "SMALLINT",
"OceanBase-Oracle": "INTEGER",
"Hive": "SMALLINT",
"GBase 8S": "SMALLINT",
"DaMeng_1": "SMALLINT",
"DB2": "SMALLINT",
"Oracle_9": "INTEGER",
"SQLServer": "SMALLINT",
"GBase 8s": "SMALLINT",
"PostgreSQL": "INT2",
"MySQL": "SMALLINT"
},
"langDataType": {
"CSharp": "short",
"Rust": "i16",
"CAndCpp": "int16_t",
"PHP": "integer",
"Swift": "Int16",
"testa": "smallint",
"GoLang": "int16",
"Python": "int",
"Java": "Short",
"NodeJS": "number"
}
},
{
"id": "S_1KH3CKM5V2V01",
"defKey": "MEDIUMINT",
"defName": "MEDIUMINT",
"icon": "<svg t=\"1714122231093\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6544\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM466.474667 530.176c-35.2 24.234667-58.282667 42.666667-69.290667 55.296a117.034667 117.034667 0 0 0-29.994667 80.341333h210.474667v-43.562666h-148.736c6.741333-15.189333 25.472-32.938667 56.192-53.248 30.72-20.565333 51.541333-36.821333 62.549333-48.64 19.712-21.930667 29.568-45.738667 29.568-71.424 0-26.752-9.301333-48.64-27.904-65.493334-18.901333-16.938667-43.008-25.386667-72.277333-25.386666-32.426667 0-58.624 11.008-78.634667 32.938666-19.157333 20.565333-29.013333 47.744-29.568 81.578667h49.450667c0.810667-23.936 5.930667-41.813333 15.189333-53.674667 9.301333-12.714667 23.253333-19.072 41.813334-19.072 17.450667 0 30.592 4.010667 39.296 11.818667 8.746667 8.192 13.098667 20.437333 13.098666 36.821333 0 16.853333-6.613333 32.810667-19.84 47.744-9.258667 9.984-23.04 21.248-41.386666 33.962667zM730.410667 626.986667c-17.194667 0-31.146667-4.949333-41.856-14.848-11.562667-10.368-17.749333-25.429333-18.56-45.184h-50.304c2.517333 34.133333 14.336 60.032 35.498666 77.781333 19.157333 16.042667 44.373333 24.064 75.648 24.064 32.682667 0 59.349333-9.130667 79.914667-27.52 19.413333-17.749333 29.184-40.533333 29.184-68.437333 0-18.005333-5.077333-32.682667-15.232-43.946667-9.002667-10.752-22.656-18.858667-41.002667-24.490667 33.536-11.008 50.304-32.938667 50.304-65.962666 0-25.941333-9.173333-46.293333-27.477333-61.269334-18.346667-14.634667-43.008-21.930667-73.984-21.930666-30.122667 0-54.528 8.32-73.088 24.917333-20.010667 16.64-31.317333 40.32-33.792 71.04h48.597333c1.664-18.346667 7.594667-31.829333 17.749334-40.576 9.557333-8.746667 23.253333-13.141333 41.002666-13.141333 17.450667 0 30.549333 3.84 39.296 11.434666 8.192 7.637333 12.288 18.773333 12.288 33.450667 0 14.933333-4.522667 26.197333-13.525333 33.792-9.301333 7.637333-22.826667 11.434667-40.576 11.434667h-21.12v37.205333h21.12c19.712 0 34.517333 4.053333 44.373333 12.245333 10.410667 8.192 15.658667 20.864 15.658667 38.058667 0 14.122667-4.949333 26.069333-14.805333 35.925333-11.349333 10.581333-26.410667 15.957333-45.312 15.957334zM269.397333 665.728V358.272H237.653333l-53.546666 21.632v31.189333h32.469333v254.634667z\" p-id=\"6545\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": "0",
"often": "5",
"orderValue": 4,
"dbDataType": {
"XuguDB": "",
"DaMeng": "INTEGER",
"KingBase": "",
"SQLite": "MEDIUMINT",
"Inceptor": "INT",
"Oracle": "INTEGER",
"HighGo": "",
"GaussDB": "MEDIUMINT",
"OceanBase-Mysql": "MEDIUMINT",
"MaxCompute": "INT",
"Doris": "",
"ClickHouse": "",
"GBase 8A": "",
"StarRocks": "",
"ShenTong": "INT",
"Impala": "",
"OceanBase-Oracle": "INTEGER",
"Hive": "",
"GBase 8S": "",
"DaMeng_1": "INTEGER",
"DB2": "INTEGER",
"Oracle_9": "INTEGER",
"SQLServer": "INT",
"PostgreSQL": "INT",
"MySQL": "MEDIUMINT"
},
"langDataType": {
"CSharp": "int",
"Rust": "i32",
"CAndCpp": "int32_t",
"PHP": "integer",
"Swift": "Int32",
"testa": "mediumint",
"GoLang": "int32",
"Python": "int",
"Java": "Integer",
"NodeJS": "number"
}
},
{
"id": "S_BPQI3JDIY64AC",
"defKey": "INT",
"defName": "INT",
"icon": "<svg t=\"1714122231093\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6544\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM466.474667 530.176c-35.2 24.234667-58.282667 42.666667-69.290667 55.296a117.034667 117.034667 0 0 0-29.994667 80.341333h210.474667v-43.562666h-148.736c6.741333-15.189333 25.472-32.938667 56.192-53.248 30.72-20.565333 51.541333-36.821333 62.549333-48.64 19.712-21.930667 29.568-45.738667 29.568-71.424 0-26.752-9.301333-48.64-27.904-65.493334-18.901333-16.938667-43.008-25.386667-72.277333-25.386666-32.426667 0-58.624 11.008-78.634667 32.938666-19.157333 20.565333-29.013333 47.744-29.568 81.578667h49.450667c0.810667-23.936 5.930667-41.813333 15.189333-53.674667 9.301333-12.714667 23.253333-19.072 41.813334-19.072 17.450667 0 30.592 4.010667 39.296 11.818667 8.746667 8.192 13.098667 20.437333 13.098666 36.821333 0 16.853333-6.613333 32.810667-19.84 47.744-9.258667 9.984-23.04 21.248-41.386666 33.962667zM730.410667 626.986667c-17.194667 0-31.146667-4.949333-41.856-14.848-11.562667-10.368-17.749333-25.429333-18.56-45.184h-50.304c2.517333 34.133333 14.336 60.032 35.498666 77.781333 19.157333 16.042667 44.373333 24.064 75.648 24.064 32.682667 0 59.349333-9.130667 79.914667-27.52 19.413333-17.749333 29.184-40.533333 29.184-68.437333 0-18.005333-5.077333-32.682667-15.232-43.946667-9.002667-10.752-22.656-18.858667-41.002667-24.490667 33.536-11.008 50.304-32.938667 50.304-65.962666 0-25.941333-9.173333-46.293333-27.477333-61.269334-18.346667-14.634667-43.008-21.930667-73.984-21.930666-30.122667 0-54.528 8.32-73.088 24.917333-20.010667 16.64-31.317333 40.32-33.792 71.04h48.597333c1.664-18.346667 7.594667-31.829333 17.749334-40.576 9.557333-8.746667 23.253333-13.141333 41.002666-13.141333 17.450667 0 30.549333 3.84 39.296 11.434666 8.192 7.637333 12.288 18.773333 12.288 33.450667 0 14.933333-4.522667 26.197333-13.525333 33.792-9.301333 7.637333-22.826667 11.434667-40.576 11.434667h-21.12v37.205333h21.12c19.712 0 34.517333 4.053333 44.373333 12.245333 10.410667 8.192 15.658667 20.864 15.658667 38.058667 0 14.122667-4.949333 26.069333-14.805333 35.925333-11.349333 10.581333-26.410667 15.957333-45.312 15.957334zM269.397333 665.728V358.272H237.653333l-53.546666 21.632v31.189333h32.469333v254.634667z\" p-id=\"6545\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": "",
"often": "9",
"orderValue": 5,
"dbDataType": {
"XuguDB": "INTEGER",
"DaMeng": "INTEGER",
"KingBase": "INTEGER",
"SQLite": "INTEGER",
"Inceptor": "INT",
"Oracle": "INTEGER",
"HighGo": "INTEGER",
"GaussDB": "INTEGER",
"OceanBase-Mysql": "INTEGER",
"MaxCompute": "INT",
"Doris": "INT",
"ClickHouse": "Int32",
"GBase 8A": "INT",
"StarRocks": "INT",
"ShenTong": "INT",
"Impala": "INT",
"OceanBase-Oracle": "INTEGER",
"Hive": "INT",
"GBase 8S": "INTEGER",
"DaMeng_1": "INTEGER",
"DB2": "INTEGER",
"Oracle_9": "INTEGER",
"SQLServer": "INT",
"GBase 8s": "INT",
"PostgreSQL": "INT4",
"MySQL": "INT"
},
"langDataType": {
"CSharp": "int",
"Rust": "i32",
"CAndCpp": "int",
"PHP": "int",
"Swift": "Int",
"testa": "int",
"GoLang": "int",
"Python": "int",
"Java": "Integer",
"NodeJS": "number"
}
},
{
"id": "S_1JY39V9QR0H01",
"defKey": "BIGINT",
"defName": "BIGINT",
"icon": "<svg t=\"1714122231093\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6544\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM466.474667 530.176c-35.2 24.234667-58.282667 42.666667-69.290667 55.296a117.034667 117.034667 0 0 0-29.994667 80.341333h210.474667v-43.562666h-148.736c6.741333-15.189333 25.472-32.938667 56.192-53.248 30.72-20.565333 51.541333-36.821333 62.549333-48.64 19.712-21.930667 29.568-45.738667 29.568-71.424 0-26.752-9.301333-48.64-27.904-65.493334-18.901333-16.938667-43.008-25.386667-72.277333-25.386666-32.426667 0-58.624 11.008-78.634667 32.938666-19.157333 20.565333-29.013333 47.744-29.568 81.578667h49.450667c0.810667-23.936 5.930667-41.813333 15.189333-53.674667 9.301333-12.714667 23.253333-19.072 41.813334-19.072 17.450667 0 30.592 4.010667 39.296 11.818667 8.746667 8.192 13.098667 20.437333 13.098666 36.821333 0 16.853333-6.613333 32.810667-19.84 47.744-9.258667 9.984-23.04 21.248-41.386666 33.962667zM730.410667 626.986667c-17.194667 0-31.146667-4.949333-41.856-14.848-11.562667-10.368-17.749333-25.429333-18.56-45.184h-50.304c2.517333 34.133333 14.336 60.032 35.498666 77.781333 19.157333 16.042667 44.373333 24.064 75.648 24.064 32.682667 0 59.349333-9.130667 79.914667-27.52 19.413333-17.749333 29.184-40.533333 29.184-68.437333 0-18.005333-5.077333-32.682667-15.232-43.946667-9.002667-10.752-22.656-18.858667-41.002667-24.490667 33.536-11.008 50.304-32.938667 50.304-65.962666 0-25.941333-9.173333-46.293333-27.477333-61.269334-18.346667-14.634667-43.008-21.930667-73.984-21.930666-30.122667 0-54.528 8.32-73.088 24.917333-20.010667 16.64-31.317333 40.32-33.792 71.04h48.597333c1.664-18.346667 7.594667-31.829333 17.749334-40.576 9.557333-8.746667 23.253333-13.141333 41.002666-13.141333 17.450667 0 30.549333 3.84 39.296 11.434666 8.192 7.637333 12.288 18.773333 12.288 33.450667 0 14.933333-4.522667 26.197333-13.525333 33.792-9.301333 7.637333-22.826667 11.434667-40.576 11.434667h-21.12v37.205333h21.12c19.712 0 34.517333 4.053333 44.373333 12.245333 10.410667 8.192 15.658667 20.864 15.658667 38.058667 0 14.122667-4.949333 26.069333-14.805333 35.925333-11.349333 10.581333-26.410667 15.957333-45.312 15.957334zM269.397333 665.728V358.272H237.653333l-53.546666 21.632v31.189333h32.469333v254.634667z\" p-id=\"6545\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": null,
"often": "9",
"orderValue": 6,
"dbDataType": {
"XuguDB": "BIGINT",
"DaMeng": "BIGINT",
"KingBase": "BIGINT",
"SQLite": "BIGHTINT",
"Inceptor": "BIGINT",
"Oracle": "INTEGER",
"HighGo": "BIGINT",
"GaussDB": "BIGINT",
"OceanBase-Mysql": "BIGINT",
"MaxCompute": "BIGINT",
"Doris": "BIGINT",
"ClickHouse": "Int64",
"GBase 8A": "BIGINT",
"StarRocks": "BIGINT",
"ShenTong": "BIGINT",
"Impala": "BIGINT",
"OceanBase-Oracle": "BIGINT",
"Hive": "BIGINT",
"GBase 8S": "BIGINT",
"DaMeng_1": "BIGINT",
"DB2": "BIGINT",
"Oracle_9": "INTEGER",
"SQLServer": "BIGINT",
"PostgreSQL": "INT8",
"MySQL": "BIGINT"
},
"langDataType": {
"CSharp": "long",
"Rust": "i64",
"CAndCpp": "int64_t",
"PHP": "integer",
"Swift": "Int64",
"testa": "b",
"GoLang": "int64",
"Python": "int",
"Java": "Long",
"NodeJS": "string"
}
},
{
"id": "S_1KH3CUG482V02",
"defKey": "FLOAT",
"defName": "FLOAT",
"icon": "<svg t=\"1714122147973\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6316\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816z\" p-id=\"6317\"></path><path d=\"M324.906667 634.24m-31.573334 0a31.573333 31.573333 0 1 0 63.146667 0 31.573333 31.573333 0 1 0-63.146667 0Z\" p-id=\"6318\"></path><path d=\"M487.808 530.176c-35.2 24.234667-58.282667 42.666667-69.290667 55.296a117.034667 117.034667 0 0 0-29.994666 80.341333h210.474666v-43.562666h-148.736c6.741333-15.189333 25.472-32.938667 56.192-53.248 30.72-20.565333 51.541333-36.821333 62.549334-48.64 19.712-21.930667 29.568-45.738667 29.568-71.424 0-26.752-9.301333-48.64-27.904-65.493334-18.901333-16.938667-43.008-25.386667-72.277334-25.386666-32.426667 0-58.624 11.008-78.634666 32.938666-19.157333 20.565333-29.013333 47.744-29.568 81.578667h49.450666c0.810667-23.936 5.930667-41.813333 15.189334-53.674667 9.301333-12.714667 23.253333-19.072 41.813333-19.072 17.450667 0 30.592 4.010667 39.296 11.818667 8.746667 8.192 13.098667 20.437333 13.098667 36.821333 0 16.853333-6.613333 32.810667-19.84 47.744-9.258667 9.984-23.04 21.248-41.386667 33.962667zM751.744 626.986667c-17.194667 0-31.146667-4.949333-41.856-14.848-11.562667-10.368-17.749333-25.429333-18.56-45.184h-50.304c2.517333 34.133333 14.336 60.032 35.498667 77.781333 19.157333 16.042667 44.373333 24.064 75.648 24.064 32.682667 0 59.349333-9.130667 79.914666-27.52 19.413333-17.749333 29.184-40.533333 29.184-68.437333 0-18.005333-5.077333-32.682667-15.232-43.946667-9.002667-10.752-22.656-18.858667-41.002666-24.490667 33.536-11.008 50.304-32.938667 50.304-65.962666 0-25.941333-9.173333-46.293333-27.477334-61.269334-18.346667-14.634667-43.008-21.930667-73.984-21.930666-30.122667 0-54.528 8.32-73.088 24.917333-20.010667 16.64-31.317333 40.32-33.792 71.04h48.597334c1.664-18.346667 7.594667-31.829333 17.749333-40.576 9.557333-8.746667 23.253333-13.141333 41.002667-13.141333 17.450667 0 30.549333 3.84 39.296 11.434666 8.192 7.637333 12.288 18.773333 12.288 33.450667 0 14.933333-4.522667 26.197333-13.525334 33.792-9.301333 7.637333-22.826667 11.434667-40.576 11.434667h-21.12v37.205333h21.12c19.712 0 34.517333 4.053333 44.373334 12.245333 10.410667 8.192 15.658667 20.864 15.658666 38.058667 0 14.122667-4.949333 26.069333-14.805333 35.925333-11.349333 10.581333-26.410667 15.957333-45.312 15.957334zM248.064 665.728V358.272H216.32l-53.546667 21.632v31.189333h32.469334v254.634667z\" p-id=\"6319\"></path></svg>",
"color": null,
"requireLen": 1,
"requireScale": 1,
"lenMax": "0",
"often": "5",
"orderValue": 7,
"dbDataType": {
"XuguDB": "FLOAT",
"DaMeng": "REAL",
"KingBase": "REAL",
"SQLite": "FLOAT",
"Inceptor": "FLOAT",
"Oracle": "FLOAT",
"HighGo": "REAL",
"GaussDB": "REAL",
"OceanBase-Mysql": "BIGINT",
"MaxCompute": "FLOAT",
"Doris": "",
"ClickHouse": "Float32",
"GBase 8A": "FLOAT",
"StarRocks": "FLOAT",
"ShenTong": "FLOAT",
"Impala": "REAL",
"OceanBase-Oracle": "FLOAT",
"Hive": "FLOAT",
"GBase 8S": "REAL",
"DaMeng_1": "REAL",
"DB2": "REAL",
"Oracle_9": "FLOAT",
"SQLServer": "REAL",
"PostgreSQL": "FLOAT4",
"MySQL": "FLOAT"
},
"langDataType": {
"CSharp": "float",
"Rust": "f32",
"CAndCpp": "float",
"PHP": "float",
"Swift": "Float",
"testa": "",
"GoLang": "float32",
"Python": "float",
"Java": "Float",
"NodeJS": "number"
}
},
{
"id": "S_BPQI3HBUQ64AC",
"defKey": "DOUBLE",
"defName": "DOUBLE",
"icon": "<svg t=\"1714122147973\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6316\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816z\" p-id=\"6317\"></path><path d=\"M324.906667 634.24m-31.573334 0a31.573333 31.573333 0 1 0 63.146667 0 31.573333 31.573333 0 1 0-63.146667 0Z\" p-id=\"6318\"></path><path d=\"M487.808 530.176c-35.2 24.234667-58.282667 42.666667-69.290667 55.296a117.034667 117.034667 0 0 0-29.994666 80.341333h210.474666v-43.562666h-148.736c6.741333-15.189333 25.472-32.938667 56.192-53.248 30.72-20.565333 51.541333-36.821333 62.549334-48.64 19.712-21.930667 29.568-45.738667 29.568-71.424 0-26.752-9.301333-48.64-27.904-65.493334-18.901333-16.938667-43.008-25.386667-72.277334-25.386666-32.426667 0-58.624 11.008-78.634666 32.938666-19.157333 20.565333-29.013333 47.744-29.568 81.578667h49.450666c0.810667-23.936 5.930667-41.813333 15.189334-53.674667 9.301333-12.714667 23.253333-19.072 41.813333-19.072 17.450667 0 30.592 4.010667 39.296 11.818667 8.746667 8.192 13.098667 20.437333 13.098667 36.821333 0 16.853333-6.613333 32.810667-19.84 47.744-9.258667 9.984-23.04 21.248-41.386667 33.962667zM751.744 626.986667c-17.194667 0-31.146667-4.949333-41.856-14.848-11.562667-10.368-17.749333-25.429333-18.56-45.184h-50.304c2.517333 34.133333 14.336 60.032 35.498667 77.781333 19.157333 16.042667 44.373333 24.064 75.648 24.064 32.682667 0 59.349333-9.130667 79.914666-27.52 19.413333-17.749333 29.184-40.533333 29.184-68.437333 0-18.005333-5.077333-32.682667-15.232-43.946667-9.002667-10.752-22.656-18.858667-41.002666-24.490667 33.536-11.008 50.304-32.938667 50.304-65.962666 0-25.941333-9.173333-46.293333-27.477334-61.269334-18.346667-14.634667-43.008-21.930667-73.984-21.930666-30.122667 0-54.528 8.32-73.088 24.917333-20.010667 16.64-31.317333 40.32-33.792 71.04h48.597334c1.664-18.346667 7.594667-31.829333 17.749333-40.576 9.557333-8.746667 23.253333-13.141333 41.002667-13.141333 17.450667 0 30.549333 3.84 39.296 11.434666 8.192 7.637333 12.288 18.773333 12.288 33.450667 0 14.933333-4.522667 26.197333-13.525334 33.792-9.301333 7.637333-22.826667 11.434667-40.576 11.434667h-21.12v37.205333h21.12c19.712 0 34.517333 4.053333 44.373334 12.245333 10.410667 8.192 15.658667 20.864 15.658666 38.058667 0 14.122667-4.949333 26.069333-14.805333 35.925333-11.349333 10.581333-26.410667 15.957333-45.312 15.957334zM248.064 665.728V358.272H216.32l-53.546667 21.632v31.189333h32.469334v254.634667z\" p-id=\"6319\"></path></svg>",
"color": null,
"requireLen": 1,
"requireScale": 1,
"lenMax": null,
"often": "5",
"orderValue": 8,
"dbDataType": {
"XuguDB": "DOUBLE",
"DaMeng": "DOUBLE",
"KingBase": "DOUBLE PRECISION",
"SQLite": "DOUBLE",
"Inceptor": "DOUBLE",
"Oracle": "BINARY_DOUBLE",
"HighGo": "DOUBLE PRECISION",
"GaussDB": "DOUBLE PRECISION",
"OceanBase-Mysql": "DOUBLE",
"MaxCompute": "DOUBLE",
"Doris": "DECIMAL",
"ClickHouse": "Float64",
"GBase 8A": "DOUBLE",
"StarRocks": "DOUBLE",
"ShenTong": "NUMERIC",
"Impala": "FLOAT",
"OceanBase-Oracle": "DOUBLE PRECISION",
"Hive": "DOUBLE",
"GBase 8S": "FLOAT",
"DaMeng_1": "DOUBLE",
"DB2": "DOUBLE",
"Oracle_9": "BINARY_DOUBLE",
"SQLServer": "FLOAT",
"PostgreSQL": "FLOAT8",
"MySQL": "DOUBLE"
},
"langDataType": {
"CSharp": "double",
"Rust": "f64",
"CAndCpp": "double",
"PHP": "float",
"Swift": "Double",
"testa": "",
"GoLang": "float64",
"Python": "float",
"Java": "Double",
"NodeJS": "number"
}
},
{
"id": "S_1KH3D5CQR2V01",
"defKey": "DECIMAL",
"defName": "DECIMAL",
"icon": "<svg t=\"1714122147973\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6316\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816z\" p-id=\"6317\"></path><path d=\"M324.906667 634.24m-31.573334 0a31.573333 31.573333 0 1 0 63.146667 0 31.573333 31.573333 0 1 0-63.146667 0Z\" p-id=\"6318\"></path><path d=\"M487.808 530.176c-35.2 24.234667-58.282667 42.666667-69.290667 55.296a117.034667 117.034667 0 0 0-29.994666 80.341333h210.474666v-43.562666h-148.736c6.741333-15.189333 25.472-32.938667 56.192-53.248 30.72-20.565333 51.541333-36.821333 62.549334-48.64 19.712-21.930667 29.568-45.738667 29.568-71.424 0-26.752-9.301333-48.64-27.904-65.493334-18.901333-16.938667-43.008-25.386667-72.277334-25.386666-32.426667 0-58.624 11.008-78.634666 32.938666-19.157333 20.565333-29.013333 47.744-29.568 81.578667h49.450666c0.810667-23.936 5.930667-41.813333 15.189334-53.674667 9.301333-12.714667 23.253333-19.072 41.813333-19.072 17.450667 0 30.592 4.010667 39.296 11.818667 8.746667 8.192 13.098667 20.437333 13.098667 36.821333 0 16.853333-6.613333 32.810667-19.84 47.744-9.258667 9.984-23.04 21.248-41.386667 33.962667zM751.744 626.986667c-17.194667 0-31.146667-4.949333-41.856-14.848-11.562667-10.368-17.749333-25.429333-18.56-45.184h-50.304c2.517333 34.133333 14.336 60.032 35.498667 77.781333 19.157333 16.042667 44.373333 24.064 75.648 24.064 32.682667 0 59.349333-9.130667 79.914666-27.52 19.413333-17.749333 29.184-40.533333 29.184-68.437333 0-18.005333-5.077333-32.682667-15.232-43.946667-9.002667-10.752-22.656-18.858667-41.002666-24.490667 33.536-11.008 50.304-32.938667 50.304-65.962666 0-25.941333-9.173333-46.293333-27.477334-61.269334-18.346667-14.634667-43.008-21.930667-73.984-21.930666-30.122667 0-54.528 8.32-73.088 24.917333-20.010667 16.64-31.317333 40.32-33.792 71.04h48.597334c1.664-18.346667 7.594667-31.829333 17.749333-40.576 9.557333-8.746667 23.253333-13.141333 41.002667-13.141333 17.450667 0 30.549333 3.84 39.296 11.434666 8.192 7.637333 12.288 18.773333 12.288 33.450667 0 14.933333-4.522667 26.197333-13.525334 33.792-9.301333 7.637333-22.826667 11.434667-40.576 11.434667h-21.12v37.205333h21.12c19.712 0 34.517333 4.053333 44.373334 12.245333 10.410667 8.192 15.658667 20.864 15.658666 38.058667 0 14.122667-4.949333 26.069333-14.805333 35.925333-11.349333 10.581333-26.410667 15.957333-45.312 15.957334zM248.064 665.728V358.272H216.32l-53.546667 21.632v31.189333h32.469334v254.634667z\" p-id=\"6319\"></path></svg>",
"color": null,
"requireLen": 1,
"requireScale": 1,
"lenMax": "0",
"often": "9",
"orderValue": 9,
"dbDataType": {
"XuguDB": "NUMERIC",
"DaMeng": "DECIMAL",
"KingBase": "NUMERIC",
"SQLite": "DECIMAL",
"Inceptor": "DECIMAL",
"Oracle": "DECIMAL",
"HighGo": "NUMERIC",
"GaussDB": "NUMERIC",
"OceanBase-Mysql": "DECIMAL",
"MaxCompute": "DECIMAL",
"Doris": "DECIMAL",
"ClickHouse": "Decimal",
"GBase 8A": "DOUBLE",
"StarRocks": "DECIMAL",
"ShenTong": "NUMERIC",
"Impala": "DECIMAL",
"OceanBase-Oracle": "DECIMAL",
"Hive": "DECIMAL",
"GBase 8S": "DECIMAL",
"DaMeng_1": "DECIMAL",
"DB2": "DECIMAL",
"Oracle_9": "DECIMAL",
"SQLServer": "DECIMAL",
"PostgreSQL": "DECIMAL",
"MySQL": "DECIMAL"
},
"langDataType": {
"CSharp": "decimal",
"Rust": "BigDecimal",
"CAndCpp": "",
"PHP": "float",
"Swift": "Decimal",
"testa": "",
"GoLang": "big.Float",
"Python": "decimal.Decimal",
"Java": "BigDecimal",
"NodeJS": "number"
}
},
{
"id": "S_1KH3E6H182V02",
"defKey": "TIME",
"defName": "TIME",
"icon": "<svg t=\"1714122260490\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6686\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM614.058667 575.146667v80.896a31.573333 31.573333 0 0 0 26.197333 30.848l49.792 26.368a32 32 0 0 0 29.994667-56.576l-41.984-22.229334v-59.306666a32 32 0 0 0-64 0zM329.642667 473.557333h111.232v64H329.642667zM329.642667 622.976h69.205333v64H329.642667z\" p-id=\"6687\"></path><path d=\"M340.437333 189.098667v27.349333H241.109333c-31.872 0-57.770667 25.898667-57.770666 57.770667v481.28c0 31.829333 25.898667 57.770667 57.770666 57.770666h190.890667v-64H247.338667V407.338667h529.322666v39.338666h64V274.176c0-31.829333-25.898667-57.770667-57.770666-57.770667h-128.981334v-27.306666h-64v27.349333H404.437333v-27.349333h-64z m249.429334 91.306666v19.669334h64v-19.669334h122.794666v62.933334H247.338667V280.405333H340.48v19.669334h64v-19.669334h185.386667z\" p-id=\"6688\"></path><path d=\"M457.258667 648.405333c0 105.344 85.717333 191.061333 191.061333 191.061334s191.061333-85.717333 191.061333-191.061334-85.717333-191.061333-191.061333-191.061333-191.061333 85.76-191.061333 191.061333z m318.08 0c0 70.058667-57.002667 127.061333-127.061334 127.061334s-127.061333-57.002667-127.061333-127.061334 57.002667-127.061333 127.061333-127.061333 127.061333 57.045333 127.061334 127.061333z\" p-id=\"6689\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": "0",
"often": "5",
"orderValue": 10,
"dbDataType": {
"XuguDB": "TIME",
"DaMeng": "TIME",
"KingBase": "TIME",
"SQLite": "TIME",
"Inceptor": "TIME",
"Oracle": "",
"HighGo": "TIME",
"GaussDB": "TIME",
"OceanBase-Mysql": "TIME",
"MaxCompute": "",
"Doris": "",
"ClickHouse": "",
"GBase 8A": "TIME",
"StarRocks": "",
"ShenTong": "TIME",
"Impala": "",
"OceanBase-Oracle": "DATE",
"Hive": "",
"GBase 8S": "",
"DaMeng_1": "TIME",
"DB2": "TIME",
"Oracle_9": "",
"SQLServer": "TIME",
"PostgreSQL": "TIME",
"MySQL": "TIME"
},
"langDataType": {
"CSharp": "TimeSpan",
"Rust": "NaiveTime",
"CAndCpp": "",
"PHP": "DateTime",
"Swift": "Date",
"testa": "",
"GoLang": "time.Duration",
"Python": "datetime.time",
"Java": "LocalTime",
"NodeJS": "string"
}
},
{
"id": "S_BPQIJ7OGY7YAC",
"defKey": "DATE",
"defName": "DATE",
"icon": "<svg t=\"1714122260490\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6686\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM614.058667 575.146667v80.896a31.573333 31.573333 0 0 0 26.197333 30.848l49.792 26.368a32 32 0 0 0 29.994667-56.576l-41.984-22.229334v-59.306666a32 32 0 0 0-64 0zM329.642667 473.557333h111.232v64H329.642667zM329.642667 622.976h69.205333v64H329.642667z\" p-id=\"6687\"></path><path d=\"M340.437333 189.098667v27.349333H241.109333c-31.872 0-57.770667 25.898667-57.770666 57.770667v481.28c0 31.829333 25.898667 57.770667 57.770666 57.770666h190.890667v-64H247.338667V407.338667h529.322666v39.338666h64V274.176c0-31.829333-25.898667-57.770667-57.770666-57.770667h-128.981334v-27.306666h-64v27.349333H404.437333v-27.349333h-64z m249.429334 91.306666v19.669334h64v-19.669334h122.794666v62.933334H247.338667V280.405333H340.48v19.669334h64v-19.669334h185.386667z\" p-id=\"6688\"></path><path d=\"M457.258667 648.405333c0 105.344 85.717333 191.061333 191.061333 191.061334s191.061333-85.717333 191.061333-191.061334-85.717333-191.061333-191.061333-191.061333-191.061333 85.76-191.061333 191.061333z m318.08 0c0 70.058667-57.002667 127.061333-127.061334 127.061334s-127.061333-57.002667-127.061333-127.061334 57.002667-127.061333 127.061333-127.061333 127.061333 57.045333 127.061334 127.061333z\" p-id=\"6689\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": null,
"often": "5",
"orderValue": 11,
"dbDataType": {
"XuguDB": "DATE",
"DaMeng": "DATE",
"KingBase": "DATE",
"SQLite": "DATE",
"Inceptor": "DATE",
"Oracle": "DATE",
"HighGo": "DATE",
"GaussDB": "DATE",
"OceanBase-Mysql": "DATE",
"MaxCompute": "DATE",
"Doris": "DATE",
"ClickHouse": "Date",
"GBase 8A": "DATE",
"StarRocks": "DATE",
"ShenTong": "DATE",
"Impala": "DATE",
"OceanBase-Oracle": "DATE",
"Hive": "DATE",
"GBase 8S": "DATE",
"DaMeng_1": "DATE",
"DB2": "DATE",
"Oracle_9": "DATE",
"SQLServer": "DATE",
"PostgreSQL": "DATE",
"MySQL": "DATE"
},
"langDataType": {
"CSharp": "DateTime",
"Rust": "chrono::NaiveDate",
"CAndCpp": "",
"PHP": "DateTime",
"Swift": "Date",
"testa": "",
"GoLang": "time.Time",
"Python": "datetime.date",
"Java": "LocalDate",
"NodeJS": "string"
}
},
{
"id": "S_1JY3EDEDV3801",
"defKey": "DATETIME",
"defName": "DATETIME",
"icon": "<svg t=\"1714122260490\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6686\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM614.058667 575.146667v80.896a31.573333 31.573333 0 0 0 26.197333 30.848l49.792 26.368a32 32 0 0 0 29.994667-56.576l-41.984-22.229334v-59.306666a32 32 0 0 0-64 0zM329.642667 473.557333h111.232v64H329.642667zM329.642667 622.976h69.205333v64H329.642667z\" p-id=\"6687\"></path><path d=\"M340.437333 189.098667v27.349333H241.109333c-31.872 0-57.770667 25.898667-57.770666 57.770667v481.28c0 31.829333 25.898667 57.770667 57.770666 57.770666h190.890667v-64H247.338667V407.338667h529.322666v39.338666h64V274.176c0-31.829333-25.898667-57.770667-57.770666-57.770667h-128.981334v-27.306666h-64v27.349333H404.437333v-27.349333h-64z m249.429334 91.306666v19.669334h64v-19.669334h122.794666v62.933334H247.338667V280.405333H340.48v19.669334h64v-19.669334h185.386667z\" p-id=\"6688\"></path><path d=\"M457.258667 648.405333c0 105.344 85.717333 191.061333 191.061333 191.061334s191.061333-85.717333 191.061333-191.061334-85.717333-191.061333-191.061333-191.061333-191.061333 85.76-191.061333 191.061333z m318.08 0c0 70.058667-57.002667 127.061333-127.061334 127.061334s-127.061333-57.002667-127.061333-127.061334 57.002667-127.061333 127.061333-127.061333 127.061333 57.045333 127.061334 127.061333z\" p-id=\"6689\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": null,
"often": "9",
"orderValue": 12,
"dbDataType": {
"XuguDB": "DATETIME",
"DaMeng": "DATETIME",
"KingBase": "DATETIME",
"SQLite": "DATETIME",
"Inceptor": "DATE",
"Oracle": "TIMESTAMP",
"HighGo": "TIMESTAMP",
"GaussDB": "DATETIME",
"OceanBase-Mysql": "DATETIME",
"MaxCompute": "DATETIME",
"Doris": "DATETIME",
"ClickHouse": "DateTime",
"GBase 8A": "",
"StarRocks": "DATETIME",
"ShenTong": "TIMESTAMP",
"Impala": "",
"OceanBase-Oracle": "TIMESTAMP",
"Hive": "TIMESTAMP",
"GBase 8S": "DATETIME",
"DaMeng_1": "DATETIME",
"DB2": "TIMESTAMP",
"Oracle_9": "TIMESTAMP",
"SQLServer": "DATETIME",
"PostgreSQL": "TIMESTAMP",
"MySQL": "DATETIME"
},
"langDataType": {
"CSharp": "DateTime",
"Rust": "chrono::NaiveDateTime",
"CAndCpp": "",
"PHP": "DateTime",
"Swift": "Date",
"testa": "",
"GoLang": "time.Time",
"Python": "datetime.datetime",
"Java": "LocalDateTime",
"NodeJS": "string"
}
},
{
"id": "S_1KH3EXFL02V02",
"defKey": "TINYTEXT",
"defName": "TINYTEXT",
"icon": "<svg t=\"1714122318840\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6886\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM560 255.018667h225.792v64h-225.792zM560 372.352h225.792v64h-225.792zM560 489.685333h225.792v64h-225.792zM228.437333 649.685333h567.082667v64H228.437333z\" p-id=\"6887\"></path><path d=\"M228.437333 767.018667h567.082667v64H228.437333zM227.157333 319.018667h89.301334V554.666667h64V319.018667h96.384v-64H227.157333z\" p-id=\"6888\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": "0",
"often": "1",
"orderValue": 13,
"dbDataType": {
"XuguDB": "CLOB",
"DaMeng": "TEXT",
"KingBase": "TEXT",
"SQLite": "INYTEXT",
"Inceptor": "STRING",
"Oracle": "CLOB",
"HighGo": "TEXT",
"GaussDB": "TEXT",
"OceanBase-Mysql": "TINYTEXT",
"MaxCompute": "STRING",
"Doris": "",
"ClickHouse": "TEXT",
"GBase 8A": "TEXT",
"StarRocks": "STRING",
"ShenTong": "TEXT",
"Impala": "STRING",
"OceanBase-Oracle": "CLOB",
"Hive": "STRING",
"GBase 8S": "TEXT",
"DaMeng_1": "TEXT",
"DB2": "CLOB",
"Oracle_9": "CLOB",
"SQLServer": "TEXT",
"PostgreSQL": "TEXT",
"MySQL": "TINYTEXT"
},
"langDataType": {
"CSharp": "string",
"Rust": "String",
"CAndCpp": "std::string",
"PHP": "string",
"Swift": "String",
"testa": "",
"GoLang": "string",
"Python": "str",
"Java": "String",
"NodeJS": "string"
}
},
{
"id": "S_1KH3F5LVM2V01",
"defKey": "MEDIUMTEXT",
"defName": "MEDIUMTEXT",
"icon": "<svg t=\"1714122318840\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6886\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM560 255.018667h225.792v64h-225.792zM560 372.352h225.792v64h-225.792zM560 489.685333h225.792v64h-225.792zM228.437333 649.685333h567.082667v64H228.437333z\" p-id=\"6887\"></path><path d=\"M228.437333 767.018667h567.082667v64H228.437333zM227.157333 319.018667h89.301334V554.666667h64V319.018667h96.384v-64H227.157333z\" p-id=\"6888\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": "0",
"often": "5",
"orderValue": 14,
"dbDataType": {
"XuguDB": "CLOB",
"DaMeng": "TEXT",
"KingBase": "TEXT",
"SQLite": "MEDIUMTEXT",
"Inceptor": "STRING",
"Oracle": "CLOB",
"HighGo": "TEXT",
"GaussDB": "TEXT",
"OceanBase-Mysql": "MEDIUMTEXT",
"MaxCompute": "STRING",
"Doris": "",
"ClickHouse": "TEXT",
"GBase 8A": "TEXT",
"StarRocks": "STRING",
"ShenTong": "TEXT",
"Impala": "STRING",
"OceanBase-Oracle": "CLOB",
"Hive": "STRING",
"GBase 8S": "TEXT",
"DaMeng_1": "TEXT",
"DB2": "CLOB",
"Oracle_9": "CLOB",
"SQLServer": "TEXT",
"PostgreSQL": "TEXT",
"MySQL": "MEDIUMTEXT"
},
"langDataType": {
"CSharp": "string",
"Rust": "String",
"CAndCpp": "std::string",
"PHP": "string",
"Swift": "String",
"testa": "",
"GoLang": "string",
"Python": "str",
"Java": "String",
"NodeJS": "string"
}
},
{
"id": "S_1K281U4GH3D02",
"defKey": "TEXT",
"defName": "TEXT",
"icon": "<svg t=\"1714122318840\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6886\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM560 255.018667h225.792v64h-225.792zM560 372.352h225.792v64h-225.792zM560 489.685333h225.792v64h-225.792zM228.437333 649.685333h567.082667v64H228.437333z\" p-id=\"6887\"></path><path d=\"M228.437333 767.018667h567.082667v64H228.437333zM227.157333 319.018667h89.301334V554.666667h64V319.018667h96.384v-64H227.157333z\" p-id=\"6888\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": null,
"often": "9",
"orderValue": 15,
"dbDataType": {
"XuguDB": "CLOB",
"DaMeng": "TEXT",
"KingBase": "TEXT",
"SQLite": "TEXT",
"Inceptor": "STRING",
"Oracle": "CLOB",
"HighGo": "TEXT",
"GaussDB": "TEXT",
"OceanBase-Mysql": "TEXT",
"MaxCompute": "STRING",
"Doris": "VARCHAR",
"ClickHouse": "TEXT",
"GBase 8A": "TEXT",
"StarRocks": "STRING",
"ShenTong": "TEXT",
"Impala": "STRING",
"OceanBase-Oracle": "CLOB",
"Hive": "STRING",
"GBase 8S": "TEXT",
"DaMeng_1": "TEXT",
"DB2": "CLOB",
"Oracle_9": "CLOB",
"SQLServer": "TEXT",
"PostgreSQL": "TEXT",
"MySQL": "TEXT"
},
"langDataType": {
"CSharp": "string",
"Rust": "String",
"CAndCpp": "std::string",
"PHP": "string",
"Swift": "String",
"testa": "",
"GoLang": "string",
"Python": "str",
"Java": "String",
"NodeJS": "string"
}
},
{
"id": "S_BPQI3LGVA64AC",
"defKey": "LONGTEXT",
"defName": "LONGTEXT",
"icon": "<svg t=\"1714122318840\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6886\" width=\"200\" height=\"200\"><path d=\"M951.978667 0H71.978667C32.298667 0 0 32.213333 0 71.850667V202.666667h64V71.850667c0-4.352 3.584-7.850667 7.978667-7.850667h880c4.437333 0 8.021333 3.498667 8.021333 7.850667V202.666667H1024V71.850667C1024 32.213333 991.701333 0 951.978667 0zM960 952.149333a7.936 7.936 0 0 1-8.021333 7.850667H71.978667a7.893333 7.893333 0 0 1-7.978667-7.850667V821.333333H0v130.816C0 991.786667 32.298667 1024 71.978667 1024h880c39.722667 0 72.021333-32.213333 72.021333-71.850667V821.333333h-64v130.816zM560 255.018667h225.792v64h-225.792zM560 372.352h225.792v64h-225.792zM560 489.685333h225.792v64h-225.792zM228.437333 649.685333h567.082667v64H228.437333z\" p-id=\"6887\"></path><path d=\"M228.437333 767.018667h567.082667v64H228.437333zM227.157333 319.018667h89.301334V554.666667h64V319.018667h96.384v-64H227.157333z\" p-id=\"6888\"></path></svg>",
"color": null,
"requireLen": 0,
"requireScale": 0,
"lenMax": "22",
"often": "5",
"orderValue": 16,
"dbDataType": {
"XuguDB": "CLOB",
"DaMeng": "TEXT",
"KingBase": "TEXT",
"SQLite": "LONGTEXT",
"Inceptor": "STRING",
"Oracle": "CLOB",
"HighGo": "TEXT",
"GaussDB": "TEXT",
"OceanBase-Mysql": "LONGTEXT",
"MaxCompute": "STRING",
"Doris": "VARCHAR",
"ClickHouse": "TEXT",
"GBase 8A": "TEXT",
"StarRocks": "STRING",
"ShenTong": "TEXT",
"Impala": "STRING",
"OceanBase-Oracle": "CLOB",
"Hive": "STRING",
"GBase 8S": "TEXT",
"DaMeng_1": "TEXT",
"DB2": "CLOB",
"Oracle_9": "CLOB",
"SQLServer": "TEXT",
"PostgreSQL": "TEXT",
"MySQL": "LONGTEXT"
},
"langDataType": {
"CSharp": "string",
"Rust": "String",
"CAndCpp": "std::string",
"PHP": "string",
"Swift": "String",
"testa": "",
"GoLang": "string",
"Python": "str",
"Java": "String",
"NodeJS": "string"
}
}
],
"opceTemplets": [
{
"opceKey": "MOP_BATCH_ADJUST",
"opceName": "批量调整",
"opceIntro": "",
"affectDdl": false,
"orderValue": 36,
"dataSample": null,
"messageTemplet": ""
},
{
"opceKey": "MOP_BATCH_UPDATE_DATATYPE",
"opceName": "批量更新数据类型",
"opceIntro": "",
"affectDdl": false,
"orderValue": 35,
"dataSample": null,
"messageTemplet": ""
},
{
"opceKey": "MOP_CATEGORY_CREATE",
"opceName": "目录创建",
"opceIntro": "",
"affectDdl": false,
"orderValue": 4,
"dataSample": "{\n \"ctId\": \"C0C9787E-7940-4CA0-9990-3208EC4CBFCD\",\n \"event\": \"MOP_CATEGORY_CREATE\",\n \"payload\": [\n {\n \"type\": \"peer\",\n \"to\": null,\n \"position\": null,\n \"data\": {\n \"id\": \"P0276.B01.3OJXVDG4HQAA\",\n \"defKey\": \"base\",\n \"defName\": \"基础信息\"\n },\n \"hierarchyType\": \"TREE\"\n }\n ],\n \"timestamp\": \"1715934520168\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:item}}{{\r\n var defKey = item.data.defKey;\r\n var defName = item.data.defName;\r\n}}{{=defName||defKey}}{{? defKey !== defName && defKey !== \"\"}}({{=defKey}}){{?}}\r\n{{~}}"
},
{
"opceKey": "MOP_CATEGORY_DELETE",
"opceName": "目录删除",
"opceIntro": "",
"affectDdl": false,
"orderValue": 6,
"dataSample": "{\n \"ctId\": \"1E36AB6E-54E4-4170-8279-FD4442E45192\",\n \"event\": \"MOP_CATEGORY_DELETE\",\n \"payload\": [\n {\n \"from\": \"P0303.B01.3OJF6U2AGIAA\",\n \"type\": \"peer\",\n \"position\": \"before\",\n \"data\": {\n \"id\": \"P0303.B01.3OJXVDG4HQAA\",\n \"parentId\": null,\n \"defKey\": \"course\",\n \"defName\": \"教学选课\",\n \"intro\": null,\n \"peerOrder\": null,\n \"nodeType\": \"category\"\n }\n }\n ],\n \"timestamp\": \"1715934701444\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:item}}{{\n var defKey = item.data.defKey;\n var defName = item.data.defName;\n}}{{=defName||defKey}}{{? defKey !== defName && defKey !== \"\"}}({{=defKey}}){{?}}\n{{~}}"
},
{
"opceKey": "MOP_CATEGORY_DRAG",
"opceName": "目录拖动",
"opceIntro": "",
"affectDdl": false,
"orderValue": 7,
"dataSample": "{\n \"ctId\": \"AD313434-6F0E-4C9C-8946-4D77E46DCD38\",\n \"event\": \"MOP_CATEGORY_DRAG\",\n \"payload\": [\n {\n \"pre\": {\n \"from\": \"P0303.B01.3OJRAFYMHQAA\",\n \"type\": \"peer\",\n \"position\": \"after\"\n },\n \"next\": {\n \"from\": \"P0303.B01.3OJXVDG4HQAA\",\n \"to\": \"P0303.B01.3OJF6U2AGIAA\",\n \"type\": \"peer\",\n \"position\": \"before\",\n \"data\": {\n \"id\": \"P0303.B01.3OJXVDG4HQAA\",\n \"parentId\": null,\n \"defKey\": \"course\",\n \"defName\": \"教学选课\",\n \"intro\": null,\n \"peerOrder\": null,\n \"nodeType\": \"category\"\n }\n },\n \"hierarchyType\": \"TREE\"\n }\n ],\n \"timestamp\": \"1715934650759\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:item}}{{\n var next = item.next;\n var defKey = next.data.defKey;\n var defName = next.data.defName;\n}}{{=defName||defKey}}{{? defKey !== defName && defKey !== \"\"}}({{=defKey}}){{?}}\n{{~}}"
},
{
"opceKey": "MOP_CATEGORY_UPDATE",
"opceName": "目录修改",
"opceIntro": "",
"affectDdl": false,
"orderValue": 5,
"dataSample": "{\n \"ctId\": \"9E7426B4-165A-4A85-BB4E-6295CF4A7D93\",\n \"event\": \"MOP_CATEGORY_UPDATE\",\n \"payload\": [\n {\n \"pre\": {\n \"id\": \"P0303.B01.3OJXVDG4HQAA\",\n \"from\": \"P0303.B01.3OJRAFYMHQAA\",\n \"type\": \"peer\",\n \"position\": \"after\",\n \"data\": {\n \"id\": \"P0303.B01.3OJXVDG4HQAA\",\n \"parentId\": null,\n \"defKey\": \"base\",\n \"defName\": \"基础信息\",\n \"intro\": null,\n \"peerOrder\": null,\n \"nodeType\": \"category\"\n }\n },\n \"next\": {\n \"id\": \"P0303.B01.3OJXVDG4HQAA\",\n \"from\": \"P0303.B01.3OJXVDG4HQAA\",\n \"to\": \"P0303.B01.3OJXVDG4HQAA\",\n \"type\": \"peer\",\n \"data\": {\n \"defKey\": \"course\",\n \"defName\": \"教学选课\"\n }\n }\n }\n ],\n \"timestamp\": \"1715934615044\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:item}}{{\n var preData = item.pre.data;\n var preDefKey = preData.defKey;\n var preDefName = preData.defName;\n var nextData = item.next.data;\n var nextDefKey = nextData.defKey;\n var nextDefName = nextData.defName;\n}}{{=nextDefName||nextDefKey}}{{? nextDefKey !== nextDefName && nextDefKey !== \"\"}}({{=nextDefKey}}){{?}} {{{? preDefKey !== nextDefKey}}代码:{{? preDefKey === \"\" || preDefKey === null}}<空>{{??}}{{=preDefKey}}{{?}} -> {{? nextDefKey === \"\" || nextDefKey === null}}<空>{{??}}{{=nextDefKey}}{{?}}; {{?}}{{? preDefName !== nextDefName}}名称:{{? preDefName === \"\" || preDefName === null}}<空>{{??}}{{=preDefName}}{{?}} -> {{? nextDefName === \"\" || nextDefName === null}}<空>{{??}}{{=nextDefName}}{{?}}{{?}}}\n{{~}}"
},
{
"opceKey": "MOP_DIAGRAM_BATCH_ADJUST",
"opceName": "关系图批量调整",
"opceIntro": "",
"affectDdl": false,
"orderValue": 38,
"dataSample": null,
"messageTemplet": ""
},
{
"opceKey": "MOP_DIAGRAM_CATEGORY_CHANGE",
"opceName": "关系图改目录",
"opceIntro": "",
"affectDdl": false,
"orderValue": 36,
"dataSample": " {\n \"ctId\": \"31834E9E-1727-4B6E-9438-C887A74EC6A2\",\n \"event\": \"MOP_DIAGRAM_CATEGORY_CHANGE\",\n \"payload\": [\n {\n \"hierarchyType\": \"TREE\",\n \"pre\": {\n \"data\": {\n \"defKey\": \"dd\",\n \"defName\": \"dd\"\n },\n \"id\": \"P0423.B01.V0DH493V4800\",\n \"from\": null,\n \"position\": null,\n \"type\": \"sub\",\n \"diagramType\": \"P\"\n },\n \"next\": {\n \"data\": {\n \"defKey\": \"dd\",\n \"defName\": \"dd\"\n },\n \"id\": \"P0423.B01.V0DH493V4800\",\n \"from\": null,\n \"to\": \"P0423.B01.V0021SND4800\",\n \"type\": \"sub\",\n \"diagramType\": \"P\"\n }\n }\n ],\n \"userName\": \"xf\"\n }",
"messageTemplet": "{{\n var payload = it.payload;\n}}{{~ payload:item}}{{=item.pre.data.defKey}}[{{=item.pre.data.defName}}]\n{{~}}"
},
{
"opceKey": "MOP_DIAGRAM_CREATE",
"opceName": "关系图创建",
"opceIntro": "",
"affectDdl": false,
"orderValue": 20,
"dataSample": "{\n \"ctId\": \"5C28E2FF-2DD3-45B6-A799-6814CF97F8F4\",\n \"event\": \"MOP_DIAGRAM_CREATE\",\n \"payload\": [\n {\n \"type\": \"sub\",\n \"to\": \"P0276.B01.BRPLUMHV4BUAC\",\n \"position\": null,\n \"data\": [\n {\n \"id\": \"P0276.B01.BRP47MFBMBEAD\",\n \"type\": \"L\",\n \"defKey\": \"CRSE_CORE\",\n \"defName\": \"教学选课逻辑模型图\",\n \"entityRelationRank\": \"F\"\n }\n ],\n \"hierarchyType\": \"TREE\"\n }\n ],\n \"timestamp\": \"1714011555428\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:item}}{{\n var data = item.data;\n}}{{~ data:item:index}}{{? item.type === \"C\"}}概念模型图{{?? item.type === \"L\"}}逻辑模型图{{?? item.type === \"P\"}}物理模型图{{?? item.type === \"F\"}}流程图{{?? item.type === \"M\"}}思维导图{{?}}: {{=item.defKey+((item.defKey!=item.defName&&`${item.defName}`)?`[${item.defName}]`:'')}}{{~}}\n{{~}}"
},
{
"opceKey": "MOP_DIAGRAM_DELETE",
"opceName": "关系图删除",
"opceIntro": "",
"affectDdl": false,
"orderValue": 22,
"dataSample": "{\r\n \"ctId\": \"1DE9AF8A-5C88-4B1E-BBC0-8DD20732B58F\",\r\n \"event\": \"MOP_DIAGRAM_DELETE\",\r\n \"payload\": [\r\n {\r\n \"from\": \"P0276.B01.BRP47MFBMBEAD\",\r\n \"type\": \"peer\",\r\n \"position\": \"before\",\r\n \"data\": {\r\n \"id\": \"P0276.B01.BRP47MFBMBEAF\",\r\n \"type\": \"P\",\r\n \"defKey\": \"CRSE_CORE\",\r\n \"defName\": \"教学选课逻辑模型\",\r\n \"intro\": \"\",\r\n \"entityRelationRank\": \"F\",\r\n \"mark\": null,\r\n \"props\": null,\r\n \"cellsData\": null,\r\n \"nodeType\": \"diagram\",\r\n \"draggable\": false\r\n }\r\n }\r\n ],\r\n \"timestamp\": \"1714011753005\",\r\n \"userName\": \"admin\",\r\n \"status\": \"SEND\",\r\n \"userId\": \"BREU3SAEM7AAB\"\r\n}",
"messageTemplet": "{{~it.payload:plRow}}{{\n var item = plRow.data;\n}}{{? item.type === \"C\"}}概念模型图{{?? item.type === \"L\"}}逻辑模型图{{?? item.type === \"P\"}}物理模型图{{?? item.type === \"F\"}}流程图{{?? item.type === \"M\"}}思维导图{{?}}: {{=item.defKey+((item.defKey!=item.defName&&`${item.defName}`)?`[${item.defName}]`:'')}}{{~}}"
},
{
"opceKey": "MOP_DIAGRAM_DRAG",
"opceName": "关系图拖动",
"opceIntro": "",
"affectDdl": false,
"orderValue": 23,
"dataSample": "{\r\n \"ctId\": \"8D7AC2E8-0B37-4562-8543-18725A1964D4\",\r\n \"event\": \"MOP_DIAGRAM_DRAG\",\r\n \"payload\": [\r\n {\r\n \"pre\": {\r\n \"from\": \"P0276.B01.BRP47MFBMBEAD\",\r\n \"type\": \"peer\",\r\n \"position\": \"after\"\r\n },\r\n \"next\": {\r\n \"from\": \"P0276.B01.BRP47MFBMBEAF\",\r\n \"to\": \"P0276.B01.BRP47MFBMBEAD\",\r\n \"type\": \"peer\",\r\n \"position\": \"before\",\r\n \"data\": {\r\n \"id\": \"P0276.B01.BRP47MFBMBEAF\",\r\n \"type\": \"P\",\r\n \"defKey\": \"CRSE_CORE\",\r\n \"defName\": \"教学选课逻辑模型\",\r\n \"intro\": null,\r\n \"entityRelationRank\": \"F\",\r\n \"mark\": null,\r\n \"props\": null,\r\n \"cellsData\": null,\r\n \"parentId\": \"P0276.B01.BRPLUMHV4BUAC\",\r\n \"nodeType\": \"diagram\",\r\n \"draggable\": false\r\n }\r\n },\r\n \"hierarchyType\": \"TREE\"\r\n }\r\n ],\r\n \"timestamp\": \"1714011579054\",\r\n \"userName\": \"admin\",\r\n \"status\": \"SEND\",\r\n \"userId\": \"BREU3SAEM7AAB\"\r\n}",
"messageTemplet": "{{~it.payload:plRow}}{{\n var item = plRow.next.data;\n}}{{? item.type === \"C\"}}概念模型图{{?? item.type === \"L\"}}逻辑模型图{{?? item.type === \"P\"}}物理模型图{{?? item.type === \"F\"}}流程图{{?? item.type === \"M\"}}思维导图{{?}}: {{=item.defKey+((item.defKey!=item.defName&&`${item.defName}`)?`[${item.defName}]`:'')}}{{~}}"
},
{
"opceKey": "MOP_DIAGRAM_ER_UPDATE",
"opceName": "ER关系图更新",
"opceIntro": "",
"affectDdl": false,
"orderValue": 31,
"dataSample": "{\r\n \"ctId\": \"44ECB8FA-A96F-4100-A469-A40147290272\",\r\n \"event\": \"MOP_DIAGRAM_ER_UPDATE\",\r\n \"payload\": [\r\n {\r\n \"diagramId\": \"P0423.B01.V09MAQMH4808\",\r\n \"defName\": \"jj\",\r\n \"defKey\": \"jj\",\r\n \"type\": \"P\",\r\n \"data\": [\r\n {\r\n \"batch\": true,\r\n \"data\": {\r\n \"key\": \"position\",\r\n \"prev\": {\r\n \"position\": {\r\n \"x\": -330,\r\n \"y\": -160\r\n }\r\n },\r\n \"id\": \"c804c0ab-e687-4ef3-9834-f58ef0062359\",\r\n \"next\": {\r\n \"position\": {\r\n \"x\": -260,\r\n \"y\": -250\r\n }\r\n }\r\n },\r\n \"event\": \"cell:change:position\",\r\n \"options\": {\r\n \"restrict\": null,\r\n \"deep\": true,\r\n \"ui\": true,\r\n \"translateBy\": \"c804c0ab-e687-4ef3-9834-f58ef0062359\",\r\n \"tx\": 10,\r\n \"ty\": 0\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n \"userName\": \"xf\"\r\n}",
"messageTemplet": "{{\n var payload = it.payload;\n}}{{~ payload:item}}{{=item.defKey+((item.defKey!=item.defName&&`${item.defName}`)?`[${item.defName}]`:'')}}\n{{~}}"
},
{
"opceKey": "MOP_DIAGRAM_FL_UPDATE",
"opceName": "流程图更新",
"opceIntro": "",
"affectDdl": false,
"orderValue": 33,
"dataSample": "{\r\n \"ctId\": \"3DE06969-3A2A-4717-9DE6-7CA47A733C59\",\r\n \"event\": \"MOP_DIAGRAM_FL_UPDATE\",\r\n \"payload\": [\r\n {\r\n \"diagramId\": \"P0423.B01.V0DH493V4802\",\r\n \"defName\": \"asadasd\",\r\n \"defKey\": \"asadasd\",\r\n \"type\": \"F\",\r\n \"data\": \"<mxfile host=\\\"127.0.0.1\\\" modified=\\\"2024-07-12T13:19:39.691Z\\\" agent=\\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36\\\" etag=\\\"aG8LpfyHDskOMh0bTT9W\\\" version=\\\"24.4.6\\\">\\n <diagram name=\\\"第 1 页\\\" id=\\\"CM3bgNeTxBWYJGJTJMQS\\\">\\n <mxGraphModel dx=\\\"1343\\\" dy=\\\"180\\\" grid=\\\"1\\\" gridSize=\\\"10\\\" guides=\\\"1\\\" tooltips=\\\"1\\\" connect=\\\"1\\\" arrows=\\\"1\\\" fold=\\\"1\\\" page=\\\"1\\\" pageScale=\\\"1\\\" pageWidth=\\\"827\\\" pageHeight=\\\"1169\\\" math=\\\"0\\\" shadow=\\\"0\\\">\\n <root>\\n <mxCell id=\\\"0\\\" />\\n <mxCell id=\\\"1\\\" parent=\\\"0\\\" />\\n <mxCell id=\\\"FyQWP7bfaN7IhE9FOqyi-1\\\" value=\\\"\\\" style=\\\"rounded=1;whiteSpace=wrap;html=1;\\\" vertex=\\\"1\\\" parent=\\\"1\\\">\\n <mxGeometry x=\\\"120\\\" y=\\\"50\\\" width=\\\"120\\\" height=\\\"60\\\" as=\\\"geometry\\\" />\\n </mxCell>\\n </root>\\n </mxGraphModel>\\n </diagram>\\n</mxfile>\\n\"\r\n }\r\n ],\r\n \"userName\": \"xf\"\r\n}",
"messageTemplet": "{{\n var payload = it.payload;\n}}{{~ payload:item}}{{=item.defKey+((item.defKey!=item.defName&&`${item.defName}`)?`[${item.defName}]`:'')}}\n{{~}}"
},
{
"opceKey": "MOP_DIAGRAM_MER_UPDATE",
"opceName": "Mermaid图更新",
"opceIntro": "",
"affectDdl": false,
"orderValue": 45,
"dataSample": null,
"messageTemplet": ""
},
{
"opceKey": "MOP_DIAGRAM_MM_SETTING",
"opceName": "思维导图设置",
"opceIntro": "",
"affectDdl": false,
"orderValue": 34,
"dataSample": "{\r\n \"__type\": \"SEND_EXEC\",\r\n \"ctId\": \"C8D737C2-3A97-466C-9A3B-ED1741023CE4\",\r\n \"event\": \"MOP_DIAGRAM_MM_SETTING\",\r\n \"payload\": {\r\n \"id\": \"P0423.B01.V0DH493V4803\",\r\n \"defName\": \"asd\",\r\n \"defKey\": \"asd\",\r\n \"type\": \"M\",\r\n \"data\": {\r\n \"theme\": \"shallowSea\"\r\n }\r\n },\r\n \"userName\": \"xf\"\r\n}",
"messageTemplet": "{{\n var item = it.payload;\n}}{{=item.defKey+((item.defKey!=item.defName&&`${item.defName}`)?`[${item.defName}]`:'')}}"
},
{
"opceKey": "MOP_DIAGRAM_MM_UPDATE",
"opceName": "思维导图更新",
"opceIntro": "",
"affectDdl": false,
"orderValue": 32,
"dataSample": "{\r\n \"ctId\": \"926DC815-6637-4339-AC47-FEF087B379EF\",\r\n \"event\": \"MOP_DIAGRAM_MM_UPDATE\",\r\n \"payload\": [\r\n {\r\n \"diagramId\": \"P0423.B01.V0DH493V4803\",\r\n \"defName\": \"asd\",\r\n \"defKey\": \"asd\",\r\n \"type\": \"M\",\r\n \"data\": [\r\n {\r\n \"action\": \"update\",\r\n \"oldData\": {\r\n \"isRoot\": true,\r\n \"data\": {\r\n \"text\": \"<p><span style=\\\"\\n color: #fff;\\n font-family: 微软雅黑, Microsoft YaHei;\\n font-size: 16px;\\n font-weight: bold;\\n font-style: normal;\\n text-decoration: none\\n \\\">根节点</span></p>\",\r\n \"uid\": \"F95EA6F6-9609-43F5-9B02-C43FDE61840D\",\r\n \"expand\": true,\r\n \"richText\": true,\r\n \"isActive\": false\r\n },\r\n \"children\": []\r\n },\r\n \"data\": {\r\n \"isRoot\": true,\r\n \"data\": {\r\n \"text\": \"<p><span style=\\\"\\n color: #fff;\\n font-family: 微软雅黑, Microsoft YaHei;\\n font-size: 16px;\\n font-weight: bold;\\n font-style: normal;\\n text-decoration: none\\n \\\">根节点</span></p>\",\r\n \"uid\": \"F95EA6F6-9609-43F5-9B02-C43FDE61840D\",\r\n \"expand\": true,\r\n \"richText\": true,\r\n \"isActive\": false\r\n },\r\n \"children\": [\r\n {\r\n \"isRoot\": false,\r\n \"data\": {\r\n \"text\": \"<p><span style=\\\"\\n color: #565656;\\n font-family: 微软雅黑, Microsoft YaHei;\\n font-size: 16px;\\n font-weight: noraml;\\n font-style: normal;\\n text-decoration: none\\n \\\">二级节点</span></p>\",\r\n \"uid\": \"4b9a0f83-97f8-46fe-8655-89f2ef0cb66a\",\r\n \"expand\": true,\r\n \"richText\": true,\r\n \"isActive\": false\r\n },\r\n \"children\": []\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n ],\r\n \"userName\": \"xf\"\r\n}",
"messageTemplet": "{{\n var payload = it.payload;\n}}{{~ payload:item}}{{=item.defKey}}[{{=item.defName}}]\n{{~}}"
},
{
"opceKey": "MOP_DIAGRAM_SETTING",
"opceName": "关系图设置",
"opceIntro": "",
"affectDdl": false,
"orderValue": 25,
"dataSample": "{\r\n \"ctId\": \"AD50E69E-FCC6-4F0F-B0FC-0B5E294218E6\",\r\n \"event\": \"MOP_DIAGRAM_SETTING\",\r\n \"payload\": {\r\n \"data\": {\r\n \"entityDisplay\": {\r\n \"showFields\": [\r\n \"defKey\",\r\n \"defName\"\r\n ],\r\n \"logicModelCompactShow\": \"N-名称/K-代码\",\r\n \"logicModelCompactDelimiter\": \",\"\r\n },\r\n \"entitySetting\": {\r\n \"titleText\": {\r\n \"customValue\": \"{defName}[{defKey}]\",\r\n \"optionValue\": \"C\"\r\n },\r\n \"titleStyle\": {\r\n \"body\": {\r\n \"fill\": \"rgb(183185189)\",\r\n \"fill-opacity\": 1\r\n },\r\n \"text\": {\r\n \"fill\": \"rgb(52, 124, 212)\",\r\n \"fontSize\": \"12\",\r\n \"font-style\": \"italic\",\r\n \"fontFamily\": \"Arial\",\r\n \"textAnchor\": \"middle\",\r\n \"font-weight\": \"bold\",\r\n \"text-decoration\": \"underline\",\r\n \"textVerticalAnchor\": \"middle\"\r\n }\r\n },\r\n \"contentStyle\": {\r\n \"body\": {\r\n \"fill\": \"rgb(183185189)\",\r\n \"fill-opacity\": 1\r\n },\r\n \"text\": {\r\n \"fill\": \"\",\r\n \"fontSize\": \"12\",\r\n \"font-style\": \"italic\",\r\n \"fontFamily\": \"Arial\",\r\n \"textAnchor\": \"middle\",\r\n \"font-weight\": \"bold\",\r\n \"text-decoration\": \"underline\",\r\n \"textVerticalAnchor\": \"middle\"\r\n }\r\n },\r\n \"primaryKeyStyle\": {\r\n \"body\": {\r\n \"fill\": \"rgb(183185189)\",\r\n \"fill-opacity\": 1\r\n },\r\n \"text\": {\r\n \"fill\": \"rgb(116, 212, 151)\",\r\n \"fontSize\": \"12\",\r\n \"font-style\": \"italic\",\r\n \"fontFamily\": \"Arial\",\r\n \"textAnchor\": \"middle\",\r\n \"font-weight\": \"bold\",\r\n \"text-decoration\": \"underline\",\r\n \"textVerticalAnchor\": \"middle\"\r\n }\r\n },\r\n \"foreignKeyStyle\": {\r\n \"body\": {\r\n \"fill\": \"rgb(183185189)\",\r\n \"fill-opacity\": 1\r\n },\r\n \"text\": {\r\n \"fill\": \"rgb(249, 186, 80)\",\r\n \"fontSize\": \"12\",\r\n \"font-style\": \"italic\",\r\n \"fontFamily\": \"Arial\",\r\n \"textAnchor\": \"middle\",\r\n \"font-weight\": \"bold\",\r\n \"text-decoration\": \"underline\",\r\n \"textVerticalAnchor\": \"middle\"\r\n }\r\n },\r\n \"fieldStyle\": {\r\n \"body\": {\r\n \"fill\": \"rgb(183185189)\",\r\n \"fill-opacity\": 1\r\n },\r\n \"text\": {\r\n \"fill\": \"\",\r\n \"fontSize\": \"12\",\r\n \"font-style\": \"italic\",\r\n \"fontFamily\": \"Arial\",\r\n \"textAnchor\": \"middle\",\r\n \"font-weight\": \"bold\",\r\n \"text-decoration\": \"underline\",\r\n \"textVerticalAnchor\": \"middle\"\r\n }\r\n },\r\n \"borderStyle\": {\r\n \"body\": {\r\n \"stroke\": \"rgb(255, 137, 175)\",\r\n \"stroke-width\": 4,\r\n \"stroke-opacity\": 0.78695652173913,\r\n \"stroke-dasharray\": \"0\"\r\n }\r\n },\r\n \"divideLineStyle\": {\r\n \"body\": {\r\n \"stroke\": \"rgb(154, 72, 199)\",\r\n \"stroke-width\": 3,\r\n \"stroke-opacity\": 0.78695652173913,\r\n \"stroke-dasharray\": \"0\"\r\n }\r\n }\r\n },\r\n \"shapeGeneral\": {\r\n \"body\": {\r\n \"fill\": \"rgb(51, 153, 108)\",\r\n \"stroke\": \"rgb(117, 190, 250)\",\r\n \"fill-opacity\": 1,\r\n \"stroke-width\": 3,\r\n \"stroke-opacity\": 0.78695652173913,\r\n \"stroke-dasharray\": \"0\"\r\n },\r\n \"text\": {\r\n \"fill\": \"rgb(116, 212, 151)\",\r\n \"fontSize\": \"12\",\r\n \"font-style\": \"italic\",\r\n \"fontFamily\": \"思源黑体,\",\r\n \"textAnchor\": \"middle\",\r\n \"font-weight\": \"bold\",\r\n \"text-decoration\": \"underline\",\r\n \"textVerticalAnchor\": \"middle\"\r\n }\r\n },\r\n \"linkLine\": {\r\n \"body\": {\r\n \"fill\": \"rgb(183185189)\",\r\n \"stroke\": \"rgb(211, 122, 17)\",\r\n \"fill-opacity\": 1,\r\n \"stroke-width\": 3,\r\n \"stroke-opacity\": 0.78695652173913,\r\n \"stroke-dasharray\": \"0\"\r\n },\r\n \"text\": {\r\n \"fill\": \"\",\r\n \"fontSize\": \"12\",\r\n \"font-style\": \"italic\",\r\n \"fontFamily\": \"思源黑体,\",\r\n \"textAnchor\": \"middle\",\r\n \"font-weight\": \"bold\",\r\n \"text-decoration\": \"underline\",\r\n \"textVerticalAnchor\": \"middle\"\r\n }\r\n },\r\n \"textbox\": {\r\n \"body\": {\r\n \"fill\": \"rgb(183185189)\",\r\n \"fill-opacity\": 1\r\n },\r\n \"text\": {\r\n \"fill\": \"rgb(183, 185, 189)\",\r\n \"fontSize\": \"12\",\r\n \"font-style\": \"italic\",\r\n \"fontFamily\": \"Arial\",\r\n \"textAnchor\": \"start\",\r\n \"font-weight\": \"bold\",\r\n \"text-decoration\": \"underline\",\r\n \"textVerticalAnchor\": \"middle\"\r\n }\r\n }\r\n },\r\n \"type\": \"P\",\r\n \"defName\": \"物理模型ER图\",\r\n \"defKey\": \"dorm.p\",\r\n \"id\": \"P0297.B01.3NK4O2KEGMAA\"\r\n },\r\n \"timestamp\": \"1715822848893\",\r\n \"userName\": \"admin\",\r\n \"status\": \"SEND\",\r\n \"userId\": \"BREU3SAEM7AAB\"\r\n}",
"messageTemplet": "{{\n var item = it.payload;\n}}{{=item.defKey+((item.defKey!=item.defName&&`${item.defName}`)?`[${item.defName}]`:'')}}"
},
{
"opceKey": "MOP_DIAGRAM_UPDATE",
"opceName": "关系图修改",
"opceIntro": "",
"affectDdl": false,
"orderValue": 21,
"dataSample": "{\r\n \"ctId\": \"8E23D910-802E-4DFA-B67D-3A583B7DDCB0\",\r\n \"event\": \"MOP_DIAGRAM_UPDATE\",\r\n \"payload\": [\r\n {\r\n \"hierarchyType\": \"TREE\",\r\n \"pre\": {\r\n \"id\": \"P0276.B01.BRP47MFBMBEAF\",\r\n \"from\": \"P0276.B01.BRP47MFBMBEAD\",\r\n \"type\": \"peer\",\r\n \"position\": \"before\",\r\n \"data\": {\r\n \"id\": \"P0276.B01.BRP47MFBMBEAF\",\r\n \"type\": \"L\",\r\n \"defKey\": \"CRSE_CORE\",\r\n \"defName\": \"教学选课逻辑模型图\",\r\n \"intro\": null,\r\n \"entityRelationRank\": \"F\",\r\n \"mark\": null,\r\n \"props\": null,\r\n \"cellsData\": null,\r\n \"parentId\": \"P0276.B01.BRPLUMHV4BUAC\",\r\n \"nodeType\": \"diagram\",\r\n \"draggable\": false\r\n }\r\n },\r\n \"next\": {\r\n \"id\": \"P0276.B01.BRP47MFBMBEAF\",\r\n \"from\": \"P0276.B01.BRP47MFBMBEAF\",\r\n \"to\": \"P0276.B01.BRPLUMHV4BUAC\",\r\n \"type\": \"sub\",\r\n \"data\": {\r\n \"defKey\": \"CRSE_CORE\",\r\n \"defName\": \"教学选课逻辑模型\",\r\n \"intro\": \"\",\r\n \"type\": \"L\"\r\n }\r\n }\r\n }\r\n ],\r\n \"timestamp\": \"1714011727376\",\r\n \"userName\": \"admin\",\r\n \"status\": \"SEND\",\r\n \"userId\": \"BREU3SAEM7AAB\"\r\n}",
"messageTemplet": "{{\n var payload = it.payload;\n}}{{~ payload:item}}{{\n var pre = item.pre;\n var next = item.next;\n var preDefKey = pre.data.defKey;\n var preDefName = pre.data.defName;\n var preIntro = pre.data.intro;\n var nextDefKey = next.data.defKey;\n var nextDefName = next.data.defName;\n var nextIntro = next.data.intro;\n}}{{? pre.data.type === \"C\"}}概念模型图{{?? pre.data.type === \"L\"}}逻辑模型图{{?? pre.data.type === \"P\"}}物理模型图{{?? pre.data.type === \"F\"}}流程图{{?? pre.data.type === \"M\"}}思维导图{{?}} {{=nextDefName}}{{? nextDefName !== nextDefKey && nextDefKey !== \"\"}}({{=nextDefKey}}){{?}} {{{? preDefKey !== nextDefKey}}代码:{{? preDefKey === \"\" || preDefKey === null}}<空>{{??}}{{=preDefKey}}{{?}} -> {{? nextDefKey === \"\" || nextDefKey === null}}<空>{{??}}{{=nextDefKey}}{{?}}; {{?}}{{? preDefName !== nextDefName}}名称:{{? preDefName === \"\" || preDefName === null}}<空>{{??}}{{=preDefName}}{{?}} -> {{? nextDefName === \"\" || nextDefName === null}}<空>{{??}}{{=nextDefName}}{{?}}; {{?}}{{? preIntro !== nextIntro}}注释:{{? preIntro === \"\" || preIntro === null}}<空>{{??}}{{=preIntro}}{{?}} -> {{? nextIntro === \"\" || nextIntro === null}}<空>{{??}}{{=nextIntro}}{{?}}{{?}}}\n{{~}}"
},
{
"opceKey": "MOP_ENTITY_BATCH_ADJUST",
"opceName": "实体批量调整",
"opceIntro": "",
"affectDdl": false,
"orderValue": 37,
"dataSample": null,
"messageTemplet": ""
},
{
"opceKey": "MOP_ENTITY_BATCH_REFERS",
"opceName": "实体批量引用设置",
"opceIntro": "",
"affectDdl": false,
"orderValue": 48,
"dataSample": null,
"messageTemplet": ""
},
{
"opceKey": "MOP_ENTITY_CATEGORY_CHANGE",
"opceName": "实体改目录",
"opceIntro": "",
"affectDdl": false,
"orderValue": 35,
"dataSample": " {\n \"ctId\": \"FB084840-D994-469D-AFB2-9B33E99B6304\",\n \"event\": \"MOP_ENTITY_CATEGORY_CHANGE\",\n \"payload\": [\n {\n \"hierarchyType\": \"TREE\",\n \"pre\": {\n \"data\": {\n \"defKey\": \"categories_257\",\n \"defName\": null\n },\n \"id\": \"P0423.B01.V0D6C02D480K\",\n \"from\": null,\n \"position\": null,\n \"type\": \"sub\",\n \"entityType\": \"P\"\n },\n \"next\": {\n \"data\": {\n \"defKey\": \"categories_257\",\n \"defName\": null\n },\n \"id\": \"P0423.B01.V0D6C02D480K\",\n \"from\": null,\n \"to\": \"P0423.B01.V0021SND4800\",\n \"type\": \"sub\",\n \"entityType\": \"P\"\n }\n }\n ],\n \"userName\": \"xf\"\n}\n",
"messageTemplet": ""
},
{
"opceKey": "MOP_ENTITY_CREATE",
"opceName": "实体创建",
"opceIntro": "",
"affectDdl": true,
"orderValue": 8,
"dataSample": "{\n \"ctId\": \"6A369559-729A-44D3-98EC-F30D1C67A403\",\n \"event\": \"MOP_ENTITY_CREATE\",\n \"payload\": [\n {\n \"type\": \"sub\",\n \"to\": \"P0303.B01.3OJXVDG4HQAB\",\n \"position\": null,\n \"data\": [\n {\n \"id\": \"P0276.B01.3OKNELPYGIAA\",\n \"defKey\": \"SIMS_CLASS\",\n \"defName\": \"班级\",\n \"intro\": \"这是班级物理模型\",\n \"type\": \"P\"\n }\n ],\n \"hierarchyType\": \"TREE\"\n }\n ],\n \"timestamp\": \"1715940400705\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:item}}{{\n var data = item.data;\n}}{{~ data:item}}{{? item.type === \"C\"}}概念模型{{?? item.type === \"L\"}}逻辑模型{{?? item.type === \"P\"}}物理模型{{?? item.type === \"V\"}}视图{{?}} {{=item.defName}}{{? item.defKey !== item.defName && item.defKey !== \"\"}}({{=item.defKey}}){{?}}{{~}}\n{{~}}"
},
{
"opceKey": "MOP_ENTITY_DELETE",
"opceName": "实体删除",
"opceIntro": "",
"affectDdl": true,
"orderValue": 10,
"dataSample": "{\n \"ctId\": \"7A6EA145-948A-4B3D-B4D1-DFF808435A57\",\n \"event\": \"MOP_ENTITY_DELETE\",\n \"payload\": [\n {\n \"from\": \"P0303.B01.3OKGS7IMEEAA\",\n \"type\": \"peer\",\n \"position\": \"after\",\n \"data\": {\n \"id\": \"P0303.B01.3OKNELPYGIAA\",\n \"type\": \"P\",\n \"defKey\": \"SIMS_TEACHER\",\n \"defName\": \"教师\",\n \"intro\": \"这是教师信息表\",\n \"schemaName\": null,\n \"props\": null,\n \"mark\": null,\n \"attr1\": null,\n \"attr2\": null,\n \"attr3\": null,\n \"attr4\": null,\n \"attr5\": null,\n \"attr6\": null,\n \"attr7\": null,\n \"attr8\": null,\n \"attr9\": null,\n \"attr10\": null,\n \"attr11\": null,\n \"attr12\": null,\n \"attr13\": null,\n \"attr14\": null,\n \"attr15\": null,\n \"attr16\": null,\n \"attr17\": null,\n \"attr18\": null,\n \"attr19\": null,\n \"attr20\": null,\n \"fields\": [\n\n ],\n \"correlations\": null,\n \"indexes\": [\n\n ],\n \"nodeType\": \"entity\",\n \"draggable\": true\n }\n }\n ],\n \"timestamp\": \"1715940550269\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{\n var payload = it.payload;\n}}{{~ payload:item}}{{? item.data.type === \"C\"}}概念模型{{?? item.data.type === \"L\"}}逻辑模型{{?? item.data.type === \"P\"}}物理模型{{?? item.data.type === \"V\"}}视图{{?}} {{=item.data.defName}}{{? item.data.defKey !== item.data.defName && item.data.defKey !== \"\"}}({{=item.data.defKey}}){{?}}\n{{~}}\n"
},
{
"opceKey": "MOP_ENTITY_DRAG",
"opceName": "实体拖动",
"opceIntro": "",
"affectDdl": false,
"orderValue": 11,
"dataSample": "{\n \"ctId\": \"253E79CD-A692-456E-A62B-47430A0461C8\",\n \"event\": \"MOP_ENTITY_DRAG\",\n \"payload\": [\n {\n \"pre\": {\n \"from\": \"P0303.B01.3OJXVDG4HQAB\",\n \"type\": \"sub\",\n \"position\": null\n },\n \"next\": {\n \"from\": \"P0303.B01.3OKNELPYGIAA\",\n \"to\": \"P0303.B01.3OJF6U2AGIAA\",\n \"type\": \"sub\",\n \"data\": {\n \"id\": \"P0303.B01.3OKNELPYGIAA\",\n \"type\": \"P\",\n \"defKey\": \"SIMS_TEACHER\",\n \"defName\": \"教师\",\n \"intro\": \"这是教师信息表\",\n \"schemaName\": null,\n \"props\": null,\n \"mark\": null,\n \"attr1\": null,\n \"attr2\": null,\n \"attr3\": null,\n \"attr4\": null,\n \"attr5\": null,\n \"attr6\": null,\n \"attr7\": null,\n \"attr8\": null,\n \"attr9\": null,\n \"attr10\": null,\n \"attr11\": null,\n \"attr12\": null,\n \"attr13\": null,\n \"attr14\": null,\n \"attr15\": null,\n \"attr16\": null,\n \"attr17\": null,\n \"attr18\": null,\n \"attr19\": null,\n \"attr20\": null,\n \"fields\": [\n\n ],\n \"correlations\": null,\n \"indexes\": [\n\n ],\n \"parentId\": \"P0303.B01.3OJXVDG4HQAB\",\n \"nodeType\": \"entity\",\n \"draggable\": true\n }\n },\n \"hierarchyType\": \"TREE\"\n }\n ],\n \"timestamp\": \"1715940524701\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:item}}{{\n var data = item.next.data;\n}}{{? data.type === \"C\"}}概念模型{{?? data.type === \"L\"}}逻辑模型{{?? data.type === \"P\"}}物理模型{{?? data.type === \"V\"}}视图{{?}} {{=data.defName}}{{? data.defKey !== data.defName && data.defKey !== \"\"}}({{=data.defKey}}){{?}}\n{{~}}"
},
{
"opceKey": "MOP_ENTITY_UPDATE",
"opceName": "实体修改",
"opceIntro": "",
"affectDdl": true,
"orderValue": 9,
"dataSample": "{\n \"ctId\": \"3CC4BF16-B557-4DBF-AFA5-CB37960F2D44\",\n \"event\": \"MOP_ENTITY_UPDATE\",\n \"payload\": [\n {\n \"hierarchyType\": \"TREE\",\n \"pre\": {\n \"id\": \"P0303.B01.3OKNELPYGIAA\",\n \"from\": \"P0303.B01.3OJXVDG4HQAB\",\n \"type\": \"sub\",\n \"position\": null,\n \"data\": {\n \"id\": \"P0303.B01.3OKNELPYGIAA\",\n \"type\": \"P\",\n \"defKey\": \"SIMS_CLASS\",\n \"defName\": \"班级\",\n \"intro\": \"这是班级物理模型\",\n \"schemaName\": null,\n \"props\": null,\n \"mark\": null,\n \"attr1\": null,\n \"attr2\": null,\n \"attr3\": null,\n \"attr4\": null,\n \"attr5\": null,\n \"attr6\": null,\n \"attr7\": null,\n \"attr8\": null,\n \"attr9\": null,\n \"attr10\": null,\n \"attr11\": null,\n \"attr12\": null,\n \"attr13\": null,\n \"attr14\": null,\n \"attr15\": null,\n \"attr16\": null,\n \"attr17\": null,\n \"attr18\": null,\n \"attr19\": null,\n \"attr20\": null,\n \"fields\": [\n\n ],\n \"correlations\": null,\n \"indexes\": [\n\n ],\n \"parentId\": \"P0303.B01.3OJXVDG4HQAB\",\n \"nodeType\": \"entity\",\n \"draggable\": true\n }\n },\n \"next\": {\n \"id\": \"P0303.B01.3OKNELPYGIAA\",\n \"from\": \"P0303.B01.3OKNELPYGIAA\",\n \"to\": \"P0303.B01.3OJXVDG4HQAB\",\n \"type\": \"sub\",\n \"data\": {\n \"defKey\": \"SIMS_TEACHER\",\n \"defName\": \"教师\",\n \"intro\": \"这是教师信息表\",\n \"type\": \"P\"\n }\n }\n }\n ],\n \"timestamp\": \"1715940486039\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{\n var payload = it.payload;\n}}{{~ payload:item}}{{\n var pre = item.pre;\n var next = item.next;\n var preDefKey = pre.data.defKey;\n var preDefName = pre.data.defName;\n var preIntro = pre.data.intro;\n var nextDefKey = next.data.defKey;\n var nextDefName = next.data.defName;\n var nextIntro = next.data.intro;\n}}{{? pre.data.type === \"C\"}}概念模型{{?? pre.data.type === \"L\"}}逻辑模型{{?? pre.data.type === \"P\"}}物理模型{{?? pre.data.type === \"V\"}}基本模型{{?}} {{=nextDefName}}{{? nextDefName !== nextDefKey && nextDefKey !== \"\"}}({{=nextDefKey}}){{?}} {{{? preDefKey !== nextDefKey}}代码:{{? preDefKey === \"\" || preDefKey === null}}<空>{{??}}{{=preDefKey}}{{?}} -> {{? nextDefKey === \"\" || nextDefKey === null}}<空>{{??}}{{=nextDefKey}}{{?}}; {{?}}{{? preDefName !== nextDefName}}名称:{{? preDefName === \"\" || preDefName === null}}<空>{{??}}{{=preDefName}}{{?}} -> {{? nextDefName === \"\" || nextDefName === null}}<空>{{??}}{{=nextDefName}}{{?}}; {{?}}{{? preIntro !== nextIntro}}注释:{{? preIntro === \"\" || preIntro === null}}<空>{{??}}{{=preIntro}}{{?}} -> {{? nextIntro === \"\" || nextIntro === null}}<空>{{??}}{{=nextIntro}}{{?}}{{?}}}\n{{~}}"
},
{
"opceKey": "MOP_FIELD_AUTO_MATCH_STND",
"opceName": "智能贯标",
"opceIntro": "模糊匹配/AI匹配/老项目匹配",
"affectDdl": false,
"orderValue": 43,
"dataSample": null,
"messageTemplet": ""
},
{
"opceKey": "MOP_FIELD_CREATE",
"opceName": "字段创建",
"opceIntro": "",
"affectDdl": true,
"orderValue": 12,
"dataSample": "{\n \"ctId\": \"07CFAA4D-3803-4AA3-AEF7-63698DF7C0D7\",\n \"event\": \"MOP_FIELD_CREATE\",\n \"payload\": [\n {\n \"entityId\": \"P0303.B01.3OTBMNNMEMAA\",\n \"entityType\": \"P\",\n \"defName\": \"学院信息\",\n \"defKey\": \"SMIS_COLLAGE\",\n \"step\": 0,\n \"data\": [\n {\n \"id\": \"P0276.B01.3OTBMNNMEMAB\",\n \"defKey\": \"COLLEGE_ID\",\n \"defName\": \"学院ID\",\n \"intro\": \"\",\n \"baseDataType\": \"\",\n \"bizDomainType\": \"\",\n \"dbDataType\": \"\",\n \"dataLen\": \"\",\n \"numScale\": \"\",\n \"primaryKey\": 0,\n \"notNull\": 0,\n \"autoIncrement\": 0,\n \"defaultValue\": \"\",\n \"stndDictId\": \"\",\n \"stndFieldId\": \"\",\n \"attr1\": \"\",\n \"attr2\": \"\",\n \"attr3\": \"\",\n \"attr4\": \"\",\n \"attr5\": \"\",\n \"attr6\": \"\",\n \"attr7\": \"\",\n \"attr8\": \"\",\n \"attr9\": \"\",\n \"attr10\": \"\",\n \"attr11\": \"\",\n \"attr12\": \"\",\n \"attr13\": \"\",\n \"attr14\": \"\",\n \"attr15\": \"\",\n \"attr16\": \"\",\n \"attr17\": \"\",\n \"attr18\": \"\",\n \"attr19\": \"\",\n \"attr20\": \"\",\n \"origin\": \"UI\"\n }\n ]\n }\n ],\n \"timestamp\": \"1716012632510\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:payload}}{{\n var data = payload.data;\n var entityType = payload.entityType;\n var entityDefKey = payload.defKey;\n var entityDefName = payload.defName;\n}}{{~ data:item}}{{\n var defKey = item.defKey;\n var defName = item.defName;\n}}{{? entityType === \"C\"}}概念模型{{?? entityType === \"L\"}}逻辑模型{{?? entityType === \"P\"}}物理模型{{?? entityType === \"V\"}}视图{{?}} {{=entityDefName}}{{? entityDefName !== entityDefKey && entityDefKey !== \"\"}}({{=entityDefKey}}){{?}} {{=defName}}{{? defName !== defKey && defKey !== \"\"}}({{=defKey}}){{?}}\n{{~}}\n{{~}}"
},
{
"opceKey": "MOP_FIELD_DELETE",
"opceName": "字段删除",
"opceIntro": "",
"affectDdl": true,
"orderValue": 14,
"dataSample": "{\n \"ctId\": \"98A98F07-2A55-42A0-9CA3-BB7F4AF1FC39\",\n \"event\": \"MOP_FIELD_DELETE\",\n \"payload\": [\n {\n \"entityId\": \"P0303.B01.3OTBMNNMEMAA\",\n \"entityType\": \"P\",\n \"defName\": \"学院信息\",\n \"defKey\": \"SMIS_COLLAGE\",\n \"data\": [\n {\n \"id\": \"P0276.B01.3OTBMNNMEMAC\",\n \"defKey\": \"COLLEGE_NAME\",\n \"defName\": \"学院名称\",\n \"intro\": \"\",\n \"baseDataType\": \"\",\n \"bizDomainType\": \"\",\n \"dbDataType\": \"\",\n \"dataLen\": \"\",\n \"numScale\": \"\",\n \"primaryKey\": 0,\n \"notNull\": 0,\n \"autoIncrement\": 0,\n \"defaultValue\": \"\",\n \"stndDictId\": \"\",\n \"stndFieldId\": \"\",\n \"attr1\": \"\",\n \"attr2\": \"\",\n \"attr3\": \"\",\n \"attr4\": \"\",\n \"attr5\": \"\",\n \"attr6\": \"\",\n \"attr7\": \"\",\n \"attr8\": \"\",\n \"attr9\": \"\",\n \"attr10\": \"\",\n \"attr11\": \"\",\n \"attr12\": \"\",\n \"attr13\": \"\",\n \"attr14\": \"\",\n \"attr15\": \"\",\n \"attr16\": \"\",\n \"attr17\": \"\",\n \"attr18\": \"\",\n \"attr19\": \"\",\n \"attr20\": \"\",\n \"origin\": \"UI\"\n }\n ]\n }\n ],\n \"timestamp\": \"1716012817205\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:payload}}{{\n var data = payload.data;\n var entityType = payload.entityType;\n var entityDefKey = payload.defKey;\n var entityDefName = payload.defName;\n}}{{~ data:item}}{{\n var defKey = item.defKey;\n var defName = item.defName;\n}}{{? entityType === \"C\"}}概念模型{{?? entityType === \"L\"}}逻辑模型{{?? entityType === \"P\"}}物理模型{{?? entityType === \"V\"}}视图{{?}} {{=entityDefName}}{{? entityDefName !== entityDefKey && entityDefKey !== \"\"}}({{=entityDefKey}}){{?}} {{=defName}}{{? defKey !== defName && defKey !== \"\"}}({{=defKey}}){{?}}\n{{~}}\n{{~}}"
},
{
"opceKey": "MOP_FIELD_DRAG",
"opceName": "字段拖动",
"opceIntro": "",
"affectDdl": false,
"orderValue": 15,
"dataSample": "{\n \"ctId\": \"910FD4C7-D38B-46D4-AE11-9D9B8AB49340\",\n \"event\": \"MOP_FIELD_DRAG\",\n \"payload\": [\n {\n \"entityId\": \"P0303.B01.3OTBMNNMEMAA\",\n \"entityType\": \"P\",\n \"defName\": \"学院信息\",\n \"defKey\": \"SMIS_COLLAGE\",\n \"step\": -1,\n \"data\": [\n {\n \"id\": \"P0276.B01.3OTBMNNMEMAC\",\n \"defKey\": \"COLLEGE_NAME\",\n \"defName\": \"学院名称\"\n }\n ]\n }\n ],\n \"timestamp\": \"1716012781175\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:payload}}{{\n var data = payload.data;\n var entityType = payload.entityType;\n var entityDefName = payload.defName;\n var entityDefKey = payload.defKey;\n}}{{~ data:item}}{{\n var defKey = item.defKey;\n var defName = item.defName;\n}}{{? entityType === \"C\"}}概念模型{{?? entityType === \"L\"}}逻辑模型{{?? entityType === \"P\"}}物理模型{{?? entityType === \"V\"}}视图{{?}} {{=entityDefName}}{{? entityDefName !== entityDefKey && entityDefKey !== \"\"}}({{=entityDefKey}}){{?}} {{=defName}}{{? defKey !== defName && defKey !== \"\"}}({{=defKey}}){{?}}\n{{~}}\n{{~}}"
},
{
"opceKey": "MOP_FIELD_UPDATE",
"opceName": "字段修改",
"opceIntro": "",
"affectDdl": true,
"orderValue": 13,
"dataSample": "{\n \"ctId\": \"AD94C1D4-47F3-47B0-AC4B-93C45103E49F\",\n \"event\": \"MOP_FIELD_UPDATE\",\n \"payload\": [\n {\n \"entityId\": \"P0303.B01.3OTBMNNMEMAA\",\n \"entityType\": \"P\",\n \"defName\": \"学院信息\",\n \"defKey\": \"SMIS_COLLAGE\",\n \"data\": [\n {\n \"id\": \"P0276.B01.3OTBMNNMEMAB\",\n \"defKey\": \"COLLEGE_ID\",\n \"defName\": \"学院ID\",\n \"updateKeys\": \"defName,\",\n \"pre\": {\n \"defName\": \"\"\n },\n \"next\": {\n \"defName\": \"学院ID\"\n }\n }\n ]\n }\n ],\n \"timestamp\": \"1716012694301\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{\n var keyMap = {\n \"defKey\":\"代码\",\n \"defName\":\"名称\",\n \"bizDomainType\":\"业务域类型\",\n \"baseDataType\":\"基本数据类型\",\n \"dbDataType\":\"数据库数据类型\",\n \"dataLen\":\"长度\",\n \"numScale\":\"小数\",\n \"primaryKey\":\"主键\",\n \"notNull\":\"非空\",\n \"autoIncrement\":\"自增\",\n \"intro\": \"备注\",\n \"stndComplianceLevel\":\"贯标等级\",\n \"stndComplianceType\":\"贯标要求\",\n \"stndDictId\":\"代码值标准\",\n \"stndDictKey\":\"代码值标准\",\n \"stndFieldId\":\"数据项标准\",\n \"stndFieldKey\":\"数据项标准\"\n \n };\n}}{{~it.payload:payload}}{{\n var data = payload.data;\n}}{{~ data:item}}{{\n var defKey = item.defKey;\n var defName = item.defName;\n var pre = item.pre;\n var next = item.next;\n var updateKeys = item.updateKeys.split(\",\").filter(key => key !== \"\");\n}}{{? payload.entityType === \"C\"}}概念模型{{?? payload.entityType === \"L\"}}逻辑模型{{?? payload.entityType === \"P\"}}物理模型{{?? payload.entityType === \"V\"}}视图{{?}} {{=payload.defName}}{{? payload.defName !== payload.defKey && payload.defKey !== \"\"}}({{=`${payload.defKey}.${defKey}`}}){{?}} {{? pre !== next}}{{{~updateKeys:updateKey}}{{=keyMap[updateKey]}}{{? pre[updateKey] === \"\" || pre[updateKey] === null}}<空>{{??}}{{=pre[updateKey]}}{{?}} -> {{? next[updateKey] === \"\" || next[updateKey] === null}}<空>{{??}}{{=next[updateKey]}}{{?}}{{=updateKeys.length > 1 ? \", \" : \"\"}}{{~}}}{{?}}\n{{~}}\n{{~}}"
},
{
"opceKey": "MOP_INDEX_CREATE",
"opceName": "索引创建",
"opceIntro": "",
"affectDdl": true,
"orderValue": 16,
"dataSample": "{\n \"ctId\": \"1E068338-1F1D-4B6F-A10A-14CB49908F46\",\n \"event\": \"MOP_INDEX_CREATE\",\n \"payload\": [\n {\n \"entityId\": \"P0303.B01.3OTBMNNMEMAA\",\n \"entityType\": \"P\",\n \"defName\": \"学院信息\",\n \"defKey\": \"SMIS_COLLEGE\",\n \"step\": 0,\n \"data\": [\n {\n \"id\": \"P0276.B01.3OTKZ4XQEMAA\",\n \"type\": \"\",\n \"defKey\": \"\",\n \"defName\": \"\",\n \"intro\": \"\",\n \"fields\": [\n\n ]\n }\n ]\n }\n ],\n \"timestamp\": \"1716015116520\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:payload}}{{\n var data = payload.data;\n var entityType = payload.entityType;\n var entityDefKey = payload.defKey;\n var entityDefName = payload.defName;\n}}{{~ data:item}}{{\n var defKey = item.defKey;\n var defName = item.defName;\n}}{{? entityType === \"C\"}}概念模型{{?? entityType === \"L\"}}逻辑模型{{?? payload.entityType === \"P\"}}物理模型{{?? payload.entityType === \"V\"}}视图{{?}} {{=entityDefName}}{{? entityDefName !== entityDefKey && entityDefKey !== \"\"}}({{=entityDefKey}}){{?}} {{? defName === \"\" || defName === undefined}}<空>{{??}}{{=defName}}{{?}}{{? defName !== defKey && defKey !== \"\"}}({{=defKey}}){{?}}\n{{~}}\n{{~}}"
},
{
"opceKey": "MOP_INDEX_DELETE",
"opceName": "索引删除",
"opceIntro": "",
"affectDdl": true,
"orderValue": 18,
"dataSample": "{\n \"ctId\": \"2D5B5945-301D-4AE8-8773-B59C7C9B7F61\",\n \"event\": \"MOP_INDEX_DELETE\",\n \"payload\": [\n {\n \"entityId\": \"P0303.B01.3OTBMNNMEMAA\",\n \"entityType\": \"P\",\n \"defName\": \"学院信息\",\n \"defKey\": \"SMIS_COLLEGE\",\n \"data\": [\n {\n \"id\": \"P0276.B01.3OTKZ4XQEMAD\",\n \"type\": \"\",\n \"defKey\": \"\",\n \"defName\": \"\",\n \"intro\": \"\",\n \"fields\": [\n\n ]\n },\n {\n \"id\": \"P0276.B01.3OTKZ4XQEMAA\",\n \"type\": \"UNIQUE\",\n \"defKey\": \"ID\",\n \"defName\": \"\",\n \"intro\": \"\",\n \"fields\": [\n {\n \"id\": \"P0276.B01.3OTKZ4XQEMAB\",\n \"fieldId\": \"P0303.B01.3OTBMNNMEMAB\",\n \"fieldDefKey\": \"COLLEGE_ID\",\n \"sortType\": \"DESC\"\n },\n {\n \"id\": \"P0276.B01.3OTKZ4XQEMAC\",\n \"fieldId\": \"P0303.B01.3OTJCCQYEMAA\",\n \"fieldDefKey\": \"COLLEGE_NAME\",\n \"sortType\": \"ASC\"\n }\n ]\n }\n ]\n }\n ],\n \"timestamp\": \"1716015395198\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:payload}}{{\n var data = payload.data;\n var entityType = payload.entityType;\n var entityDefKey = payload.defKey;\n var entityDefName = payload.defName;\n}}{{~ data:item}}{{\n var defKey = item.defKey;\n var defName = item.defName;\n}}{{? entityType === \"C\"}}概念模型{{?? entityType === \"L\"}}逻辑模型{{?? entityType === \"P\"}}物理模型{{?? entityType === \"V\"}}视图{{?}} {{=entityDefName}}{{? entityDefName !== entityDefKey && entityDefKey !== \"\"}}({{=entityDefKey}}){{?}} {{? defName === \"\" || defName === undefined}}<空>{{??}}{{=defName}}{{?}}{{? defKey !== defName && defKey !== \"\"}}({{=defKey}}){{?}}\n{{~}}\n{{~}}"
},
{
"opceKey": "MOP_INDEX_DRAG",
"opceName": "索引拖动",
"opceIntro": "",
"affectDdl": false,
"orderValue": 19,
"dataSample": "{\n \"ctId\": \"016735B0-1D2E-4055-9844-AFF07D9B1BD1\",\n \"event\": \"MOP_INDEX_DRAG\",\n \"payload\": [\n {\n \"entityId\": \"P0303.B01.3OTBMNNMEMAA\",\n \"entityType\": \"P\",\n \"defName\": \"学院信息\",\n \"defKey\": \"SMIS_COLLEGE\",\n \"step\": 1,\n \"data\": [\n {\n\n },\n {\n \"id\": \"P0276.B01.3OTKZ4XQEMAA\",\n \"defKey\": \"ID\",\n \"defName\": \"\"\n }\n ]\n }\n ],\n \"timestamp\": \"1716015360047\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{~it.payload:payload}}{{\n var data = payload.data;\n var entityType = payload.entityType;\n var entityDefName = payload.defName;\n var entityDefKey = payload.defKey;\n}}{{~ data:item}}{{\n var defKey = item.defKey;\n var defName = item.defName;\n}}{{? entityType === \"C\"}}概念模型{{?? entityType === \"L\"}}逻辑模型{{?? entityType === \"P\"}}物理模型{{?? entityType === \"V\"}}视图{{?}} {{=entityDefName}}{{? entityDefName !== entityDefKey && entityDefKey !== \"\"}}({{=entityDefKey}}){{?}} {{? defName === \"\" || defName === undefined}}<空>{{??}}{{=defName}}{{?}}{{? defName !== defKey && defKey !== \"\"}}({{=defKey}}){{?}}\n{{~}}\n{{~}}"
},
{
"opceKey": "MOP_INDEX_UPDATE",
"opceName": "索引修改",
"opceIntro": "",
"affectDdl": true,
"orderValue": 17,
"dataSample": "{\n \"ctId\": \"7380D5FD-8A45-4E01-AE00-3157356DE6CE\",\n \"event\": \"MOP_INDEX_UPDATE\",\n \"payload\": [\n {\n \"entityId\": \"P0303.B01.3OTBMNNMEMAA\",\n \"entityType\": \"P\",\n \"defName\": \"学院信息\",\n \"defKey\": \"SMIS_COLLEGE\",\n \"data\": [\n {\n \"id\": \"P0276.B01.3OTKZ4XQEMAA\",\n \"defKey\": \"ID\",\n \"defName\": \"\",\n \"updateKeys\": \"fields\",\n \"pre\": {\n \"fields\": [\n\n ]\n },\n \"next\": {\n \"fields\": [\n {\n \"id\": \"P0276.B01.3OTKZ4XQEMAB\",\n \"fieldId\": \"P0303.B01.3OTBMNNMEMAB\",\n \"fieldDefKey\": \"COLLEGE_ID\",\n \"sortType\": \"DESC\"\n },\n {\n \"id\": \"P0276.B01.3OTKZ4XQEMAC\",\n \"fieldId\": \"P0303.B01.3OTJCCQYEMAA\",\n \"fieldDefKey\": \"COLLEGE_NAME\",\n \"sortType\": \"ASC\"\n }\n ]\n }\n }\n ]\n }\n ],\n \"timestamp\": \"1716015317967\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n}",
"messageTemplet": "{{\n var keyMap = {\n \"fields\":\"字段\",\n \"type\":\"类型\",\n \"defKey\":\"代码\",\n \"defName\":\"名称\",\n \"intro\":\"注释\"\n };\n}}{{~it.payload:payload}}{{\n var data = payload.data;\n var entityDefKey = payload.defKey;\n var entityDefName = payload.defName;\n var entityType = payload.entityType;\n function convert(arr) {\n return arr.map(item => ({\n fieldDefKey: item.fieldDefKey,\n sortType: item.sortType\n }));\n }\n}}{{~ data:item}}{{\n var indexDefKey = item.defKey;\n var indexDefName = item.defName;\n var updateKeys = item.updateKeys.split(\",\").filter(key => key !== \"\");\n var pre = item.pre;\n var next = item.next;\n}}{{? entityType === \"C\"}}概念模型{{?? entityType === \"L\"}}逻辑模型{{?? entityType === \"P\"}}物理模型{{?? entityType === \"V\"}}视图{{?}} {{=entityDefName}}{{? entityDefName !== entityDefKey && entityDefKey !== \"\"}}({{=entityDefKey}}){{?}} {{? indexDefName === \"\" || indexDefName === undefined}}<空>{{??}}{{=indexDefName}}{{?}}{{? indexDefName !== indexDefKey && indexDefKey !== \"\"}}({{=indexDefKey}}){{?}} {{{~updateKeys:updateKey}}{{=keyMap[updateKey]}}{{? pre[updateKey].constructor === Array}}{{= JSON.stringify(pre[updateKey])}}{{??}}{{? pre[updateKey] === \"\" || pre[updateKey] === undefined}}<空>{{??}}{{=pre[updateKey]}}{{?}}{{?}} -> {{? next[updateKey].constructor === Array}}{{= JSON.stringify(convert(next[updateKey]))}}{{??}}{{? next[updateKey] === \"\" || next[updateKey] === undefined}}<空>{{??}}{{=next[updateKey]}}{{?}}{{?}}{{=updateKeys.length > 1 ? \", \" : \"\"}}{{~}}}\n{{~}}\n{{~}}"
},
{
"opceKey": "MOP_PROJECT_HOME_COVER_DIAGRAM",
"opceName": "设置项目封面",
"opceIntro": "",
"affectDdl": false,
"orderValue": 44,
"dataSample": null,
"messageTemplet": ""
},
{
"opceKey": "MOP_PROJECT_SETTING",
"opceName": "项目设置",
"opceIntro": "",
"affectDdl": true,
"orderValue": 24,
"dataSample": "{\n \"ctId\": \"9569E24B-0D21-4061-8B64-EF83BD4FB3EC\",\n \"event\": \"MOP_PROJECT_SETTING\",\n \"payload\": {\n \"physicEntityPresetFields\": [],\n \"physicEntityAttr\": {\n \"attr9\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 9\n },\n \"attr19\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 19\n },\n \"attr18\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 18\n },\n \"attr17\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 17\n },\n \"attr6\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 6\n },\n \"attr5\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 5\n },\n \"attr16\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 16\n },\n \"attr15\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 15\n },\n \"attr8\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 8\n },\n \"attr7\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 7\n },\n \"attr14\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 14\n },\n \"attr13\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 13\n },\n \"attr2\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 2\n },\n \"attr12\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 12\n },\n \"attr1\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 1\n },\n \"attr4\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 4\n },\n \"attr11\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 11\n },\n \"attr3\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 3\n },\n \"attr10\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 10\n },\n \"attr20\": {\n \"enable\": false,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": 20\n }\n },\n \"physicEntityFieldAttr\": {\n \"attr9\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr19\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr18\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr6\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr17\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr5\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr16\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr8\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr15\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr7\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr14\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr13\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr2\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr12\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr1\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr4\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr11\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr10\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr3\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n },\n \"attr20\": {\n \"enable\": null,\n \"title\": \"\",\n \"editType\": \"SingleText\",\n \"optionsData\": \"\",\n \"optionsFetcher\": \"\",\n \"defaultValue\": \"\",\n \"orderValue\": null,\n \"columnWidth\": null\n }\n },\n \"physicEntityHeader\": {\n \"defKey\": {\n \"enable\": 1,\n \"columnWidth\": 100,\n \"orderValue\": 1\n },\n \"defName\": {\n \"enable\": 1,\n \"columnWidth\": 100,\n \"orderValue\": 2\n },\n \"baseDataType\": {\n \"enable\": 1,\n \"columnWidth\": 200,\n \"orderValue\": 3\n },\n \"bizDomainType\": {\n \"enable\": 1,\n \"columnWidth\": 200,\n \"orderValue\": 4\n },\n \"dbDataType\": {\n \"enable\": 1,\n \"columnWidth\": 200,\n \"orderValue\": 5\n },\n \"dataLen\": {\n \"enable\": 1,\n \"columnWidth\": 100,\n \"orderValue\": 6\n },\n \"numScale\": {\n \"enable\": 1,\n \"columnWidth\": 100,\n \"orderValue\": 7\n },\n \"primaryKey\": {\n \"enable\": 1,\n \"columnWidth\": 100,\n \"orderValue\": 8\n },\n \"notNull\": {\n \"enable\": 1,\n \"columnWidth\": 100,\n \"orderValue\": 9\n },\n \"autoIncrement\": {\n \"enable\": 1,\n \"columnWidth\": 100,\n \"orderValue\": 10\n },\n \"defaultValue\": {\n \"enable\": 1,\n \"columnWidth\": 100,\n \"orderValue\": 11\n },\n \"stndDictKey\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 12\n },\n \"stndFieldKey\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 13\n },\n \"attr1\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 14\n },\n \"attr2\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 15\n },\n \"attr3\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 16\n },\n \"attr4\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 17\n },\n \"attr5\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 18\n },\n \"attr6\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 19\n },\n \"attr7\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 20\n },\n \"attr8\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 21\n },\n \"attr9\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 22\n },\n \"attr10\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 23\n },\n \"attr11\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 24\n },\n \"attr12\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 25\n },\n \"attr13\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 26\n },\n \"attr14\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 27\n },\n \"attr15\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 28\n },\n \"attr16\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 29\n },\n \"attr17\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 30\n },\n \"attr18\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 31\n },\n \"attr19\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 32\n },\n \"attr20\": {\n \"enable\": 0,\n \"columnWidth\": 100,\n \"orderValue\": 33\n }\n }\n },\n \"timestamp\": \"1715823563825\",\n \"userName\": \"admin\",\n \"status\": \"SEND\",\n \"userId\": \"BREU3SAEM7AAB\"\n }\n",
"messageTemplet": ""
}
]
},
"project": {
"branch": "master",
"dbDialect": "MySQL",
"schema": null,
"status": "EDIT",
"allow": "W",
"setting": {
"physicEntityPresetFields": [
{
"id": "BFB2ADBB-B1E9-4963-BD1F-FA9074EFE4AD",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "978353B6-4795-4D07-9651-B20E4ED64C33",
"defKey": "creator_id",
"defName": "创建人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "89526ADA-2D33-4B5C-BEE0-CCBD59E9DE33",
"defKey": "modifier_id",
"defName": "修改人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "71943ECA-7843-4486-A378-C9F98399799A",
"defKey": "create_time",
"defName": "创建时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "B1397FFC-5517-42FC-8FD2-6701507784CB",
"defKey": "modify_time",
"defName": "修改时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "C1643BB8-90A0-46DB-8BCD-95A630200AC3",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
}
],
"physicEntityAttr": {
"attr1": {
"enable": 0,
"title": "增强字段1",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 1
},
"attr2": {
"enable": 0,
"title": "增强字段2",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 2
},
"attr3": {
"enable": 0,
"title": "增强字段3",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 3
},
"attr4": {
"enable": 0,
"title": "增强字段4",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 4
},
"attr5": {
"enable": 0,
"title": "增强字段5",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 5
},
"attr6": {
"enable": 0,
"title": "增强字段6",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 6
},
"attr7": {
"enable": 0,
"title": "增强字段7",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 7
},
"attr8": {
"enable": 0,
"title": "增强字段8",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 8
},
"attr9": {
"enable": 0,
"title": "增强字段9",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 9
},
"attr10": {
"enable": 0,
"title": "增强字段10",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 10
},
"attr11": {
"enable": 0,
"title": "增强字段11",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 11
},
"attr12": {
"enable": 0,
"title": "增强字段12",
"editType": "MultiText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 12
},
"attr13": {
"enable": 0,
"title": "增强字段13",
"editType": "DecimalInput",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 13
},
"attr14": {
"enable": 0,
"title": "增强字段14",
"editType": "IntegerInput",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 14
},
"attr15": {
"enable": 0,
"title": "增强字段15",
"editType": "MultiTreeSelect",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 15
},
"attr16": {
"enable": 0,
"title": "增强字段16",
"editType": "SingleTreeSelect",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 16
},
"attr17": {
"enable": 0,
"title": "增强字段17",
"editType": "MultiCheckbox",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 17
},
"attr18": {
"enable": 0,
"title": "增强字段18",
"editType": "MultiDropdown",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 18
},
"attr19": {
"enable": 0,
"title": "增强字段19",
"editType": "SingleDropdown",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 19
},
"attr20": {
"enable": 0,
"title": "增强字段20",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 20
}
},
"physicEntityFieldAttr": {
"attr1": {
"enable": 0,
"title": "增强字段1",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 16,
"columnWidth": null
},
"attr2": {
"enable": 0,
"title": "增强字段2",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 17,
"columnWidth": null
},
"attr3": {
"enable": 0,
"title": "增强字段3",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 18,
"columnWidth": null
},
"attr4": {
"enable": 0,
"title": "增强字段4",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 19,
"columnWidth": null
},
"attr5": {
"enable": 0,
"title": "增强字段5",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 20,
"columnWidth": null
},
"attr6": {
"enable": 0,
"title": "增强字段6",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 21,
"columnWidth": null
},
"attr7": {
"enable": 0,
"title": "增强字段7",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 22,
"columnWidth": null
},
"attr8": {
"enable": 0,
"title": "增强字段8",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 23,
"columnWidth": null
},
"attr9": {
"enable": 0,
"title": "增强字段9",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 24,
"columnWidth": null
},
"attr10": {
"enable": 0,
"title": "增强字段10",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 25,
"columnWidth": null
},
"attr11": {
"enable": 0,
"title": "增强字段11",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 26,
"columnWidth": null
},
"attr12": {
"enable": 0,
"title": "增强字段12",
"editType": "MultiText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 27,
"columnWidth": null
},
"attr13": {
"enable": 0,
"title": "增强字段13",
"editType": "DecimalInput",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 28,
"columnWidth": null
},
"attr14": {
"enable": 0,
"title": "增强字段14",
"editType": "IntegerInput",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 29,
"columnWidth": null
},
"attr15": {
"enable": 0,
"title": "增强字段15",
"editType": "MultiTreeSelect",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 30,
"columnWidth": null
},
"attr16": {
"enable": 0,
"title": "增强字段16",
"editType": "SingleTreeSelect",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 31,
"columnWidth": null
},
"attr17": {
"enable": 0,
"title": "增强字段17",
"editType": "MultiCheckbox",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 32,
"columnWidth": null
},
"attr18": {
"enable": 0,
"title": "增强字段18",
"editType": "MultiDropdown",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 33,
"columnWidth": null
},
"attr19": {
"enable": 0,
"title": "增强字段19",
"editType": "SingleDropdown",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 34,
"columnWidth": null
},
"attr20": {
"enable": 0,
"title": "增强字段20",
"editType": "SingleText",
"optionsData": null,
"optionsFetcher": null,
"defaultValue": null,
"orderValue": 35,
"columnWidth": null
}
},
"physicEntityHeader": {
"defKey": {
"columnWidth": 210,
"enable": 1,
"orderValue": 1
},
"defName": {
"columnWidth": 230,
"enable": 1,
"orderValue": 2
},
"dbDataType": {
"columnWidth": 150,
"enable": 1,
"orderValue": 3
},
"dataLen": {
"columnWidth": 70,
"enable": 1,
"orderValue": 4
},
"numScale": {
"columnWidth": 80,
"enable": 1,
"orderValue": 5
},
"defaultValue": {
"columnWidth": 200,
"enable": 1,
"orderValue": 6
},
"intro": {
"columnWidth": 300,
"enable": 1,
"orderValue": 7
},
"stndDictId": {
"columnWidth": 230,
"enable": 1,
"orderValue": 8
},
"primaryKey": {
"columnWidth": 70,
"enable": 1,
"orderValue": 9
},
"autoIncrement": {
"columnWidth": 70,
"enable": 1,
"orderValue": 10
},
"notNull": {
"columnWidth": 80,
"enable": 1,
"orderValue": 11
},
"baseDataType": {
"columnWidth": 150,
"enable": 0,
"orderValue": 12
},
"bizDomainType": {
"columnWidth": 180,
"enable": 0,
"orderValue": 13
},
"stndFieldId": {
"columnWidth": 230,
"enable": 0,
"orderValue": 14
},
"stndComplianceType": {
"columnWidth": 120,
"enable": 0,
"orderValue": 15
},
"stndComplianceLevel": {
"columnWidth": 100,
"enable": 0,
"orderValue": 16
},
"fieldTier": {
"columnWidth": 100,
"enable": 0,
"orderValue": 17
},
"attr1": {
"columnWidth": 100,
"enable": 0,
"orderValue": 18
},
"attr2": {
"columnWidth": 100,
"enable": 0,
"orderValue": 19
},
"attr3": {
"columnWidth": 100,
"enable": 0,
"orderValue": 20
},
"attr4": {
"columnWidth": 100,
"enable": 0,
"orderValue": 21
},
"attr5": {
"columnWidth": 100,
"enable": 0,
"orderValue": 22
},
"attr6": {
"columnWidth": 100,
"enable": 0,
"orderValue": 23
},
"attr7": {
"columnWidth": 100,
"enable": 0,
"orderValue": 24
},
"attr8": {
"columnWidth": 100,
"enable": 0,
"orderValue": 25
},
"attr9": {
"columnWidth": 100,
"enable": 0,
"orderValue": 26
},
"attr10": {
"columnWidth": 100,
"enable": 0,
"orderValue": 27
},
"attr11": {
"columnWidth": 100,
"enable": 0,
"orderValue": 28
},
"attr12": {
"columnWidth": 100,
"enable": 0,
"orderValue": 29
},
"attr13": {
"columnWidth": 100,
"enable": 0,
"orderValue": 30
},
"attr14": {
"columnWidth": 100,
"enable": 0,
"orderValue": 31
},
"attr15": {
"columnWidth": 100,
"enable": 0,
"orderValue": 32
},
"attr16": {
"columnWidth": 100,
"enable": 0,
"orderValue": 33
},
"attr17": {
"columnWidth": 100,
"enable": 0,
"orderValue": 34
},
"attr18": {
"columnWidth": 100,
"enable": 0,
"orderValue": 35
},
"attr19": {
"columnWidth": 100,
"enable": 0,
"orderValue": 36
},
"attr20": {
"columnWidth": 100,
"enable": 0,
"orderValue": 37
}
},
"fieldTier": [
{
"defKey": "1",
"sortValue": 0,
"defName": "核心级",
"intro": "业务流程运转关键字段,缺失导致系统功能中断",
"frequency": "90%+ (极高)",
"illustrate": "order_id主键、user_id外键、amount金额、status状态值"
},
{
"defKey": "2",
"sortValue": 1,
"defName": "描述级",
"intro": "实体静态特征描述,支撑业务语义理解与可视化",
"frequency": "60%-80% (高)",
"illustrate": "product_name名称、category分类、delivery_address地址、color_code颜色编码"
},
{
"defKey": "3",
"sortValue": 2,
"defName": "扩展级",
"intro": "低频业务扩展属性,避免核心表频繁变更",
"frequency": "20%-50% (中)",
"illustrate": "config_optionsJSON配置、discounted_price冗余计算值"
},
{
"defKey": "4",
"sortValue": 3,
"defName": "技术级",
"intro": "系统运维元数据,与业务逻辑解耦",
"frequency": "<10% (低)",
"illustrate": "created_by创建人、created_at创建时间、etl_batch_idETL批次号、source_system数据源编码、debug_flag调试标记"
},
{
"defKey": "5",
"sortValue": 4,
"defName": "冗余级",
"intro": "容错与灾备设计,提升系统可靠性",
"frequency": "<5% (极低)",
"illustrate": " data_hash校验哈希、is_deleted软删除标记、backup_shard_id灾备分片ID"
}
],
"dictExportTpl": [
{
"defKey": "SQL-INSERT",
"defName": "SQL-INSERT",
"type": "SQL",
"content": "{{~ it.stndDict:dict}}\n--代码对象:{{=dict.defKey}}-{{=dict.defName}}\nINSERT INTO sys_dict(dict_key,dict_name) values('{{=dict.defKey}}','{{=dict.defName}}');\n{{~ dict.dictItems:item}}\nINSERT INTO sys_dict_item(dict_key,item_key,item_name,sort,parent_key,intro) values('{{=dict.defKey}}','{{=item.itemKey}}','{{=item.itemName}}','{{=item.sort||\"\"}}','{{=item.parentKey||\"\"}}','{{=item.intro||\"\"}}');\n{{~}}\n{{~}}"
}
]
}
},
"team": {
"dbEnvironments": [
{
"defKey": "dev",
"defName": "dev",
"dbDialect": "MySQL",
"dbConnections": [
{
"defName": "多合一",
"usedFor": "ALL_IN_ONE",
"dbDialectKey": "MySQL",
"driverFiles": "mysql-connector-j-8.3.0.jar",
"extParams": "schemaName=njzscloud_dispose",
"password": "ZXcgoJqNVcVNLolCmBKQ2A==",
"id": "FCD5D2AF-36D6-4ED7-AAC2-C5F5FB02332A",
"username": "xa1HO8gevrFNnWjL9Bsgnw==",
"driverClassName": "com.mysql.cj.jdbc.Driver",
"url": "YJUIuHpIHkliSUlYOgt+kiXh6RwxUNQlw+q6q7GdYJXXXCk8rRlwALc95LX3iaP0BgmWTaMRbzM6hxOhqoB+KhvvYpNrizn8z9zAI+f/XEu48YMFNr8If4qtwZf0hGwZu51kcEmQ3Jr2OindlF6c3cr3UejpfyLtNpwJdeWJNtYNwb3Z9eSe8k9yfNl4Y64p",
"envId": "572377B5-884E-47DB-835F-6326AB9561C7"
}
],
"id": "572377B5-884E-47DB-835F-6326AB9561C7"
}
],
"bizDomainTypes": []
},
"user": {
"modelingNavDisplay": {
"hierarchyType": "TREE",
"nodeType": "ALL",
"categoryNode": {
"optionValue": "N",
"customValue": "{defKey}-{defName}",
"orderValue": 0
},
"conceptEntityNode": {
"optionValue": "A",
"customValue": "{defKey}-{defName}",
"orderValue": 1
},
"logicEntityNode": {
"optionValue": "A",
"customValue": "{defKey}-{defName}",
"orderValue": 2
},
"physicEntityNode": {
"optionValue": "A",
"customValue": "{defKey}-{defName}",
"orderValue": 3
},
"diagramNode": {
"optionValue": "A",
"customValue": "{defKey}-{defName}",
"orderValue": 4
}
},
"freezeEntityHeader": {
"physicEntity": {
"defKey": {
"width": 210,
"fixed": "L"
},
"defName": {
"width": 166,
"fixed": "L"
},
"dbDataType": {
"width": 121,
"fixed": ""
},
"dataLen": {
"width": 70,
"fixed": ""
},
"numScale": {
"width": 80,
"fixed": ""
},
"defaultValue": {
"width": 128,
"fixed": ""
},
"intro": {
"width": 300,
"fixed": ""
},
"stndDictId": {
"width": 400,
"fixed": ""
},
"primaryKey": {
"width": 70,
"fixed": ""
},
"autoIncrement": {
"width": 70,
"fixed": ""
},
"notNull": {
"width": 80,
"fixed": "R"
}
}
}
}
},
"project": {
"avatar": "<svg t=\"1745274474022\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"9471\" width=\"200\" height=\"200\"><path d=\"M98.3 540.2l2.3 2.1 345.3 189.1c17.6 14.7 40.5 22.8 64.6 22.8 24.1 0 47-8.1 64.6-22.8l344.8-188.8 0.5-0.3 2.3-2.1c34.8-31.3 39-82 9.8-118-1.7-2.1-4.9-2.5-7-0.7l-33.7 27.4c-2.1 1.7-2.5 4.9-0.7 7 10.6 13 9.7 30.5-2.1 42.7L544.7 687.1l-0.5 0.3-2.3 2.1c-17 15.3-45.8 15.3-62.8 0l-2.3-2.1-344.7-188.8c-11.8-12.2-12.7-29.7-2.1-42.7 1.7-2.1 1.4-5.3-0.7-7l-33.7-27.4c-2.1-1.7-5.3-1.4-7 0.7-29.4 35.9-25.1 86.7 9.7 118z\" fill=\"#424242\" p-id=\"9472\"></path><path d=\"M925.5 608.3l-33.7 27.4c-2.1 1.7-2.5 4.9-0.7 7 10.6 13 9.7 30.5-2.1 42.7L544.7 873.9l-0.5 0.3-2.3 2.1c-17 15.3-45.8 15.3-62.8 0l-2.3-2.1-344.7-188.8c-11.8-12.2-12.7-29.7-2.1-42.7 1.7-2.1 1.4-5.3-0.7-7l-33.7-27.4c-2.1-1.7-5.3-1.4-7 0.7-29.2 35.9-25 86.7 9.8 118l2.3 2.1L446 918.2c17.6 14.7 40.5 22.8 64.6 22.8 24.1 0 47-8.1 64.6-22.8L920 729.4l0.5-0.3 2.3-2.1c34.8-31.3 39-82 9.8-118-1.8-2.1-4.9-2.5-7.1-0.7zM116.1 372.6l54.5 29.8 290.6 159.1c27.2 24.5 71.4 24.5 98.6 0l290.6-159.1 54.5-29.8c2.6-2.3 4.9-4.8 7-7.4 19.9-24.5 17.7-59.1-7-81.3L559.8 99.3c-27.2-24.5-71.4-24.5-98.6 0L116.1 283.9c-24.6 22.2-26.9 56.7-7 81.3 2.2 2.6 4.4 5.1 7 7.4z\" fill=\"#424242\" p-id=\"9473\"></path></svg>",
"name": "njzscloud-dispose",
"categories": [
{
"id": "F4D7984D-7AEE-412E-B037-71D50D37B7C6",
"defKey": "sys",
"defName": "系统",
"classifyType": "MANUAL",
"manualClassify": "[\"P\"]",
"bindSchema": 0,
"children": null,
"entityRefs": [
{
"refObjectId": "8783C5A5-46D1-4CDC-868F-B604C776D114",
"refObjectType": "E",
"orderValue": 1
},
{
"refObjectId": "C2604D57-F42D-4588-884D-E470DF238DD3",
"refObjectType": "E",
"orderValue": 2
},
{
"refObjectId": "FEF038F4-4AEE-4930-9C4B-E08E7F4F3A23",
"refObjectType": "P",
"orderValue": 3
},
{
"refObjectId": "0CE38F31-EFD9-43A6-9BA5-3E13696C8444",
"refObjectType": "E",
"orderValue": 4
},
{
"refObjectId": "18C34285-97B3-48BD-BF1C-80FFD204878F",
"refObjectType": "E",
"orderValue": 5
},
{
"refObjectId": "CA27E812-84DF-415B-A517-D8EE72A5851F",
"refObjectType": "E",
"orderValue": 6
},
{
"refObjectId": "66210A03-E5D3-4AE3-9DF5-0A5FF1B55A2B",
"refObjectType": "E",
"orderValue": 7
},
{
"refObjectId": "298B913C-A7EC-42CF-B869-6F8F3EEA5CEB",
"refObjectType": "E",
"orderValue": 8
},
{
"refObjectId": "9B28F97D-A220-48BA-B256-99952BD84550",
"refObjectType": "E",
"orderValue": 9
},
{
"refObjectId": "1F8CC750-13F7-406D-9667-C328491C1A6E",
"refObjectType": "E",
"orderValue": 10
},
{
"refObjectId": "778D9EC8-362D-438D-8522-7DC1A9C4D55F",
"refObjectType": "E",
"orderValue": 11
},
{
"refObjectId": "A0E6ACDD-B2DA-478D-B98F-ECEF0B624979",
"refObjectType": "E",
"orderValue": 12
},
{
"refObjectId": "4C319989-B031-4A47-872B-632383A686EE",
"refObjectType": "E",
"orderValue": 13
},
{
"refObjectId": "C6C96F4E-DDF2-4F8E-ABE9-3DFA6BE487C5",
"refObjectType": "E",
"orderValue": 14
},
{
"refObjectId": "6AE16DDA-CDCA-4E66-80B5-775ACF4B124E",
"refObjectType": "E",
"orderValue": 15
},
{
"refObjectId": "457D3BF0-A5A6-4636-A83E-3903ACD2C4A2",
"refObjectType": "E",
"orderValue": 16
},
{
"refObjectId": "4DB0E9C1-05E9-47ED-A7AA-6BC7E87856D7",
"refObjectType": "E",
"orderValue": 17
},
{
"refObjectId": "96FF7EC9-5753-46BC-AE85-E2BDFEE6E043",
"refObjectType": "E",
"orderValue": 18
},
{
"refObjectId": "B724EF27-B827-4067-8F8F-43FD73F9DE24",
"refObjectType": "E",
"orderValue": 19
},
{
"refObjectId": "BEC9C790-0D4F-477F-9F31-8A9F41A4977D",
"refObjectType": "E",
"orderValue": 20
},
{
"refObjectId": "7F405312-ACDB-41FB-A8E0-6BD9CECA52D3",
"refObjectType": "P",
"orderValue": 21
},
{
"refObjectId": "9433E723-2A22-4004-8EEC-EA148772C5D4",
"refObjectType": "P",
"orderValue": 22
}
],
"diagramRefs": [],
"peerOrder": 1
},
{
"id": "C2ED7A76-B66C-4323-996C-0EB696D22C68",
"defKey": "goods",
"defName": "产品",
"classifyType": "MANUAL",
"manualClassify": "[\"P\"]",
"bindSchema": 0,
"children": null,
"entityRefs": [
{
"refObjectId": "133C0B4F-2437-4D95-A692-C34553963E28",
"refObjectType": "P",
"orderValue": 1
},
{
"refObjectId": "286B768E-73F1-4390-9905-23684B92761F",
"refObjectType": "P",
"orderValue": 2
}
],
"diagramRefs": [],
"peerOrder": 2
},
{
"id": "8FF17ADC-6C66-4DBD-B7FC-0C0B6E35A910",
"defKey": "cost",
"defName": "费用",
"classifyType": "MANUAL",
"manualClassify": "[\"P\"]",
"bindSchema": 0,
"children": null,
"entityRefs": [
{
"refObjectId": "1CD9AEA6-DAB8-40DF-8318-BCA343176C13",
"refObjectType": "P",
"orderValue": 1
}
],
"diagramRefs": [],
"peerOrder": 3
}
],
"flat": {
"entityRefs": [
{
"refObjectId": "8783C5A5-46D1-4CDC-868F-B604C776D114",
"refObjectType": "P",
"orderValue": 1
},
{
"refObjectId": "298B913C-A7EC-42CF-B869-6F8F3EEA5CEB",
"refObjectType": "P",
"orderValue": 2
},
{
"refObjectId": "C2604D57-F42D-4588-884D-E470DF238DD3",
"refObjectType": "P",
"orderValue": 3
},
{
"refObjectId": "CA27E812-84DF-415B-A517-D8EE72A5851F",
"refObjectType": "P",
"orderValue": 4
},
{
"refObjectId": "66210A03-E5D3-4AE3-9DF5-0A5FF1B55A2B",
"refObjectType": "P",
"orderValue": 5
},
{
"refObjectId": "1F8CC750-13F7-406D-9667-C328491C1A6E",
"refObjectType": "P",
"orderValue": 6
},
{
"refObjectId": "778D9EC8-362D-438D-8522-7DC1A9C4D55F",
"refObjectType": "P",
"orderValue": 7
},
{
"refObjectId": "A0E6ACDD-B2DA-478D-B98F-ECEF0B624979",
"refObjectType": "P",
"orderValue": 8
},
{
"refObjectId": "4C319989-B031-4A47-872B-632383A686EE",
"refObjectType": "P",
"orderValue": 9
},
{
"refObjectId": "0CE38F31-EFD9-43A6-9BA5-3E13696C8444",
"refObjectType": "P",
"orderValue": 10
},
{
"refObjectId": "C6C96F4E-DDF2-4F8E-ABE9-3DFA6BE487C5",
"refObjectType": "P",
"orderValue": 11
},
{
"refObjectId": "457D3BF0-A5A6-4636-A83E-3903ACD2C4A2",
"refObjectType": "P",
"orderValue": 12
},
{
"refObjectId": "6AE16DDA-CDCA-4E66-80B5-775ACF4B124E",
"refObjectType": "P",
"orderValue": 13
},
{
"refObjectId": "9B28F97D-A220-48BA-B256-99952BD84550",
"refObjectType": "P",
"orderValue": 14
},
{
"refObjectId": "18C34285-97B3-48BD-BF1C-80FFD204878F",
"refObjectType": "P",
"orderValue": 15
},
{
"refObjectId": "4DB0E9C1-05E9-47ED-A7AA-6BC7E87856D7",
"refObjectType": "P",
"orderValue": 16
},
{
"refObjectId": "BEC9C790-0D4F-477F-9F31-8A9F41A4977D",
"refObjectType": "P",
"orderValue": 17
},
{
"refObjectId": "B724EF27-B827-4067-8F8F-43FD73F9DE24",
"refObjectType": "P",
"orderValue": 18
},
{
"refObjectId": "96FF7EC9-5753-46BC-AE85-E2BDFEE6E043",
"refObjectType": "P",
"orderValue": 19
},
{
"refObjectId": "9433E723-2A22-4004-8EEC-EA148772C5D4",
"refObjectType": "P",
"orderValue": 20
},
{
"refObjectId": "7F405312-ACDB-41FB-A8E0-6BD9CECA52D3",
"refObjectType": "P",
"orderValue": 21
},
{
"refObjectId": "133C0B4F-2437-4D95-A692-C34553963E28",
"refObjectType": "P",
"orderValue": 22
},
{
"refObjectId": "286B768E-73F1-4390-9905-23684B92761F",
"refObjectType": "P",
"orderValue": 23
},
{
"refObjectId": "1CD9AEA6-DAB8-40DF-8318-BCA343176C13",
"refObjectType": "P",
"orderValue": 24
},
{
"refObjectId": "FEF038F4-4AEE-4930-9C4B-E08E7F4F3A23",
"refObjectType": "P",
"orderValue": 25
}
],
"diagramRefs": []
},
"entities": [
{
"id": "8783C5A5-46D1-4CDC-868F-B604C776D114",
"type": "P",
"schemaName": null,
"defKey": "sys_user",
"defName": "用户信息表",
"intro": "",
"fields": [
{
"id": "B5950DAC-691C-4AA3-B290-2C5D49B9E70B",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "6F669BBD-A0F4-46E5-9640-0D0063A037E2",
"defKey": "nickname",
"defName": "昵称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "2D82A6A6-697D-4952-9672-AE7B2B4840A8",
"defKey": "avatar",
"defName": "头像",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "7AAAD217-C79A-4D34-BEC3-95F0562EDF7E",
"defKey": "email",
"defName": "邮箱",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 64,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "E0B29717-7ECB-4A86-94D5-EDEA731D8F95",
"defKey": "phone",
"defName": "手机号",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 20,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "81524E8A-11F7-4A22-8668-E2A8E2DFC8B9",
"defKey": "creator_id",
"defName": "创建人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "SCOPE",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "6ECC8DE8-543F-49F2-8354-DD25828BC960",
"defKey": "modifier_id",
"defName": "修改人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "B54E24E2-D8EB-447A-A93E-65DB72F31138",
"defKey": "create_time",
"defName": "创建时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "74984F37-9AB3-4A37-A847-8A5E6E86E4AC",
"defKey": "modify_time",
"defName": "修改时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "F5E3171C-3552-46D3-B9CF-2E8C108089CF",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [],
"props": "{\"codegen\":{\"Java_MybatisPlus\":{\"root\":\"\",\"nameSpace\":\"com.zsy\",\"baseName\":\"sys\",\"path\":{},\"var\":{}},\"NodeJS_Ts\":{\"root\":\"C:\\\\Users\\\\24955\\\\Desktop\\\\code\\\\njzscloud-dispose-web\\\\src\\\\pages\",\"nameSpace\":\"sys\",\"baseName\":\"user\",\"path\":{\"page.vue\":{\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/{{=it.func.camel(it.genCode.baseName,true)}}.vue\",\"enable\":1},\"page.ts\":{\"enable\":1,\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/page.ts\"},\"form.vue\":{\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/{{=it.func.camel(it.genCode.baseName,true)}}Form.vue\",\"enable\":1},\"api.ts\":{\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/{{=it.genCode.baseName}}-api.ts\",\"enable\":1},\"d.ts\":{\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/{{=it.genCode.baseName}}.d.ts\",\"enable\":1}},\"var\":{}}}}",
"refers": []
},
{
"id": "298B913C-A7EC-42CF-B869-6F8F3EEA5CEB",
"type": "P",
"schemaName": null,
"defKey": "sys_role_resource",
"defName": "角色-资源关系表",
"intro": "",
"fields": [
{
"id": "CD5CDECD-F531-4431-95C7-8CA0C50CE99D",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "62994428-8B0B-447B-800D-875787E38AD8",
"defKey": "role_id",
"defName": "角色 Id",
"intro": " sys_role.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "C83AC13D-CF7F-422B-8A24-F1DF5475A15A",
"defKey": "res_id",
"defName": "资源 Id",
"intro": " sys_resource.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "7C56FB41-1C18-4DCC-B6AE-2DCE98296D5D",
"defKey": "res_sn",
"defName": "资源编码",
"intro": " sys_resource.sn",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "AADF21B6-99EE-45CF-8919-8AF4695BC9DB",
"defKey": "table_name",
"defName": "表名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "table_name",
"stndDictKey": "table_name",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "sys_endpoint",
"itemName": "sys_endpoint",
"parentKey": "",
"intro": "",
"id": "56B841B5-A962-439B-A976-87923267960A"
},
{
"itemKey": "sys_menu",
"itemName": "sys_menu",
"parentKey": "",
"intro": "",
"id": "F7A09664-A91C-42B1-8F86-BDC1AB4145A8"
}
],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "FC858145-BFD8-48A2-B437-81277B454839",
"defKey": "data_id",
"defName": "数据行 Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "2F1EBA99-DF4A-4887-98D3-176A0CC2DEB3",
"type": "UNIQUE",
"defKey": "uk__role_id__res_id",
"defName": null,
"intro": "",
"fields": [
{
"id": "0C5E350A-6D80-406F-B390-EF34E8CA180E",
"fieldId": "62994428-8B0B-447B-800D-875787E38AD8",
"fieldDefKey": "role_id",
"sortType": "ASC"
},
{
"id": "A19250EF-10A5-423C-A0E7-2A680FABF1E6",
"fieldId": "C83AC13D-CF7F-422B-8A24-F1DF5475A15A",
"fieldDefKey": "res_id",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "C2604D57-F42D-4588-884D-E470DF238DD3",
"type": "P",
"schemaName": null,
"defKey": "sys_user_account",
"defName": "用户账号信息表",
"intro": "",
"fields": [
{
"id": "D4C7148C-5E5D-4B92-8E3D-051A32D0363B",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "E22A0379-10F5-49B6-809F-54482C36E903",
"defKey": "user_id",
"defName": "用户 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "49B6D867-C9AD-4416-BFEF-EAE09143D7E5",
"defKey": "username",
"defName": "用户名",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "A549F85E-1299-4CFB-A579-D50957BE9484",
"defKey": "phone",
"defName": "手机号",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 20,
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "C06D436D-29FC-4606-9347-793BE332880C",
"defKey": "secret",
"defName": "密码",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "67AA7D5E-8AED-4F26-BE0C-7AC13A0161EA",
"defKey": "wechat_openid",
"defName": "微信 openid",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "FE622241-51D0-4179-9DF7-ABB7645C46C6",
"defKey": "wechat_unionid",
"defName": "微信 unionid",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "41F855D6-1A0B-4768-BEAC-EF4F6B2223D3",
"defKey": "regdate",
"defName": "注册时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "62F30E2D-D755-4F5B-83E9-9FA3C7BA77BA",
"defKey": "client_code",
"defName": "允许登录的客户端",
"intro": "位权码",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "client_code",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "0",
"itemName": "WEB 后台",
"intro": "第 0 位",
"id": "68123977-C53D-4AAA-9B8E-44CCFFF96518"
},
{
"itemKey": "1",
"itemName": "微信小程序",
"intro": "第 1 位",
"id": "0AB3C4CB-01C5-40E7-8C3C-C5EF71BC4BAC"
},
{
"itemKey": "2",
"itemName": "手机 APP",
"intro": "第 2 位",
"id": "22B26C48-0C87-442F-ABDC-D9E9D2D2DB9D"
}
],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "68EE2E5E-F775-458D-8686-B8834995C062",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "E895BB09-59D2-49C0-BC3F-905934482D99",
"defKey": "disabled",
"defName": "是否禁用",
"intro": " 0-->启用、1-->禁用",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "160ECF62-5E00-41B6-8201-AC2F00FA5DDC",
"defKey": "creator_id",
"defName": "创建人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "465A5DC8-90A0-45C6-BC50-2D15886E0098",
"defKey": "modifier_id",
"defName": "修改人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "0A2CB255-ED45-46C8-9EE8-F5BEB3106F68",
"defKey": "create_time",
"defName": "创建时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "AC8CBF6F-3DA2-449B-B652-0A16279BB24F",
"defKey": "modify_time",
"defName": "修改时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "E6037BEF-AF5A-4134-B6DF-3CF9538A055C",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "8E72EA7E-E0F7-41AD-9737-834BEED084A2",
"type": "UNIQUE",
"defKey": "uk__user_id",
"defName": null,
"intro": "",
"fields": [
{
"id": "FE6DE934-E19B-4C18-8B1B-2061847F3E3F",
"fieldId": "E22A0379-10F5-49B6-809F-54482C36E903",
"fieldDefKey": "user_id",
"sortType": "ASC"
}
]
},
{
"id": "31FEAE83-01E4-4664-A51C-D86E990DEE4E",
"type": "UNIQUE",
"defKey": "uk__username",
"defName": null,
"intro": "",
"fields": [
{
"id": "107497C7-E327-4F15-87A7-AF0C7D1D368D",
"fieldId": "49B6D867-C9AD-4416-BFEF-EAE09143D7E5",
"fieldDefKey": "username",
"sortType": "ASC"
}
]
},
{
"id": "89BFA413-4BD9-4D82-AFAF-8FCE550B9B00",
"type": "UNIQUE",
"defKey": "uk__phone",
"defName": null,
"intro": "",
"fields": [
{
"id": "382F4191-A71B-48B1-9296-17EED007CF4A",
"fieldId": "A549F85E-1299-4CFB-A579-D50957BE9484",
"fieldDefKey": "phone",
"sortType": "ASC"
}
]
},
{
"id": "7240ED10-0037-48A3-A7DE-AFF3CE5B9D77",
"type": "UNIQUE",
"defKey": "uk__wechat_openid__wechat_unionid",
"defName": null,
"intro": "",
"fields": [
{
"id": "172BBB2E-99FB-4CC5-9A4E-DA4F62EBC410",
"fieldId": "67AA7D5E-8AED-4F26-BE0C-7AC13A0161EA",
"fieldDefKey": "wechat_openid",
"sortType": "ASC"
},
{
"id": "9C8CF1AB-8CE4-4908-97EC-4D192DCB0B9C",
"fieldId": "FE622241-51D0-4179-9DF7-ABB7645C46C6",
"fieldDefKey": "wechat_unionid",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "CA27E812-84DF-415B-A517-D8EE72A5851F",
"type": "P",
"schemaName": null,
"defKey": "sys_user_role",
"defName": "用户-角色关系表",
"intro": "",
"fields": [
{
"id": "16C43DD8-54D6-4CFF-BA94-9CF3BE3D8FA9",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "2C36197E-517F-4D85-A4CD-68ED933FA569",
"defKey": "user_id",
"defName": "用户 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "96090B5A-CEA8-49F2-82EF-0745B933B603",
"defKey": "role_id",
"defName": "角色 Id",
"intro": " sys_role.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "144C1E96-DE72-41E5-A1D6-BFC83E97D8C2",
"type": "UNIQUE",
"defKey": "uk__user_id__role_id",
"defName": null,
"intro": "",
"fields": [
{
"id": "5286A7E4-C94D-4FA8-ACF7-8D9DA15640EB",
"fieldId": "2C36197E-517F-4D85-A4CD-68ED933FA569",
"fieldDefKey": "user_id",
"sortType": "ASC"
},
{
"id": "7A8B49F9-BC64-445B-A1C7-F51697B6D371",
"fieldId": "96090B5A-CEA8-49F2-82EF-0745B933B603",
"fieldDefKey": "role_id",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "66210A03-E5D3-4AE3-9DF5-0A5FF1B55A2B",
"type": "P",
"schemaName": null,
"defKey": "sys_role",
"defName": "角色表",
"intro": "",
"fields": [
{
"id": "743DC55A-46AB-48CA-B453-3449A61C966C",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "3E243155-4226-431F-A446-A670BF40E8C5",
"defKey": "role_code",
"defName": "角色代码",
"intro": " 以 ROLE_ 开头",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 64,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "F65EE38B-1826-494D-A421-AA642BA9FFF0",
"defKey": "role_name",
"defName": "角色名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 64,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "23EF1861-4EAE-45E6-B8A5-5664E9A8BF83",
"defKey": "memo",
"defName": "备注",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "937275A2-45A3-47B4-BB64-D001A710086A",
"type": "UNIQUE",
"defKey": "uk__role_code",
"defName": null,
"intro": "",
"fields": [
{
"id": "FF553D81-46EB-4FF9-AF33-1DCEDB4E2D27",
"fieldId": "3E243155-4226-431F-A446-A670BF40E8C5",
"fieldDefKey": "role_code",
"sortType": "ASC"
}
]
}
],
"refers": [],
"props": "{\"codegen\":{\"NodeJS_Ts\":{\"root\":\"D:\\\\DaiMa\\\\WebStorm\\\\njzscloud-dispose-web\\\\src\\\\pages\",\"nameSpace\":\"sys\",\"baseName\":\"role\",\"path\":{\"page.vue\":{\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/{{=it.func.camel(it.genCode.baseName,true)}}.vue\",\"enable\":1},\"page.ts\":{\"enable\":1,\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/page.ts\"},\"form.vue\":{\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/{{=it.func.camel(it.genCode.baseName,true)}}Form.vue\",\"enable\":1},\"api.ts\":{\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/{{=it.genCode.baseName}}-api.ts\",\"enable\":1},\"d.ts\":{\"value\":\"{{=it.genCode.nameSpace}}/{{=it.genCode.baseName}}/{{=it.genCode.baseName}}.d.ts\",\"enable\":1}},\"var\":{}}}}"
},
{
"id": "1F8CC750-13F7-406D-9667-C328491C1A6E",
"type": "P",
"schemaName": null,
"defKey": "sys_endpoint",
"defName": "端点信息表",
"intro": "",
"fields": [
{
"id": "AF4F6A2A-7207-49AC-B55F-F90B2B1D49AB",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "E6A31C7A-4E2B-4175-9BF0-C6FCC63A465F",
"defKey": "request_method",
"defName": "请求方式",
"intro": "字典代码request_method",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 10,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "FAA53BDF-EE3F-4437-8323-0ACCB60F2804",
"defKey": "routing_path",
"defName": "路由前缀",
"intro": " 以 / 开头 或 为空",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "A1222DCF-9571-4AEC-8EA1-61E0EE9A4DEA",
"defKey": "endpoint_path",
"defName": "端点地址",
"intro": " 以 / 开头, Ant 匹配模式",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "E62C7F67-D35A-4EB4-BE09-8B980D1C62C1",
"defKey": "access_model",
"defName": "接口访问模式",
"intro": "字典代码endpoint_access_model",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 64,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "'Logined'",
"stndDictId": "endpoint_access_model",
"stndDictKey": "endpoint_access_model",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Anonymous",
"itemName": "允许匿名访问",
"parentKey": "",
"intro": "",
"id": "10CDFFD0-BDE2-42AB-9F0E-51B0BAA3CD51"
},
{
"itemKey": "Logined",
"itemName": "允许已登录用户访问",
"parentKey": "",
"intro": "",
"id": "A6776ACA-7AD1-47DB-83EB-EC5FBEAE7310"
},
{
"itemKey": "Authenticated",
"itemName": "仅拥有权限的用户访问",
"parentKey": "",
"intro": "",
"id": "13FDE2FA-7989-4944-90EE-AD9C9BDE6819"
},
{
"itemKey": "Forbidden",
"itemName": "禁止访问",
"parentKey": "",
"intro": "",
"id": "9BD8E9DE-0C3F-49ED-8D52-F12282E755EB"
}
],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "6FB60616-FC15-4D16-AEEB-0FF87DAC6F43",
"defKey": "memo",
"defName": "备注",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "2F3EF501-A1D2-4405-8D3E-EDF22CF33C81",
"type": "UNIQUE",
"defKey": "uk__method__routing__endpoint",
"defName": null,
"intro": "",
"fields": [
{
"id": "8D8098D6-AEEE-441D-9B1C-72DD44B9C3DF",
"fieldId": "E6A31C7A-4E2B-4175-9BF0-C6FCC63A465F",
"fieldDefKey": "request_method",
"sortType": "ASC"
},
{
"id": "5D46AF1B-BBF9-4C52-A0C7-72A76F5854A3",
"fieldId": "FAA53BDF-EE3F-4437-8323-0ACCB60F2804",
"fieldDefKey": "routing_path",
"sortType": "ASC"
},
{
"id": "EEEC1769-5587-4C44-9FF4-E0C2A2F57EE5",
"fieldId": "A1222DCF-9571-4AEC-8EA1-61E0EE9A4DEA",
"fieldDefKey": "endpoint_path",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "778D9EC8-362D-438D-8522-7DC1A9C4D55F",
"type": "P",
"schemaName": null,
"defKey": "sys_menu",
"defName": "菜单信息表",
"intro": "",
"fields": [
{
"id": "72D2810C-0AEA-4D83-94C6-C7F3AEB3BF4D",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "887EF609-A47C-45A4-942C-8AA5DA81AD76",
"defKey": "sn",
"defName": "编号",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "2F3E9658-790E-40CA-9242-7B5F2A4AECDC",
"origin": "IMPORT"
},
{
"id": "FE7A4AD4-333D-41D6-AE5E-CDD41AA66724",
"defKey": "pid",
"defName": "上级 Id",
"intro": " 层级为 1 的节点值为 0",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "FD702A5A-6424-4FF3-8575-41F1E3695B0A",
"defKey": "title",
"defName": "菜单名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "97FCFEA1-7BE1-4A6D-97B1-9B8E285EFEC4",
"defKey": "icon",
"defName": "图标",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "577B1180-D8D3-4862-A912-55B9D8233E50",
"defKey": "tier",
"defName": "层级",
"intro": " >= 1",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "2560127A-4119-40ED-954A-A0FE0DFBA77E",
"defKey": "breadcrumb",
"defName": "面包路径",
"intro": "JSON 数组",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "'[]'",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "CEDC35DA-6C0F-45A7-B458-F8CD3005FDAE",
"defKey": "menu_category",
"defName": "类型",
"intro": "字典代码menu_category",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 32,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "menu_category",
"stndDictKey": "menu_category",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Catalog",
"itemName": "目录",
"parentKey": "",
"intro": "",
"id": "2148662C-5857-4291-9962-2149D9DF7685"
},
{
"itemKey": "Group",
"itemName": "组",
"parentKey": "",
"intro": "",
"id": "41588751-5966-4726-B7A6-8195C667BDF2"
},
{
"itemKey": "Page",
"itemName": "页面",
"parentKey": "",
"intro": "",
"id": "E2012B5B-3753-4579-A76A-B10980EB1E04"
},
{
"itemKey": "SubPage",
"itemName": "子页面",
"parentKey": "",
"intro": "",
"id": "EE132C95-CF18-4DC7-8611-EA4D25B40350"
},
{
"itemKey": "Btn",
"itemName": "按钮",
"parentKey": "",
"intro": "",
"id": "99DA2011-BA59-470A-8E86-50C610E1D480"
}
],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "A82A797C-22A5-4E10-8431-403EF26B13FB",
"defKey": "freeze",
"defName": "标签是否冻结",
"intro": " 0-->否、1-->是",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "5E3F219F-6E8C-42D9-8D19-7C963A45F0DD",
"defKey": "sort",
"defName": "排序",
"intro": "",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "4142DCB1-C26D-4C18-85B7-A8006C985F10",
"defKey": "route_name",
"defName": "路由名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "1D7C01F2-9DC0-47A2-8EF1-3081F05B91ED",
"defKey": "route_path",
"defName": "路由地址",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "E0E3A4AB-B37C-498D-BFF4-BFFDE224BDD6",
"defKey": "creator_id",
"defName": "创建人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "F21B74FB-339D-45BA-82EC-F4E6BF91B363",
"defKey": "modifier_id",
"defName": "修改人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "D798F126-A1F6-4128-B414-FDB0A94E862C",
"defKey": "create_time",
"defName": "创建时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "B6EAE759-DB92-441C-BD41-895E9EA6B459",
"defKey": "modify_time",
"defName": "修改时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "B8B1BC9C-BB99-4394-AC7F-D2F121D8F7C5",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "B147D317-D2BE-4ACE-AE96-1A937D329090",
"type": "UNIQUE",
"defKey": "uk__sn",
"defName": "",
"intro": "",
"fields": [
{
"id": "02057D9D-DC9A-4B14-8B5B-651C0116AF5B",
"fieldId": "887EF609-A47C-45A4-942C-8AA5DA81AD76",
"fieldDefKey": "sn",
"sortType": "ASC"
}
]
},
{
"id": "79B540FC-ABDF-482D-998D-34557115027F",
"type": "UNIQUE",
"defKey": "uk__route_name",
"defName": "",
"intro": "",
"fields": [
{
"id": "67CF8098-3CA9-4B32-BC8F-A746B8BBD03D",
"fieldId": "4142DCB1-C26D-4C18-85B7-A8006C985F10",
"fieldDefKey": "route_name",
"sortType": "ASC"
}
]
},
{
"id": "DDF10EA4-3117-4D19-BC82-586A32E6D306",
"type": "UNIQUE",
"defKey": "uk__route_path",
"defName": "",
"intro": "",
"fields": [
{
"id": "78E4EC67-F5A8-4A45-82B8-DFFD420A826D",
"fieldId": "1D7C01F2-9DC0-47A2-8EF1-3081F05B91ED",
"fieldDefKey": "route_path",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "A0E6ACDD-B2DA-478D-B98F-ECEF0B624979",
"type": "P",
"schemaName": null,
"defKey": "sys_file",
"defName": "文件记录表",
"intro": "",
"fields": [
{
"id": "EB029413-1348-4C05-BB6E-E9E86A221280",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "C5224ECC-9AE2-464C-8510-DEBC41761214",
"defKey": "file_service",
"defName": "存储服务",
"intro": "字典代码file_service",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 10,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "'OSS'",
"stndDictId": "file_service",
"stndDictKey": "file_service",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "OSS",
"itemName": "OSS",
"parentKey": "",
"intro": "",
"id": "E88CA49B-90AA-4E89-AEB6-F47308A159B8"
}
],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "C6AE2262-E56F-4E2E-BCC0-D0182171FB92",
"defKey": "bucket_name",
"defName": "桶名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 10,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "D179DDEB-6A89-49A5-9FBE-7DA0CD39977D",
"defKey": "object_name",
"defName": "对象名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "451007FB-213D-46C2-8807-95546B9387A7",
"defKey": "original_name",
"defName": "原文件名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "929BC182-5068-4FAF-9E9D-E1DE12C5A859",
"defKey": "size",
"defName": "文件大小",
"intro": " 单位: 字节",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "0F5BBA4A-A733-473F-A77D-1BAC4B8BF513",
"defKey": "mime",
"defName": "MIME 类型",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "8C2CFCE5-8B07-46A1-AC4C-F61243D088F5",
"defKey": "link",
"defName": "访问链接",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "E000685B-9D7E-446F-B0A6-6438325DC1DF",
"defKey": "creator_id",
"defName": "创建人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "6C077F13-1288-418B-8549-89A2E52D58DF",
"defKey": "modifier_id",
"defName": "修改人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "1964E3BE-43BC-4270-B03D-918D25B1AF31",
"defKey": "create_time",
"defName": "创建时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "FFEB10C3-BE8D-4F73-A98F-93B2D9D35C0D",
"defKey": "modify_time",
"defName": "修改时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "ABA168AF-3395-47C0-9EC1-C7E1DEBFA265",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "14261525-812F-4CB5-86D5-08C927E6BCFE",
"type": "UNIQUE",
"defKey": "uk_file",
"defName": "",
"intro": "",
"fields": [
{
"id": "9819417E-89D8-4909-A2FA-3924EC56E313",
"fieldId": "D179DDEB-6A89-49A5-9FBE-7DA0CD39977D",
"fieldDefKey": "object_name",
"sortType": "ASC"
},
{
"id": "152E7A40-1520-4797-ADD1-D2727555840A",
"fieldId": "C6AE2262-E56F-4E2E-BCC0-D0182171FB92",
"fieldDefKey": "bucket_name",
"sortType": "ASC"
},
{
"id": "5C0CACF7-8D67-43DB-98BE-06DF5E3B4E5D",
"fieldId": "C5224ECC-9AE2-464C-8510-DEBC41761214",
"fieldDefKey": "file_service",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "4C319989-B031-4A47-872B-632383A686EE",
"type": "P",
"schemaName": null,
"defKey": "sys_file_ref",
"defName": "文件引用表",
"intro": "",
"fields": [
{
"id": "7E286292-A20B-4406-8A28-577D33445472",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "98A15F46-04B5-4195-8024-22AAB149847A",
"defKey": "coord_table",
"defName": "表名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "846E2989-0BA0-4ED3-B838-A70075B64B7C",
"defKey": "coord_field",
"defName": "表字段",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "8D688BA4-9DC5-4942-B3BD-6B2CCC66A2F3",
"defKey": "coord_id",
"defName": "表记录 Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "AEA7A84C-CE20-4913-950F-422813F76E75",
"defKey": "file_id",
"defName": "文件 Id",
"intro": " sys_file.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "D263B965-28A7-45AA-B552-F699470D1489",
"defKey": "link",
"defName": "访问链接",
"intro": " sys_file.link",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "77FBBC89-61B3-4036-928A-3F453C0E64D9",
"type": "UNIQUE",
"defKey": "uk__coord_id__coord_field__coord_table__file_id",
"defName": null,
"intro": "",
"fields": [
{
"id": "ABD1C80D-07C6-4240-92C0-8D3F0E4B90E2",
"fieldId": "8D688BA4-9DC5-4942-B3BD-6B2CCC66A2F3",
"fieldDefKey": "coord_id",
"sortType": "ASC"
},
{
"id": "C4588572-D32C-46B2-8993-46B2D8A233AC",
"fieldId": "846E2989-0BA0-4ED3-B838-A70075B64B7C",
"fieldDefKey": "coord_field",
"sortType": "ASC"
},
{
"id": "2F4D352C-C0F9-4690-AEDD-6B2416925BD5",
"fieldId": "98A15F46-04B5-4195-8024-22AAB149847A",
"fieldDefKey": "coord_table",
"sortType": "ASC"
},
{
"id": "194EA6F4-D427-4104-98F5-B0829C523C15",
"fieldId": "AEA7A84C-CE20-4913-950F-422813F76E75",
"fieldDefKey": "file_id",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "0CE38F31-EFD9-43A6-9BA5-3E13696C8444",
"type": "P",
"schemaName": null,
"defKey": "sys_user_login_record",
"defName": "用户登录记录表",
"intro": "",
"fields": [
{
"id": "85DB9029-6D98-46E4-A493-C717912D1107",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "76F70FC0-CD0F-4CFF-915C-6FC7B9ADEE7F",
"defKey": "user_id",
"defName": "用户 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "1C184F7B-8929-41FC-87F1-CACF0CD0BAA2",
"defKey": "user_account_id",
"defName": "用户账号 Id",
"intro": " sys_user_account.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "0F2EB4BC-8B26-4945-A6AD-4F2B1CED1ED0",
"defKey": "login_time",
"defName": "登录时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "3B1BA347-986A-4EB9-8FEB-7654A74D234A",
"defKey": "client_code",
"defName": "本次登录使用的客户端",
"intro": " 字典代码client_code",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "client_code",
"stndDictKey": "client_code",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "0",
"itemName": "WEB 后台",
"intro": "第 0 位",
"id": "68123977-C53D-4AAA-9B8E-44CCFFF96518"
},
{
"itemKey": "1",
"itemName": "微信小程序",
"intro": "第 1 位",
"id": "0AB3C4CB-01C5-40E7-8C3C-C5EF71BC4BAC"
},
{
"itemKey": "2",
"itemName": "手机 APP",
"intro": "第 2 位",
"id": "22B26C48-0C87-442F-ABDC-D9E9D2D2DB9D"
}
],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "6C4A899F-41C2-4B7A-9BE8-675BF970771F",
"defKey": "auth_way",
"defName": "登录方式",
"intro": " 字典代码auth_way",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 50,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "auth_way",
"stndDictKey": "auth_way",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Anonymous",
"itemName": "匿名登录",
"parentKey": "",
"intro": "",
"id": "C9836BF6-B245-4A46-A985-2DEE983F6A47"
},
{
"itemKey": "Password",
"itemName": "账号密码登录",
"parentKey": "",
"intro": "",
"id": "52656A22-3810-46D3-A042-3341E2864EFF"
},
{
"itemKey": "Phone",
"itemName": "手机验证码登录",
"parentKey": "",
"intro": "",
"id": "860EF9F7-1FD9-4A4A-8AC3-4410BADA6438"
},
{
"itemKey": "Wechat",
"itemName": "微信登录",
"parentKey": "",
"intro": "",
"id": "37F234E7-715B-4E6B-BE7D-6E4C54F12241"
},
{
"itemKey": "WechatMini",
"itemName": "微信小程序登录",
"parentKey": "",
"intro": "",
"id": "265C5F99-E67B-4BBB-B240-41939C2C05F1"
}
],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "63A4F667-91DF-4C5D-AEBD-2CF005004A67",
"defKey": "user_agent",
"defName": "用户代理",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "DA763D74-5274-4F5D-BFCF-B1C9044B905F",
"defKey": "ip",
"defName": "IP 地址",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "888843A8-DE6E-475C-9E30-F16883ED3FFD",
"defKey": "province_code",
"defName": "IP 归属地, 省 (编码)",
"intro": " sys_district.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "54129530-D607-4D00-A5E1-CD02CE1F7B24",
"defKey": "province_name",
"defName": "IP 归属地, 省 (名称)",
"intro": " sys_district.name",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "0951F0C7-5199-42A9-AC2C-5B3728192D2B",
"defKey": "city_code",
"defName": "IP 归属地, 市 (编码)",
"intro": " sys_district.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "F3C3782E-E3C0-4496-A354-55A22EA97B1E",
"defKey": "city_name",
"defName": "IP 归属地, 市 (名称)",
"intro": " sys_district.name",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "35D84AA7-AC29-44F1-BDDF-AEBF190E00FB",
"defKey": "area_code",
"defName": "IP 归属地, 区 (编码)",
"intro": " sys_district.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 0,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "12C1F926-B11B-469B-B6ED-6575F028341A",
"defKey": "area_name",
"defName": "IP 归属地, 区 (名称)",
"intro": " sys_district.name",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "24DB4170-1643-4671-9D00-1412B00A1E62",
"type": "NORMAL",
"defKey": "ix__user_id",
"defName": null,
"intro": "",
"fields": [
{
"id": "3855120E-64C2-4BF9-AE8D-AB5564E3D433",
"fieldId": "76F70FC0-CD0F-4CFF-915C-6FC7B9ADEE7F",
"fieldDefKey": "user_id",
"sortType": "ASC"
}
]
},
{
"id": "2D1591F5-D713-447B-B2AD-EBAEC0528757",
"type": "NORMAL",
"defKey": "ix__user_account_id",
"defName": null,
"intro": "",
"fields": [
{
"id": "6EAB00BB-40D7-45BB-A271-2F29C656E60D",
"fieldId": "1C184F7B-8929-41FC-87F1-CACF0CD0BAA2",
"fieldDefKey": "user_account_id",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "C6C96F4E-DDF2-4F8E-ABE9-3DFA6BE487C5",
"type": "P",
"schemaName": null,
"defKey": "sys_dict",
"defName": "字典表",
"intro": "",
"fields": [
{
"id": "7951EF6F-7F20-49DF-9724-163654B36816",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "911DDD38-FDB2-419D-B348-92B1CFF24D75",
"defKey": "dict_key",
"defName": "字典标识",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "178626EA-98BD-484A-87AF-F125A7AC86EB",
"defKey": "dict_name",
"defName": "字典名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "48409F70-35FB-4976-A21C-144709C7CB87",
"defKey": "memo",
"defName": "备注",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "1445C463-8DF1-46FD-91E6-83FE4EE2A228",
"origin": "IMPORT"
},
{
"id": "95B6AAA5-40B4-4FDD-828D-BDA7682E859B",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "86CC63D1-0412-4D70-AE54-B15803463F85",
"type": "UNIQUE",
"defKey": "uk__dict_key",
"defName": null,
"intro": "",
"fields": [
{
"id": "72A9A4DF-19EC-466F-8B9E-B82047DDC62E",
"fieldId": "911DDD38-FDB2-419D-B348-92B1CFF24D75",
"fieldDefKey": "dict_key",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "457D3BF0-A5A6-4636-A83E-3903ACD2C4A2",
"type": "P",
"schemaName": null,
"defKey": "sys_district",
"defName": "省市区表",
"intro": "",
"fields": [
{
"id": "78EA8506-57D1-4294-8734-90EE8A2E4A2A",
"defKey": "id",
"defName": "Id",
"intro": " 地区代码",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 16,
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "2B403C98-B847-4747-92B1-05C362EC2842",
"defKey": "pid",
"defName": "上级地区代码",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 16,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "8B7D662B-70EC-42FF-BAE9-3D8D0E294F78",
"defKey": "province",
"defName": "省",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 16,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "DCC77779-B28F-41DE-B824-346DC5A88F94",
"defKey": "city",
"defName": "市",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 16,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "89217C5F-5E51-4A19-BDD2-0697846CF4B0",
"defKey": "area",
"defName": "区县",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 16,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "73D40062-F2FE-4901-87B1-F608384927E5",
"defKey": "town",
"defName": "乡镇街道",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 16,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "AA850AAE-93F3-495B-832B-C8A6CAE59A42",
"defKey": "district_name",
"defName": "地区名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "987E5EE9-6B6F-482E-B0FB-B215D80CD3D8",
"defKey": "tier",
"defName": "层级",
"intro": " >= 1",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "C529C4A6-731A-4049-B757-0FBBEFEF6D5B",
"defKey": "sort",
"defName": "排序",
"intro": "",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [],
"refers": []
},
{
"id": "6AE16DDA-CDCA-4E66-80B5-775ACF4B124E",
"type": "P",
"schemaName": null,
"defKey": "sys_dict_item",
"defName": "字典条目表",
"intro": "",
"fields": [
{
"id": "6D991AE5-E540-4058-BEDA-54906993AD68",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "827FF9C1-7898-4FCD-A25E-71059AFEF877",
"defKey": "dict_id",
"defName": "字典 Id",
"intro": " sys_dict.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "D12082FA-A959-4777-A7DE-0F11526BF794",
"defKey": "dict_key",
"defName": "字典标识",
"intro": " sys_dict.dict_key",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "66F76230-DD96-4ED6-9552-3D967C3593BE",
"defKey": "val",
"defName": "值",
"intro": " 分类值/字典项值",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 100,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "85D0039C-040B-4D15-8611-A12D4DEB7F48",
"defKey": "txt",
"defName": "显示文本",
"intro": " 分类显示文本/字典项显示文本",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 100,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "AF899BFF-37AD-427C-81B9-73F0CC656409",
"defKey": "sort",
"defName": "排序",
"intro": "",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "EDB29EB5-7A44-4B5B-9649-28E4E38FEA90",
"defKey": "memo",
"defName": "备注",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "1445C463-8DF1-46FD-91E6-83FE4EE2A228",
"origin": "IMPORT"
},
{
"id": "FD577885-590A-4751-8DA1-ED1B5FFFACD2",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "410C8754-40E8-40C6-9032-F518398EAE03",
"type": "UNIQUE",
"defKey": "ix__k__v",
"defName": null,
"intro": "",
"fields": [
{
"id": "2EAECBEF-4430-4EC1-999F-6741A8FA5E05",
"fieldId": "D12082FA-A959-4777-A7DE-0F11526BF794",
"fieldDefKey": "dict_key",
"sortType": "ASC"
},
{
"id": "414EF957-898C-4CFE-9708-BC107E7D5103",
"fieldId": "66F76230-DD96-4ED6-9552-3D967C3593BE",
"fieldDefKey": "val",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "9B28F97D-A220-48BA-B256-99952BD84550",
"type": "P",
"schemaName": null,
"defKey": "sys_resource",
"defName": "系统资源表",
"intro": "",
"fields": [
{
"id": "AC57CE2C-620D-4E43-A298-D561226E588D",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "A203D48B-BBFF-4DF4-BA9D-3F33A6ED4667",
"defKey": "sn",
"defName": "编号",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "2F3E9658-790E-40CA-9242-7B5F2A4AECDC",
"origin": "IMPORT"
},
{
"id": "88AC1A46-1331-4BD6-90EF-D7AE6D790ECC",
"defKey": "table_name",
"defName": "表名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "table_name",
"stndDictKey": "table_name",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "sys_menu",
"itemName": "sys_menu",
"parentKey": "",
"intro": "",
"id": "E034F5BF-B90A-48BE-8559-6997C32A86ED"
},
{
"itemKey": "sys_endpoint",
"itemName": "sys_endpoint",
"parentKey": "",
"intro": "",
"id": "B82A6EEC-E524-4D53-A673-B64CEC2667EA"
}
],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "DDACD242-588D-4683-9A9B-206A34665ED2",
"origin": "IMPORT"
},
{
"id": "1CB48909-11F7-4B45-9B47-DC48B1152D8F",
"defKey": "data_id",
"defName": "数据行 Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "226B6D26-24EF-4438-A07C-461EF8953E76",
"defKey": "memo",
"defName": "备注",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "1445C463-8DF1-46FD-91E6-83FE4EE2A228",
"origin": "IMPORT"
}
],
"indexes": [
{
"id": "88C775B3-6F86-4B41-A083-A846C873D9E6",
"type": "UNIQUE",
"defKey": "uk__sn",
"defName": "",
"intro": "",
"fields": [
{
"id": "75D154D2-D9CE-437F-BF08-2B11D3899011",
"fieldId": "A203D48B-BBFF-4DF4-BA9D-3F33A6ED4667",
"fieldDefKey": "sn",
"sortType": "ASC"
}
]
},
{
"id": "3D5D62FB-C418-47B3-A255-5D38A841493B",
"type": "UNIQUE",
"defKey": "uk__table_name__data_id",
"defName": "",
"intro": "",
"fields": [
{
"id": "95B6639D-C9B5-47CF-894B-673B9B224CB5",
"fieldId": "88AC1A46-1331-4BD6-90EF-D7AE6D790ECC",
"fieldDefKey": "table_name",
"sortType": "ASC"
},
{
"id": "F8606F62-F704-4D88-B77B-53E70F06AE98",
"fieldId": "1CB48909-11F7-4B45-9B47-DC48B1152D8F",
"fieldDefKey": "data_id",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "18C34285-97B3-48BD-BF1C-80FFD204878F",
"type": "P",
"schemaName": null,
"defKey": "sys_user_token",
"defName": "登录令牌表",
"intro": "",
"fields": [
{
"id": "FD42A5D2-2454-4D66-AD76-2F3080AB30AD",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "4E4B45A6-6F9E-4C51-8DBB-EB6C8F680B92",
"defKey": "user_id",
"defName": "用户 Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "A4DD7383-0EBB-4848-A8DF-CD2E0604829A",
"defKey": "tid",
"defName": "Token Id",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "06DC0E08-1C6B-4C52-B74C-3AF24B191DF4",
"defKey": "tkey",
"defName": "Token 键",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "C47238C5-38BF-461D-9638-8A05A2B4D483",
"defKey": "tval",
"defName": "Token 值",
"intro": "",
"baseDataType": "TEXT",
"bizDomainType": "",
"dbDataType": "TEXT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "76079C04-EAA5-4759-9EAC-9553DADAFB44",
"defKey": "user_detail",
"defName": "用户信息",
"intro": "",
"baseDataType": "TEXT",
"bizDomainType": "",
"dbDataType": "TEXT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [],
"refers": []
},
{
"id": "4DB0E9C1-05E9-47ED-A7AA-6BC7E87856D7",
"type": "P",
"schemaName": null,
"defKey": "sys_tpl",
"defName": "代码模板",
"intro": "",
"fields": [
{
"id": "907BD07E-BE66-4CDC-A3D9-DFF1BE66B696",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "4E8AD734-8083-4012-BA38-80AA011CB965",
"defKey": "tpl_name",
"defName": "模板名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "1752A8C7-C185-4925-91DB-2997B7D162D5",
"defKey": "tpl_category",
"defName": "模板类型",
"intro": " 字典编码tpl_category",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 64,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "C95E4A89-BD9F-4CD5-9785-F05A26E5E5BD",
"defKey": "tpl",
"defName": "模板内容",
"intro": "",
"baseDataType": "LONGTEXT",
"bizDomainType": "",
"dbDataType": "LONGTEXT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
},
{
"id": "0CF7E522-DC2B-41E0-BCB6-72E016DD6DF3",
"defKey": "model_data",
"defName": "模型数据",
"intro": "",
"baseDataType": "LONGTEXT",
"bizDomainType": "",
"dbDataType": "LONGTEXT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": "",
"stndFieldKey": "",
"dictFrom": "",
"dictItems": [],
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "IMPORT"
}
],
"indexes": [],
"refers": []
},
{
"id": "BEC9C790-0D4F-477F-9F31-8A9F41A4977D",
"type": "P",
"defKey": "sys_task_execute_log",
"defName": "任务执行日志表",
"intro": null,
"schemaName": null,
"props": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"fields": [
{
"id": "EE5F52D0-D6DC-4376-B40A-AC9E4D8EE5AF",
"defKey": "id",
"defName": "Id",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": 1,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "170AD29D-B588-40FE-8650-7D1CA885D4C2",
"defKey": "schedule_id",
"defName": "调度 Id",
"intro": "sys_task_schedule_recode.id",
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "00B3A9E6-773A-4390-8233-1FCD1AA05DDD",
"defKey": "log_level",
"defName": "日志等级",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 32,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "F15E16CD-D780-4DA2-BBCB-48A9E1C3267C",
"defKey": "log_time",
"defName": "日志时间",
"intro": null,
"orderValue": null,
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "F4ACE66E-2F98-43E7-A3F9-7B94AA253DE7",
"defKey": "place",
"defName": "位置",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "''",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "3B742E11-8E70-4DBB-99F7-9D4B28BEC625",
"defKey": "line",
"defName": "行号",
"intro": null,
"orderValue": null,
"baseDataType": "MEDIUMINT",
"bizDomainType": "",
"dbDataType": "MEDIUMINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": null,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "9F8A5798-2F6C-4E92-AC98-2CC48D3EF575",
"defKey": "msg",
"defName": "日志信息",
"intro": null,
"orderValue": null,
"baseDataType": "TEXT",
"bizDomainType": "",
"dbDataType": "TEXT",
"dataLen": "",
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "B6F7D474-103C-4769-99FE-0B303A85F52A",
"defKey": "err",
"defName": "错误信息",
"intro": null,
"orderValue": null,
"baseDataType": "TEXT",
"bizDomainType": "",
"dbDataType": "TEXT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "B038DBF8-2FB7-4A95-88EF-24B1572E90F8",
"defKey": "create_time",
"defName": "创建时间",
"intro": null,
"orderValue": null,
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
}
],
"correlations": null,
"indexes": [
{
"id": "546303A9-893B-474C-B731-18D1EE0105B4",
"type": "NORMAL",
"defKey": "ix__schedule_id",
"defName": "",
"intro": "",
"fields": [
{
"id": "A6E0C346-5454-4F51-95EA-167C94BB9D74",
"fieldId": "170AD29D-B588-40FE-8650-7D1CA885D4C2",
"fieldDefKey": "schedule_id",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "B724EF27-B827-4067-8F8F-43FD73F9DE24",
"type": "P",
"defKey": "sys_task_schedule_recode",
"defName": "任务调度记录表",
"intro": null,
"schemaName": null,
"props": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"fields": [
{
"id": "84FD3DCD-1A56-4D22-8150-FEB06F33F38F",
"defKey": "id",
"defName": "Id",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": 1,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "A4D2BD9D-6C11-40D5-948C-7AEB3DC2831B",
"defKey": "task_id",
"defName": "任务 Id",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "DD8E2295-0ECC-4BE6-9DC5-4662062C6549",
"defKey": "task_name",
"defName": "任务名称",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "DC731405-B925-425F-B44F-767E905DABCB",
"defKey": "fn",
"defName": "任务执行函数",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "1050C775-2266-4B81-BF76-586054C4ACF6",
"defKey": "schedule_type",
"defName": "调度方式",
"intro": "字典代码schedule_type",
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 32,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": "schedule_type",
"stndDictKey": "schedule_type",
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null,
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Manually",
"itemName": "手动",
"parentKey": "",
"intro": "",
"id": "D0E4EA6B-3B64-4FFA-8363-57937816FCC3"
},
{
"itemKey": "Fixed",
"itemName": "固定周期",
"parentKey": "",
"intro": "",
"id": "1A90351E-E8C8-44FA-B1FD-BDAF0AF6A71A"
},
{
"itemKey": "Cron",
"itemName": "表达式",
"parentKey": "",
"intro": "",
"id": "CC9F5892-3EF1-4EC8-897C-B551E39A7CD7"
}
]
},
{
"id": "E2CF396D-E929-4DB5-94B1-6A5DED42CF9A",
"defKey": "schedule_conf",
"defName": "调度配置",
"intro": "手动时为空,固定周期时单位为秒",
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 24,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "66921721-42D3-477F-A3B4-497F5820CF77",
"defKey": "schedule_time",
"defName": "调度时间",
"intro": null,
"orderValue": null,
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "2528EDDF-5535-435F-A84C-F8275DD0F64C",
"defKey": "start_time",
"defName": "任务开始时间",
"intro": null,
"orderValue": null,
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": null,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "543D729D-A2F6-4261-80B0-7E9E0FA99523",
"defKey": "end_time",
"defName": "任务结束时间",
"intro": null,
"orderValue": null,
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": null,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "C1D000B8-A155-4F0D-8DA4-AFBE3CCDA7D1",
"defKey": "task_status",
"defName": "任务状态",
"intro": "字典代码task_status",
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 32,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": "task_status",
"stndDictKey": "task_status",
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null,
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Waiting",
"itemName": "等待调度",
"parentKey": "",
"intro": "",
"id": "58B5D29A-2BB7-4AAC-9A24-C1A5DB5F81A6"
},
{
"itemKey": "Pending",
"itemName": "排队中",
"parentKey": "",
"intro": "",
"id": "0F78CF98-2B73-4043-B294-476A38A946E1"
},
{
"itemKey": "Running",
"itemName": "运行中",
"parentKey": "",
"intro": "",
"id": "29761C8F-0F87-43E8-9411-3A31B5B1A186"
},
{
"itemKey": "Completed",
"itemName": "已完成",
"parentKey": "",
"intro": "",
"id": "C103CCBA-1CFE-4477-911A-41B07A81C9C2"
},
{
"itemKey": "Error",
"itemName": "错误",
"parentKey": "",
"intro": "",
"id": "D9E6684E-F9E2-4531-83DF-5998F6B6B76F"
}
]
},
{
"id": "91CBDB39-4CA0-4B04-9918-2A6130F3154F",
"defKey": "builtin",
"defName": "是否为内内置任务",
"intro": "0-->否、1-->是",
"orderValue": null,
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "E7D429F7-4C45-410C-AA38-1E0752A46A2C",
"defKey": "manually",
"defName": "本次调度是否为手动触发",
"intro": "0-->否、1-->是",
"orderValue": null,
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "BB0F6ED0-1AFF-4DD0-8BD7-79C11361C406",
"defKey": "memo",
"defName": "备注",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "6F7CC7C6-DAAC-41C8-B021-DC1146A28842",
"defKey": "create_time",
"defName": "创建时间",
"intro": null,
"orderValue": null,
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
}
],
"correlations": null,
"indexes": [
{
"id": "824EB397-7D7A-4250-BAAC-2B2497D77C8D",
"type": "NORMAL",
"defKey": "ix__task_id",
"defName": "",
"intro": "",
"fields": [
{
"id": "E88CCABC-9C7B-44DA-BFE8-F5DB632E19F8",
"fieldId": "A4D2BD9D-6C11-40D5-948C-7AEB3DC2831B",
"fieldDefKey": "task_id",
"sortType": "ASC"
}
]
}
],
"refers": []
},
{
"id": "96FF7EC9-5753-46BC-AE85-E2BDFEE6E043",
"type": "P",
"defKey": "sys_task",
"defName": "定时任务表",
"intro": null,
"schemaName": null,
"props": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"fields": [
{
"id": "15D08AEA-D5E6-49BC-B5EF-CC9D56C7F742",
"defKey": "id",
"defName": "Id",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": 1,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "5FA761F0-91D9-4266-ACAE-A1753B64FDF7",
"defKey": "task_name",
"defName": "任务名称",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "BF5B25D5-4AAD-4ECD-A65D-0D6397E7DC2A",
"defKey": "fn",
"defName": "任务执行函数",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "5BF762A9-4851-4622-8C25-5172FCE9DF5B",
"defKey": "log_level",
"defName": "日志等级",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 32,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "'INFO'",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "583F0CF9-5981-45EB-9BD5-E124EA2C5091",
"defKey": "schedule_type",
"defName": "调度方式",
"intro": "字典代码schedule_type",
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 32,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": "schedule_type",
"stndDictKey": "schedule_type",
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null,
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Manually",
"itemName": "手动",
"parentKey": "",
"intro": "",
"id": "D0E4EA6B-3B64-4FFA-8363-57937816FCC3"
},
{
"itemKey": "Fixed",
"itemName": "固定周期",
"parentKey": "",
"intro": "",
"id": "1A90351E-E8C8-44FA-B1FD-BDAF0AF6A71A"
},
{
"itemKey": "Cron",
"itemName": "表达式",
"parentKey": "",
"intro": "",
"id": "CC9F5892-3EF1-4EC8-897C-B551E39A7CD7"
}
]
},
{
"id": "A369B9F7-13AE-438C-9373-B2385CC176CD",
"defKey": "schedule_conf",
"defName": "调度配置",
"intro": "手动时为空,固定周期时单位为秒",
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 24,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "371B9790-CDC6-480E-AA0C-4314409ADDBB",
"defKey": "critical_timing",
"defName": "临界时间",
"intro": "时间戳,单位:秒",
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "0A563160-8BF8-4AED-9B5B-A03A2F02ADFE",
"defKey": "disabled",
"defName": "是否禁用",
"intro": "0-->否、1-->是",
"orderValue": null,
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "0",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "9CB2EDFC-3582-494F-81F2-A90C175327A3",
"defKey": "memo",
"defName": "备注",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "ECEBD4EB-E3B7-4F2A-B6F7-E14F4D5D39B7",
"defKey": "creator_id",
"defName": "创建人 Id",
"intro": "sys_user.id",
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "982B3C15-A487-44B5-8FC1-922DF1A9BF48",
"defKey": "modifier_id",
"defName": "修改人 Id",
"intro": "sys_user.id",
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": "",
"stndDictKey": "",
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null,
"dictFrom": ""
},
{
"id": "CF21B015-4E58-403E-9E88-5CFC1B6E2940",
"defKey": "create_time",
"defName": "创建时间",
"intro": null,
"orderValue": null,
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "DA97803E-70DD-4CD9-B237-880651056E28",
"defKey": "modify_time",
"defName": "修改时间",
"intro": "",
"orderValue": null,
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "543065B6-52AB-4267-B385-BE1F9E61F8B8",
"defKey": "deleted",
"defName": "是否删除",
"intro": "0-->未删除、1-->已删除",
"orderValue": null,
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "0",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
}
],
"correlations": null,
"indexes": [],
"refers": []
},
{
"id": "9433E723-2A22-4004-8EEC-EA148772C5D4",
"type": "P",
"defKey": "sys_sn_inc",
"defName": "递增编码表",
"intro": null,
"schemaName": null,
"props": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"fields": [
{
"id": "315725B4-8275-4243-AD40-02AA62EB9473",
"defKey": "id",
"defName": "Id",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": 1,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "244E6EEA-BB19-4BC5-8329-EEF9C4DBBF52",
"defKey": "code",
"defName": "标识",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "30DA604B-1DBA-4AB9-93C8-387E56E8010F",
"defKey": "val",
"defName": "当前值",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "6307DA42-F36B-4004-81AF-3CDD5C640FB0",
"defKey": "step",
"defName": "步长",
"intro": null,
"orderValue": null,
"baseDataType": "MEDIUMINT",
"bizDomainType": "",
"dbDataType": "MEDIUMINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "9A1B868A-AE52-4BF1-B02C-561FC638D251",
"defKey": "initial_val",
"defName": "初始值",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "35A78735-6FB1-41B0-937F-139B458A0662",
"defKey": "pad_mode",
"defName": "填充模式",
"intro": "字典编码pad_mode",
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 32,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": "pad_mode",
"stndDictKey": "pad_mode",
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null,
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Wu",
"itemName": "无",
"parentKey": "",
"intro": "",
"id": "F7EAC716-2993-4579-9ED4-6F9BCBF1390B"
},
{
"itemKey": "Zuo",
"itemName": "左",
"parentKey": "",
"intro": "",
"id": "0EC109C4-07F5-43C2-B8C6-7D78056F6ADD"
},
{
"itemKey": "You",
"itemName": "右",
"parentKey": "",
"intro": "",
"id": "B5F82E07-00F3-4BDA-948C-3CF1E0A40823"
}
]
},
{
"id": "5B32D69C-4DEF-4F6F-8CA0-DE0FD4967141",
"defKey": "pad_val",
"defName": "填充值",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 64,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "63B66A4F-B6B5-4C14-8302-EFE50694C92C",
"defKey": "pad_len",
"defName": "填充长度",
"intro": null,
"orderValue": null,
"baseDataType": "MEDIUMINT",
"bizDomainType": "",
"dbDataType": "MEDIUMINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "3B3C97EC-74B5-4A98-B3E7-A1D1D95D1AB7",
"defKey": "rollback_mode",
"defName": "回卷策略",
"intro": "字典编码rollback_mode",
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 32,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "'Wu'",
"stndDictId": "rollback_mode",
"stndDictKey": "rollback_mode",
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null,
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Wu",
"itemName": "不回卷",
"parentKey": "",
"intro": "",
"id": "D1C2C49A-8161-4F9E-B7AB-8AAF9B6B6988"
},
{
"itemKey": "Ri",
"itemName": "每日",
"parentKey": "",
"intro": "",
"id": "723D741A-E2F9-4AAD-9448-D3288019C2CA"
},
{
"itemKey": "Zhou",
"itemName": "每周",
"parentKey": "",
"intro": "",
"id": "118349A4-B992-4EA8-9889-E17FBABE1D0C"
},
{
"itemKey": "Yue",
"itemName": "每月",
"parentKey": "",
"intro": "",
"id": "D9E15A2A-FB45-4A30-A321-2C7DA0AC224C"
},
{
"itemKey": "Nian",
"itemName": "每年",
"parentKey": "",
"intro": "",
"id": "C1F4918D-23C9-4DE0-BD2E-51195DDACB58"
},
{
"itemKey": "Pi",
"itemName": "每批",
"parentKey": "",
"intro": "",
"id": "F62A63B3-1C17-4C47-B63A-8E59CD78FF60"
}
]
},
{
"id": "956003EE-0A72-44F4-BD02-F2419E103D84",
"defKey": "allow_overflow",
"defName": "是否允许溢出(溢出时回卷)",
"intro": "0-->否、1-->是",
"orderValue": null,
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "1",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "0F3A15A5-AEEC-4CAB-B226-F34A745D758F",
"defKey": "last_time",
"defName": "上次生成时间",
"intro": null,
"orderValue": null,
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 0,
"autoIncrement": null,
"defaultValue": "",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "8764C444-F9A5-4BFB-8ED9-7FB9BFC61D29",
"defKey": "last_pici",
"defName": "上一批编号",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "141C5515-00C4-4963-80A3-3A727E17FBB0",
"defKey": "max_val",
"defName": "最大值",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "9223372036854775807",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
}
],
"correlations": null,
"indexes": [
{
"id": "0EAD53BA-6E44-4EFA-BA4E-0A4C9F5CC8C6",
"type": "UNIQUE",
"defKey": "uk__code",
"defName": "",
"intro": "",
"fields": [
{
"id": "E8B90AB3-89EE-47DA-BE83-C345F2F06387",
"fieldId": "244E6EEA-BB19-4BC5-8329-EEF9C4DBBF52",
"fieldDefKey": "code",
"sortType": "ASC"
}
]
}
]
},
{
"id": "7F405312-ACDB-41FB-A8E0-6BD9CECA52D3",
"type": "P",
"defKey": "sys_sn_config",
"defName": "编码配置表",
"intro": null,
"schemaName": null,
"props": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"fields": [
{
"id": "D3E11252-2864-4E18-A198-306936B8D73D",
"defKey": "id",
"defName": "Id",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": 1,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "9EE8A2F3-73E0-49CA-8598-02EB7794F6E4",
"defKey": "sncode",
"defName": "配置编码",
"intro": "",
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "4F728095-D14B-477F-B52A-BBF48AD7095A",
"defKey": "snname",
"defName": "配置名称",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "89344BDF-5C27-4743-AE76-C3E2CDFE0A45",
"defKey": "example",
"defName": "示例",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": "",
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "9733586F-58CD-4E07-AEE2-ABE3245EDB4A",
"defKey": "config",
"defName": "配置",
"intro": null,
"orderValue": null,
"baseDataType": "TEXT",
"bizDomainType": "",
"dbDataType": "TEXT",
"dataLen": "",
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "2F0E9DEB-DEDC-4E79-86F2-6A900DE7CC60",
"defKey": "memo",
"defName": "备注",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
}
],
"correlations": null,
"indexes": [
{
"id": "2C9B658C-5B48-4874-9A75-9EF50CF72E92",
"type": "UNIQUE",
"defKey": "uk__sncode",
"defName": "",
"intro": "",
"fields": [
{
"id": "C46A2261-C149-402C-8854-43A948061510",
"fieldId": "9EE8A2F3-73E0-49CA-8598-02EB7794F6E4",
"fieldDefKey": "sncode",
"sortType": "ASC"
}
]
}
]
},
{
"id": "133C0B4F-2437-4D95-A692-C34553963E28",
"schemaName": null,
"defKey": "goods_category",
"defName": "产品分类",
"intro": "",
"type": "P",
"fields": [
{
"id": "53E8A8F8-30E7-4C5A-82AF-18DB3B79512E",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "1546E246-FD53-435C-8956-4F453BA9C096",
"defKey": "category_name",
"defName": "分类名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "5DE64791-E980-48D8-AD7C-BF509B3638FD",
"defKey": "picture",
"defName": "图片",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "0EF2D2B7-8458-450D-8515-DFFAE8AAF42F",
"defKey": "sort",
"defName": "排序",
"intro": "",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "380D1990-AEEB-49A0-9144-99D5A764D8EB",
"defKey": "storage_type",
"defName": "库存类型",
"intro": "字典代码storage_type",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "storage_type",
"stndFieldId": "",
"stndDictKey": "storage_type",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Chu",
"itemName": "出库",
"parentKey": "",
"intro": "出库",
"id": "BF53A72D-73FE-4FE4-A3FA-8F23C5258B35"
},
{
"itemKey": "Ru",
"itemName": "入库",
"parentKey": "",
"intro": "入库",
"id": "F0EBCDCC-0B35-4164-80BC-5567F3661E86"
}
],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "EBF87EB9-8CD7-454E-8524-8AD01F924E4C",
"defKey": "biz_type",
"defName": "业务类型",
"intro": "字典代码biz_type",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "biz_type",
"stndFieldId": "",
"stndDictKey": "biz_type",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "ZaiShengPin",
"itemName": "再生品",
"parentKey": "",
"intro": "",
"id": "69377C1B-B55E-464E-AD4B-16C5A920931C"
},
{
"itemKey": "HuiShouPin",
"itemName": "回收品",
"parentKey": "",
"intro": "",
"id": "00CE1E03-41C5-473C-AF3A-F0F06F4311A0"
}
],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "33025475-7640-46C6-93AE-79AEAFD628FF",
"defKey": "creator_id",
"defName": "创建人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "FB6B8625-AE7B-4463-BB71-40F80F97E934",
"defKey": "modifier_id",
"defName": "修改人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "D3F94CC9-010D-4E75-8DE5-77308B195C1C",
"defKey": "create_time",
"defName": "创建时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "A77B395B-C290-4930-9D5A-A9B8F7DF90C6",
"defKey": "modify_time",
"defName": "修改时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "839B1ECA-A18B-45DE-9F63-FECC409A2E44",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
}
],
"indexes": [],
"props": "{\"codegen\":{\"Java_MybatisPlus\":{\"root\":\"\",\"nameSpace\":\"\",\"baseName\":\"\",\"path\":{},\"var\":{}}}}"
},
{
"id": "286B768E-73F1-4390-9905-23684B92761F",
"schemaName": null,
"defKey": "goods",
"defName": "产品",
"intro": "",
"type": "P",
"fields": [
{
"id": "E2205762-9784-41D0-8F6A-CE1FAD0117AD",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "98E972DB-70DD-4096-A1ED-E71A906F991B",
"defKey": "sn",
"defName": "商品编码",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "DB75E8FF-191C-4B6E-A8DA-124AEC238F12",
"defKey": "goods_name",
"defName": "产品名称",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "20E8584E-F1DE-4620-8B6F-DE6EA3DB4AF0",
"defKey": "goods_category_id",
"defName": "产品类型Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": "{}",
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "DC0A7BFF-DBC9-4AA4-8202-00F1C31947AD",
"defKey": "picture",
"defName": "图片",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 255,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "FCEC7D67-6297-42A7-9D17-5C6132F175BD",
"defKey": "cost_config_id",
"defName": "计费配置",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "69C36FA2-0F56-421C-9FF0-051FC563FE64",
"defName": "排序",
"intro": "",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "2FCC61E1-1433-4491-AC59-E09D63B762B3",
"defKey": "memo",
"defName": "备注",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "8AF726FB-0918-4FED-A0D0-604C48B01ADD",
"defKey": "creator_id",
"defName": "创建人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "645CB92C-145B-4560-A43D-4C8AAE35CF32",
"defKey": "modifier_id",
"defName": "修改人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "8F95481B-367D-49E7-9961-9A281119D2D1",
"defKey": "create_time",
"defName": "创建时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "B5425FB8-A01B-4148-8BF3-91A57F8B30C9",
"defKey": "modify_time",
"defName": "修改时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "8D44484E-F903-4914-9507-BC8A45400FAD",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
}
],
"indexes": []
},
{
"id": "1CD9AEA6-DAB8-40DF-8318-BCA343176C13",
"schemaName": null,
"defKey": "cost_config",
"defName": "cost_config",
"intro": "",
"type": "P",
"fields": [
{
"id": "7871BAC5-9C1E-45D3-A150-5D4C9B2D9772",
"defKey": "id",
"defName": "Id",
"intro": "",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 1,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "4FDB3C56-9FFA-4A13-AE1A-E764AE66431C",
"defKey": "cost_strategy",
"defName": "计费策略",
"intro": "字典代码cost_strategy",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 64,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "cost_strategy",
"stndFieldId": "",
"stndDictKey": "cost_strategy",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "Dun",
"itemName": "按吨",
"parentKey": "",
"intro": "",
"id": "17C1DC4B-B707-4DAD-8B24-484838F9C157"
},
{
"itemKey": "Che",
"itemName": "按方",
"parentKey": "",
"intro": "",
"id": "CC0058F6-02CA-4645-9FEF-9143833C2964"
},
{
"itemKey": "Fang",
"itemName": "按距离",
"parentKey": "",
"intro": "",
"id": "024EEBD1-5C0E-4AA4-A5EA-3E2BAA80628A"
},
{
"itemKey": "Juli",
"itemName": "按车",
"parentKey": "",
"intro": "",
"id": "34D2FFAC-CB4B-4E3B-8125-6605491E95A8"
},
{
"itemKey": "TanXing",
"itemName": "弹性",
"parentKey": "",
"intro": "",
"id": "B247787C-6787-41E8-BADD-5F155C62B7A9"
}
],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "AA6A0858-0789-4ABA-B055-CD3F39C1A4D6",
"defKey": "tax_rate",
"defName": "税率",
"intro": "",
"baseDataType": "DECIMAL",
"bizDomainType": "",
"dbDataType": "DECIMAL",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "57999358-5DCB-400E-8A77-8F3A62665A9F",
"defKey": "payer",
"defName": "付费方",
"intro": "字典代码payer",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "payer",
"stndFieldId": "",
"stndDictKey": "payer",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "Manual",
"dictItems": [
{
"itemKey": "PingTai",
"itemName": "平台",
"parentKey": "",
"intro": "",
"id": "F9E5B2B3-3E58-4B22-88F6-C3925BDD4EFF"
},
{
"itemKey": "ChanFei",
"itemName": "产废方",
"parentKey": "",
"intro": "",
"id": "DAE6A790-C2D0-4972-9491-FEAF67E5B00C"
},
{
"itemKey": "QingYun",
"itemName": "清运方",
"parentKey": "",
"intro": "",
"id": "BDD02160-F9E7-4E0B-A227-008E0E0DCBB9"
},
{
"itemKey": "XiaoNa",
"itemName": "消纳方",
"parentKey": "",
"intro": "",
"id": "19C7D008-74BD-4478-8705-D5EB03C54DA5"
}
],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "5A28A88A-E522-47C6-A63E-01FF12177651",
"defKey": "canuse",
"defName": "是否可用",
"intro": "0-->否、1-->是",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "301FA013-39AE-44C3-BF16-5C0A0B9E8355",
"defKey": "unit",
"defName": "单位",
"intro": "字典代码unit",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "38341EB7-4DE1-4AAC-955D-B0B3F08E54CC",
"defKey": "unit_price",
"defName": "单价",
"intro": "单位:元,弹性模式-->每档价格",
"baseDataType": "DECIMAL",
"bizDomainType": "",
"dbDataType": "DECIMAL",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0.0",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "2356F174-F3CE-4F53-9243-DC25BF41609D",
"defKey": "initial_price",
"defName": "起步价",
"intro": "单位:元,<= 起步量 固定费用",
"baseDataType": "DECIMAL",
"bizDomainType": "",
"dbDataType": "DECIMAL",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0.0",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "4F1B1CE5-54FF-4161-A825-95A6DF9DF02E",
"defKey": "initial_quantity",
"defName": "起步量",
"intro": "",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "A0020FCD-FCA7-42E8-AAEB-871E1878A482",
"defKey": "every_quantity",
"defName": "每档的量",
"intro": "",
"baseDataType": "INT",
"bizDomainType": "",
"dbDataType": "INT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "41DD32FB-F933-4C6E-B990-E543EBDE9D63",
"defKey": "memo",
"defName": "备注",
"intro": "",
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "''",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "UI"
},
{
"id": "99DEE8B8-55C9-4F64-9423-12F9AFB761CD",
"defKey": "creator_id",
"defName": "创建人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": null,
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "09D256B0-1AA9-41C2-8EA1-90739E21AD2C",
"defKey": "modifier_id",
"defName": "修改人 Id",
"intro": " sys_user.id",
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "93952EEE-BDD1-4C8D-B795-D24A1E75B7C9",
"defKey": "create_time",
"defName": "创建时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "251BA67A-9180-4ECB-BFD2-ACB590CFB138",
"defKey": "modify_time",
"defName": "修改时间",
"intro": "",
"baseDataType": "DATETIME",
"bizDomainType": "",
"dbDataType": "DATETIME",
"dataLen": "",
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
},
{
"id": "E238E302-DAB7-4D0C-A5F8-ED959105CA58",
"defKey": "deleted",
"defName": "是否删除",
"intro": " 0-->未删除、1-->已删除",
"baseDataType": "TINYINT",
"bizDomainType": "",
"dbDataType": "TINYINT",
"dataLen": 1,
"numScale": "",
"primaryKey": 0,
"notNull": 1,
"autoIncrement": 0,
"defaultValue": "0",
"stndDictId": "",
"stndFieldId": "",
"stndDictKey": "",
"stndFieldKey": "",
"stndComplianceLevel": "",
"stndComplianceType": "",
"dictFrom": "",
"dictItems": [],
"fieldTier": "",
"mark": null,
"attr1": "",
"attr2": "",
"attr3": "",
"attr4": "",
"attr5": "",
"attr6": "",
"attr7": "",
"attr8": "",
"attr9": "",
"attr10": "",
"attr11": "",
"attr12": "",
"attr13": "",
"attr14": "",
"attr15": "",
"attr16": "",
"attr17": "",
"attr18": "PDManer",
"attr19": "",
"attr20": "",
"origin": "PASTE"
}
],
"indexes": []
},
{
"id": "FEF038F4-4AEE-4930-9C4B-E08E7F4F3A23",
"type": "P",
"defKey": "sys_token",
"defName": "登录令牌表",
"intro": null,
"schemaName": null,
"props": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"fields": [
{
"id": "C19174D2-7943-4BDF-8316-432C36B91DDF",
"defKey": "id",
"defName": "Id",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": 1,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "3618FFCA-CE3D-4A17-85F1-2CC0EA27D21C",
"defKey": "user_id",
"defName": "用户 Id",
"intro": null,
"orderValue": null,
"baseDataType": "BIGINT",
"bizDomainType": "",
"dbDataType": "BIGINT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "0C71BB99-2CE3-49BE-9AAA-12237E6432BE",
"defKey": "tid",
"defName": "Token Id",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 128,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "F6C2D625-5FC5-41DC-AFAD-5BE4E5BEA5DA",
"defKey": "tkey",
"defName": "Token 键",
"intro": null,
"orderValue": null,
"baseDataType": "VARCHAR",
"bizDomainType": "",
"dbDataType": "VARCHAR",
"dataLen": 512,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "C86DD7B3-38C5-4D83-B186-72384925B943",
"defKey": "tval",
"defName": "Token 值",
"intro": null,
"orderValue": null,
"baseDataType": "TEXT",
"bizDomainType": "",
"dbDataType": "TEXT",
"dataLen": "",
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
},
{
"id": "3DD1ECA7-0611-40F6-84AE-27A79450D5AA",
"defKey": "user_detail",
"defName": "用户信息",
"intro": null,
"orderValue": null,
"baseDataType": "TEXT",
"bizDomainType": "",
"dbDataType": "TEXT",
"dataLen": null,
"numScale": null,
"primaryKey": null,
"notNull": 1,
"autoIncrement": null,
"defaultValue": null,
"stndDictId": null,
"stndDictKey": null,
"stndFieldId": null,
"stndFieldKey": null,
"mark": null,
"attr1": null,
"attr2": null,
"attr3": null,
"attr4": null,
"attr5": null,
"attr6": null,
"attr7": null,
"attr8": null,
"attr9": null,
"attr10": null,
"attr11": null,
"attr12": null,
"attr13": null,
"attr14": null,
"attr15": null,
"attr16": null,
"attr17": null,
"attr18": null,
"attr19": null,
"attr20": null,
"origin": null,
"stndComplianceType": null,
"stndComplianceLevel": null,
"updatedUserId": null,
"createdUserId": null
}
],
"correlations": null,
"indexes": []
}
],
"diagrams": [],
"readonly": false,
"allowWs": false
},
"updateTime": 1764745416916,
"signature": "8544bca36f09b1a9aaacb5609a28e4cb",
"branchId": "1111"
}