@cmd233/mcp-database-server 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -192,7 +192,8 @@ export class MysqlAdapter {
|
|
|
192
192
|
DATA_TYPE as type,
|
|
193
193
|
CASE WHEN IS_NULLABLE = 'NO' THEN 1 ELSE 0 END as notnull,
|
|
194
194
|
CASE WHEN COLUMN_KEY = 'PRI' THEN 1 ELSE 0 END as pk,
|
|
195
|
-
COLUMN_DEFAULT as dflt_value
|
|
195
|
+
COLUMN_DEFAULT as dflt_value,
|
|
196
|
+
COLUMN_COMMENT as comment
|
|
196
197
|
FROM
|
|
197
198
|
INFORMATION_SCHEMA.COLUMNS
|
|
198
199
|
WHERE
|
|
@@ -145,24 +145,34 @@ export class PostgresqlAdapter {
|
|
|
145
145
|
*/
|
|
146
146
|
getDescribeTableQuery(tableName) {
|
|
147
147
|
return `
|
|
148
|
-
SELECT
|
|
148
|
+
SELECT
|
|
149
149
|
c.column_name as name,
|
|
150
150
|
c.data_type as type,
|
|
151
151
|
CASE WHEN c.is_nullable = 'NO' THEN 1 ELSE 0 END as notnull,
|
|
152
152
|
CASE WHEN pk.constraint_name IS NOT NULL THEN 1 ELSE 0 END as pk,
|
|
153
|
-
c.column_default as dflt_value
|
|
154
|
-
|
|
153
|
+
c.column_default as dflt_value,
|
|
154
|
+
pgd.description AS comment
|
|
155
|
+
FROM
|
|
155
156
|
information_schema.columns c
|
|
156
|
-
LEFT JOIN
|
|
157
|
-
information_schema.key_column_usage kcu
|
|
157
|
+
LEFT JOIN
|
|
158
|
+
information_schema.key_column_usage kcu
|
|
158
159
|
ON c.table_name = kcu.table_name AND c.column_name = kcu.column_name
|
|
159
|
-
LEFT JOIN
|
|
160
|
-
information_schema.table_constraints pk
|
|
160
|
+
LEFT JOIN
|
|
161
|
+
information_schema.table_constraints pk
|
|
161
162
|
ON kcu.constraint_name = pk.constraint_name AND pk.constraint_type = 'PRIMARY KEY'
|
|
162
|
-
|
|
163
|
+
LEFT JOIN
|
|
164
|
+
pg_catalog.pg_class pgc
|
|
165
|
+
ON pgc.relname = c.table_name
|
|
166
|
+
LEFT JOIN
|
|
167
|
+
pg_catalog.pg_attribute pga
|
|
168
|
+
ON pga.attrelid = pgc.oid AND pga.attname = c.column_name
|
|
169
|
+
LEFT JOIN
|
|
170
|
+
pg_catalog.pg_description pgd
|
|
171
|
+
ON pgd.objoid = pgc.oid AND pgd.objsubid = pga.attnum
|
|
172
|
+
WHERE
|
|
163
173
|
c.table_name = '${tableName}'
|
|
164
174
|
AND c.table_schema = 'public'
|
|
165
|
-
ORDER BY
|
|
175
|
+
ORDER BY
|
|
166
176
|
c.ordinal_position
|
|
167
177
|
`;
|
|
168
178
|
}
|
|
@@ -129,6 +129,6 @@ export class SqliteAdapter {
|
|
|
129
129
|
* @param tableName 表名
|
|
130
130
|
*/
|
|
131
131
|
getDescribeTableQuery(tableName) {
|
|
132
|
-
return `
|
|
132
|
+
return `SELECT name, type, notnull, pk, dflt_value, NULL as comment FROM pragma_table_info('${tableName}')`;
|
|
133
133
|
}
|
|
134
134
|
}
|
|
@@ -255,23 +255,29 @@ export class SqlServerAdapter {
|
|
|
255
255
|
* @param tableName 表名
|
|
256
256
|
*/
|
|
257
257
|
getDescribeTableQuery(tableName) {
|
|
258
|
-
return `
|
|
259
|
-
SELECT
|
|
260
|
-
c.COLUMN_NAME as name,
|
|
261
|
-
c.DATA_TYPE as type,
|
|
262
|
-
CASE WHEN c.IS_NULLABLE = 'NO' THEN 1 ELSE 0 END as notnull,
|
|
263
|
-
CASE WHEN pk.CONSTRAINT_TYPE = 'PRIMARY KEY' THEN 1 ELSE 0 END as pk,
|
|
264
|
-
c.COLUMN_DEFAULT as dflt_value
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
258
|
+
return `
|
|
259
|
+
SELECT
|
|
260
|
+
c.COLUMN_NAME as name,
|
|
261
|
+
c.DATA_TYPE as type,
|
|
262
|
+
CASE WHEN c.IS_NULLABLE = 'NO' THEN 1 ELSE 0 END as notnull,
|
|
263
|
+
CASE WHEN pk.CONSTRAINT_TYPE = 'PRIMARY KEY' THEN 1 ELSE 0 END as pk,
|
|
264
|
+
c.COLUMN_DEFAULT as dflt_value,
|
|
265
|
+
ep.value AS comment
|
|
266
|
+
FROM
|
|
267
|
+
INFORMATION_SCHEMA.COLUMNS c
|
|
268
|
+
LEFT JOIN
|
|
269
|
+
INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON c.TABLE_NAME = kcu.TABLE_NAME AND c.COLUMN_NAME = kcu.COLUMN_NAME
|
|
270
|
+
LEFT JOIN
|
|
271
|
+
INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk ON kcu.CONSTRAINT_NAME = pk.CONSTRAINT_NAME AND pk.CONSTRAINT_TYPE = 'PRIMARY KEY'
|
|
272
|
+
LEFT JOIN
|
|
273
|
+
sys.extended_properties ep
|
|
274
|
+
ON ep.major_id = OBJECT_ID(SCHEMA_NAME(c.TABLE_SCHEMA) + '.' + c.TABLE_NAME)
|
|
275
|
+
AND ep.minor_id = c.ORDINAL_POSITION
|
|
276
|
+
AND ep.name = 'MS_Description'
|
|
277
|
+
WHERE
|
|
278
|
+
c.TABLE_NAME = '${tableName}'
|
|
279
|
+
ORDER BY
|
|
280
|
+
c.ORDINAL_POSITION
|
|
275
281
|
`;
|
|
276
282
|
}
|
|
277
283
|
/**
|
package/package.json
CHANGED