@thinkdata/cli 0.1.0 → 0.2.1

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.
Files changed (44) hide show
  1. package/dist/bin/thinkdata.js +24 -4
  2. package/dist/bin/thinkdata.js.map +1 -1
  3. package/dist/commands/auth.d.ts +9 -0
  4. package/dist/commands/auth.d.ts.map +1 -0
  5. package/dist/commands/auth.js +61 -0
  6. package/dist/commands/auth.js.map +1 -0
  7. package/dist/commands/compare.d.ts +1 -0
  8. package/dist/commands/compare.d.ts.map +1 -1
  9. package/dist/commands/compare.js +2 -2
  10. package/dist/commands/compare.js.map +1 -1
  11. package/dist/commands/extract.d.ts +1 -0
  12. package/dist/commands/extract.d.ts.map +1 -1
  13. package/dist/commands/extract.js +40 -10
  14. package/dist/commands/extract.js.map +1 -1
  15. package/dist/commands/serve.d.ts +9 -0
  16. package/dist/commands/serve.d.ts.map +1 -0
  17. package/dist/commands/serve.js +348 -0
  18. package/dist/commands/serve.js.map +1 -0
  19. package/dist/extractors/index.d.ts.map +1 -1
  20. package/dist/extractors/index.js +7 -2
  21. package/dist/extractors/index.js.map +1 -1
  22. package/dist/extractors/mssql.d.ts +14 -0
  23. package/dist/extractors/mssql.d.ts.map +1 -0
  24. package/dist/extractors/mssql.js +234 -0
  25. package/dist/extractors/mssql.js.map +1 -0
  26. package/dist/extractors/mysql.d.ts +4 -2
  27. package/dist/extractors/mysql.d.ts.map +1 -1
  28. package/dist/extractors/mysql.js +30 -8
  29. package/dist/extractors/mysql.js.map +1 -1
  30. package/dist/extractors/oracle.d.ts +13 -0
  31. package/dist/extractors/oracle.d.ts.map +1 -0
  32. package/dist/extractors/oracle.js +189 -0
  33. package/dist/extractors/oracle.js.map +1 -0
  34. package/dist/extractors/postgres.d.ts +6 -3
  35. package/dist/extractors/postgres.d.ts.map +1 -1
  36. package/dist/extractors/postgres.js +63 -13
  37. package/dist/extractors/postgres.js.map +1 -1
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/types.d.ts +16 -1
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +19 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mssql.js","sourceRoot":"","sources":["../../src/extractors/mssql.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
- import type { SchemaExtractor, ConnectionConfig, ExtractedSchema } from '../types.js';
1
+ import type { SchemaExtractor, ConnectionConfig, ExtractedSchema, ExtractProgressCallback } from '../types.js';
2
2
  export declare class MySQLExtractor implements SchemaExtractor {
3
3
  testConnection(config: ConnectionConfig): Promise<string>;
4
- extract(config: ConnectionConfig): Promise<ExtractedSchema>;
4
+ /** 선택 가능한 스키마(=데이터베이스) 목록. MySQL은 schema=database. */
5
+ listSchemas(config: ConnectionConfig): Promise<string[]>;
6
+ extract(config: ConnectionConfig, onProgress?: ExtractProgressCallback): Promise<ExtractedSchema>;
5
7
  private createConnection;
6
8
  private getVersion;
7
9
  private getTables;
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../src/extractors/mysql.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EAChB,eAAe,EAKlB,MAAM,aAAa,CAAC;AAErB,qBAAa,cAAe,YAAW,eAAe;IAC5C,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzD,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;YAkDnD,gBAAgB;YAYhB,UAAU;YAKV,SAAS;YAwCT,cAAc;YAUd,cAAc;YA+Bd,UAAU;IA2BxB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;CAYxB"}
1
+ {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../../src/extractors/mysql.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EAChB,eAAe,EAKf,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAErB,qBAAa,cAAe,YAAW,eAAe;IAC5C,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU/D,sDAAsD;IAChD,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAexD,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;YA8DzF,gBAAgB;YAYhB,UAAU;YAKV,SAAS;YAwCT,cAAc;YAUd,cAAc;YA+Bd,UAAU;IA2BxB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;CAYxB"}
@@ -15,17 +15,39 @@ export class MySQLExtractor {
15
15
  await conn.end();
16
16
  }
17
17
  }
18
- async extract(config) {
18
+ /** 선택 가능한 스키마(=데이터베이스) 목록. MySQL은 schema=database. */
19
+ async listSchemas(config) {
20
+ const conn = await this.createConnection(config);
21
+ try {
22
+ const [rows] = await conn.query(`
23
+ SELECT schema_name
24
+ FROM information_schema.schemata
25
+ WHERE schema_name NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
26
+ ORDER BY schema_name
27
+ `);
28
+ return rows.map(r => r.schema_name ?? r.SCHEMA_NAME);
29
+ }
30
+ finally {
31
+ await conn.end();
32
+ }
33
+ }
34
+ async extract(config, onProgress) {
19
35
  const conn = await this.createConnection(config);
20
36
  const schema = config.database; // MySQL에서 schema = database
21
37
  try {
22
- const [version, tables, pks, fks, indexes] = await Promise.all([
23
- this.getVersion(conn),
24
- this.getTables(conn, schema),
25
- this.getPrimaryKeys(conn, schema),
26
- this.getForeignKeys(conn, schema),
27
- this.getIndexes(conn, schema),
28
- ]);
38
+ onProgress?.(`Connecting to MySQL at ${config.host}...`);
39
+ onProgress?.(`Fetching server version...`);
40
+ const version = await this.getVersion(conn);
41
+ onProgress?.(`Fetching tables and columns from schema '${schema}'...`);
42
+ const tables = await this.getTables(conn, schema);
43
+ onProgress?.(`Found ${tables.length} tables.`);
44
+ onProgress?.(`Fetching primary keys...`);
45
+ const pks = await this.getPrimaryKeys(conn, schema);
46
+ onProgress?.(`Fetching foreign keys...`);
47
+ const fks = await this.getForeignKeys(conn, schema);
48
+ onProgress?.(`Fetching indexes...`);
49
+ const indexes = await this.getIndexes(conn, schema);
50
+ onProgress?.(`Building relationships and formatting output...`);
29
51
  const pkMap = this.buildPKMap(pks);
30
52
  const indexMap = this.buildIndexMap(indexes);
31
53
  const extractedTables = tables.map((t) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/extractors/mysql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/extractors/mysql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { SchemaExtractor, ConnectionConfig, ExtractedSchema, ExtractProgressCallback } from '../types.js';
2
+ export declare class OracleExtractor implements SchemaExtractor {
3
+ testConnection(config: ConnectionConfig): Promise<string>;
4
+ extract(config: ConnectionConfig, onProgress?: ExtractProgressCallback): Promise<ExtractedSchema>;
5
+ private createConnection;
6
+ private getTables;
7
+ private getPrimaryKeys;
8
+ private getForeignKeys;
9
+ private getIndexes;
10
+ private buildPKMap;
11
+ private buildIndexMap;
12
+ }
13
+ //# sourceMappingURL=oracle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../src/extractors/oracle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EAChB,eAAe,EAKf,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAErB,qBAAa,eAAgB,YAAW,eAAe;IAC7C,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IASzD,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;YA+DzF,gBAAgB;YAQhB,SAAS;YAwCT,cAAc;YAYd,cAAc;YA+Bd,UAAU;IAYxB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;CAkBxB"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Oracle 스키마 추출기
3
+ */
4
+ import oracledb from 'oracledb';
5
+ export class OracleExtractor {
6
+ async testConnection(config) {
7
+ const conn = await this.createConnection(config);
8
+ try {
9
+ return `Oracle ${conn.oracleServerVersionString}`;
10
+ }
11
+ finally {
12
+ await conn.close();
13
+ }
14
+ }
15
+ async extract(config, onProgress) {
16
+ oracledb.outFormat = oracledb.OUT_FORMAT_OBJECT;
17
+ const conn = await this.createConnection(config);
18
+ const schema = (config.schema || config.user).toUpperCase();
19
+ try {
20
+ onProgress?.(`Connecting to Oracle at ${config.host}...`);
21
+ onProgress?.(`Fetching server version...`);
22
+ const version = `Oracle ${conn.oracleServerVersionString}`;
23
+ onProgress?.(`Fetching tables and columns from schema '${schema}'...`);
24
+ const tables = await this.getTables(conn, schema);
25
+ onProgress?.(`Found ${tables.length} tables.`);
26
+ onProgress?.(`Fetching primary keys...`);
27
+ const pks = await this.getPrimaryKeys(conn, schema);
28
+ onProgress?.(`Fetching foreign keys...`);
29
+ const fks = await this.getForeignKeys(conn, schema);
30
+ onProgress?.(`Fetching indexes...`);
31
+ const indexes = await this.getIndexes(conn, schema);
32
+ onProgress?.(`Building relationships and formatting output...`);
33
+ const pkMap = this.buildPKMap(pks);
34
+ const indexMap = this.buildIndexMap(indexes);
35
+ const extractedTables = tables.map((t) => ({
36
+ name: t.TABLE_NAME,
37
+ schema: schema,
38
+ comment: t.TABLE_COMMENT || undefined,
39
+ columns: t.columns.map((c) => ({
40
+ name: c.COLUMN_NAME,
41
+ type: c.COLUMN_TYPE,
42
+ nullable: c.IS_NULLABLE === 'Y',
43
+ isPK: pkMap.get(t.TABLE_NAME)?.has(c.COLUMN_NAME) ?? false,
44
+ defaultValue: c.COLUMN_DEFAULT ? c.COLUMN_DEFAULT.trim() : undefined,
45
+ comment: c.COLUMN_COMMENT || undefined,
46
+ ordinalPosition: c.ORDINAL_POSITION,
47
+ maxLength: c.CHARACTER_MAXIMUM_LENGTH || undefined,
48
+ numericPrecision: c.NUMERIC_PRECISION || undefined,
49
+ numericScale: c.NUMERIC_SCALE || undefined,
50
+ })),
51
+ indexes: indexMap.get(t.TABLE_NAME) || [],
52
+ }));
53
+ return {
54
+ dbmsType: 'oracle',
55
+ dbmsVersion: version,
56
+ extractedAt: new Date().toISOString(),
57
+ schemaName: schema,
58
+ tables: extractedTables,
59
+ foreignKeys: fks,
60
+ };
61
+ }
62
+ finally {
63
+ await conn.close();
64
+ }
65
+ }
66
+ // ─── Private ─────────────────────────────────────────
67
+ async createConnection(config) {
68
+ return oracledb.getConnection({
69
+ user: config.user,
70
+ password: config.password,
71
+ connectString: `${config.host}:${config.port}/${config.database}`,
72
+ });
73
+ }
74
+ async getTables(conn, schema) {
75
+ const result = await conn.execute(`
76
+ SELECT
77
+ t.TABLE_NAME, c.COLUMN_NAME, c.COLUMN_ID AS ORDINAL_POSITION, c.DATA_TYPE AS COLUMN_TYPE,
78
+ c.NULLABLE AS IS_NULLABLE, c.DATA_DEFAULT AS COLUMN_DEFAULT, c.DATA_LENGTH AS CHARACTER_MAXIMUM_LENGTH,
79
+ c.DATA_PRECISION AS NUMERIC_PRECISION, c.DATA_SCALE AS NUMERIC_SCALE,
80
+ cm.COMMENTS AS COLUMN_COMMENT
81
+ FROM ALL_TABLES t
82
+ JOIN ALL_TAB_COLUMNS c ON t.TABLE_NAME = c.TABLE_NAME AND t.OWNER = c.OWNER
83
+ LEFT JOIN ALL_COL_COMMENTS cm ON t.TABLE_NAME = cm.TABLE_NAME AND c.COLUMN_NAME = cm.COLUMN_NAME AND t.OWNER = cm.OWNER
84
+ WHERE t.OWNER = :schema
85
+ ORDER BY t.TABLE_NAME, c.COLUMN_ID
86
+ `, [schema]);
87
+ const tableComments = await conn.execute(`
88
+ SELECT TABLE_NAME, COMMENTS AS TABLE_COMMENT
89
+ FROM ALL_TAB_COMMENTS
90
+ WHERE OWNER = :schema AND TABLE_TYPE = 'TABLE'
91
+ `, [schema]);
92
+ const commentMap = new Map();
93
+ for (const tc of tableComments.rows || []) {
94
+ if (tc.TABLE_COMMENT)
95
+ commentMap.set(tc.TABLE_NAME, tc.TABLE_COMMENT);
96
+ }
97
+ const tableMap = new Map();
98
+ for (const col of result.rows || []) {
99
+ if (!tableMap.has(col.TABLE_NAME)) {
100
+ tableMap.set(col.TABLE_NAME, {
101
+ TABLE_NAME: col.TABLE_NAME,
102
+ TABLE_COMMENT: commentMap.get(col.TABLE_NAME) || null,
103
+ columns: [],
104
+ });
105
+ }
106
+ tableMap.get(col.TABLE_NAME).columns.push(col);
107
+ }
108
+ return Array.from(tableMap.values());
109
+ }
110
+ async getPrimaryKeys(conn, schema) {
111
+ const result = await conn.execute(`
112
+ SELECT
113
+ c.TABLE_NAME, c.COLUMN_NAME
114
+ FROM ALL_CONSTRAINTS pk
115
+ JOIN ALL_CONS_COLUMNS c ON pk.CONSTRAINT_NAME = c.CONSTRAINT_NAME AND pk.OWNER = c.OWNER
116
+ WHERE pk.CONSTRAINT_TYPE = 'P' AND pk.OWNER = :schema
117
+ ORDER BY c.TABLE_NAME, c.POSITION
118
+ `, [schema]);
119
+ return result.rows || [];
120
+ }
121
+ async getForeignKeys(conn, schema) {
122
+ const result = await conn.execute(`
123
+ SELECT
124
+ fk.CONSTRAINT_NAME,
125
+ fk.TABLE_NAME AS SOURCE_TABLE,
126
+ c1.COLUMN_NAME AS SOURCE_COLUMN,
127
+ pk.TABLE_NAME AS TARGET_TABLE,
128
+ c2.COLUMN_NAME AS TARGET_COLUMN,
129
+ fk.DELETE_RULE
130
+ FROM ALL_CONSTRAINTS fk
131
+ JOIN ALL_CONSTRAINTS pk ON fk.R_CONSTRAINT_NAME = pk.CONSTRAINT_NAME AND fk.OWNER = pk.OWNER
132
+ JOIN ALL_CONS_COLUMNS c1 ON fk.CONSTRAINT_NAME = c1.CONSTRAINT_NAME AND fk.OWNER = c1.OWNER
133
+ JOIN ALL_CONS_COLUMNS c2 ON pk.CONSTRAINT_NAME = c2.CONSTRAINT_NAME AND pk.OWNER = c2.OWNER AND c1.POSITION = c2.POSITION
134
+ WHERE fk.CONSTRAINT_TYPE = 'R' AND fk.OWNER = :schema
135
+ `, [schema]);
136
+ const rows = result.rows || [];
137
+ return rows.map((r) => {
138
+ return {
139
+ name: r.CONSTRAINT_NAME,
140
+ sourceTable: r.SOURCE_TABLE,
141
+ sourceSchema: schema,
142
+ sourceColumn: r.SOURCE_COLUMN,
143
+ targetTable: r.TARGET_TABLE,
144
+ targetSchema: schema,
145
+ targetColumn: r.TARGET_COLUMN,
146
+ onDelete: r.DELETE_RULE === 'CASCADE' ? 'CASCADE' : (r.DELETE_RULE === 'SET NULL' ? 'SET NULL' : undefined),
147
+ };
148
+ });
149
+ }
150
+ async getIndexes(conn, schema) {
151
+ const result = await conn.execute(`
152
+ SELECT
153
+ i.TABLE_NAME, i.INDEX_NAME, c.COLUMN_NAME, i.UNIQUENESS
154
+ FROM ALL_INDEXES i
155
+ JOIN ALL_IND_COLUMNS c ON i.INDEX_NAME = c.INDEX_NAME AND i.TABLE_OWNER = c.TABLE_OWNER
156
+ WHERE i.TABLE_OWNER = :schema AND i.INDEX_TYPE != 'LOB'
157
+ ORDER BY i.TABLE_NAME, i.INDEX_NAME, c.COLUMN_POSITION
158
+ `, [schema]);
159
+ return result.rows || [];
160
+ }
161
+ buildPKMap(pks) {
162
+ const map = new Map();
163
+ for (const pk of pks) {
164
+ if (!map.has(pk.TABLE_NAME))
165
+ map.set(pk.TABLE_NAME, new Set());
166
+ map.get(pk.TABLE_NAME).add(pk.COLUMN_NAME);
167
+ }
168
+ return map;
169
+ }
170
+ buildIndexMap(indexes) {
171
+ const map = new Map();
172
+ for (const idx of indexes) {
173
+ if (!map.has(idx.TABLE_NAME))
174
+ map.set(idx.TABLE_NAME, []);
175
+ let indexObj = map.get(idx.TABLE_NAME).find(i => i.name === idx.INDEX_NAME);
176
+ if (!indexObj) {
177
+ indexObj = {
178
+ name: idx.INDEX_NAME,
179
+ columns: [],
180
+ unique: idx.UNIQUENESS === 'UNIQUE',
181
+ };
182
+ map.get(idx.TABLE_NAME).push(indexObj);
183
+ }
184
+ indexObj.columns.push(idx.COLUMN_NAME);
185
+ }
186
+ return map;
187
+ }
188
+ }
189
+ //# sourceMappingURL=oracle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../src/extractors/oracle.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
- import type { SchemaExtractor, ConnectionConfig, ExtractedSchema } from '../types.js';
1
+ import type { SchemaExtractor, ConnectionConfig, ExtractedSchema, ExtractProgressCallback, TableStats } from '../types.js';
2
2
  export declare class PostgresExtractor implements SchemaExtractor {
3
3
  /**
4
4
  * 연결 테스트 — PostgreSQL 버전 반환
5
5
  */
6
6
  testConnection(config: ConnectionConfig): Promise<string>;
7
+ getStats(config: ConnectionConfig): Promise<TableStats[]>;
8
+ /** 선택 가능한 스키마 목록 (시스템 스키마 제외) */
9
+ listSchemas(config: ConnectionConfig): Promise<string[]>;
7
10
  /**
8
- * 스키마 추출 — 테이블, 컬럼, PK, FK, 인덱스를 한 번에 추출
11
+ * 스키마 추출 — 테이블, 컬럼, PK, FK, 인덱스를 추출
9
12
  */
10
- extract(config: ConnectionConfig): Promise<ExtractedSchema>;
13
+ extract(config: ConnectionConfig, onProgress?: ExtractProgressCallback): Promise<ExtractedSchema>;
11
14
  private createClient;
12
15
  private getVersion;
13
16
  private getTables;
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/extractors/postgres.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EAChB,eAAe,EAKlB,MAAM,aAAa,CAAC;AAErB,qBAAa,iBAAkB,YAAW,eAAe;IACrD;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAW/D;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IA0DjE,OAAO,CAAC,YAAY;YAaN,UAAU;YAKV,SAAS;YAsDT,cAAc;YAkBd,cAAc;YAwCd,UAAU;IAsBxB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,UAAU;CAiBrB"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/extractors/postgres.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,eAAe,EACf,gBAAgB,EAChB,eAAe,EAKf,uBAAuB,EACvB,UAAU,EACb,MAAM,aAAa,CAAC;AAErB,qBAAa,iBAAkB,YAAW,eAAe;IACrD;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA2B/D,iCAAiC;IAC3B,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkB9D;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IAoEvG,OAAO,CAAC,YAAY;YAaN,UAAU;YAKV,SAAS;YAsDT,cAAc;YAkBd,cAAc;YAwCd,UAAU;IAsBxB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,UAAU;CAiBrB"}
@@ -11,31 +11,81 @@ export class PostgresExtractor {
11
11
  */
12
12
  async testConnection(config) {
13
13
  const client = this.createClient(config);
14
+ await client.connect();
14
15
  try {
15
- await client.connect();
16
- const result = await client.query('SELECT version()');
17
- return result.rows[0].version;
16
+ return await this.getVersion(client);
17
+ }
18
+ finally {
19
+ await client.end();
20
+ }
21
+ }
22
+ async getStats(config) {
23
+ const client = this.createClient(config);
24
+ await client.connect();
25
+ try {
26
+ const result = await client.query(`
27
+ SELECT
28
+ relname AS table_name,
29
+ n_live_tup AS row_count,
30
+ n_dead_tup AS dead_rows,
31
+ idx_scan AS index_scans,
32
+ seq_scan AS sequential_scans,
33
+ pg_relation_size(relid) AS table_size_bytes
34
+ FROM pg_stat_user_tables;
35
+ `);
36
+ return result.rows.map(row => ({
37
+ tableName: row.table_name,
38
+ rowCount: parseInt(row.row_count, 10) || 0,
39
+ deadRows: parseInt(row.dead_rows, 10) || 0,
40
+ indexScans: parseInt(row.index_scans, 10) || 0,
41
+ sequentialScans: parseInt(row.sequential_scans, 10) || 0,
42
+ tableSizeBytes: parseInt(row.table_size_bytes, 10) || 0,
43
+ }));
44
+ }
45
+ finally {
46
+ await client.end();
47
+ }
48
+ }
49
+ /** 선택 가능한 스키마 목록 (시스템 스키마 제외) */
50
+ async listSchemas(config) {
51
+ const client = this.createClient(config);
52
+ await client.connect();
53
+ try {
54
+ const result = await client.query(`
55
+ SELECT schema_name
56
+ FROM information_schema.schemata
57
+ WHERE schema_name NOT IN ('information_schema', 'pg_catalog')
58
+ AND schema_name NOT LIKE 'pg_toast%'
59
+ AND schema_name NOT LIKE 'pg_temp%'
60
+ ORDER BY schema_name
61
+ `);
62
+ return result.rows.map(r => r.schema_name);
18
63
  }
19
64
  finally {
20
65
  await client.end();
21
66
  }
22
67
  }
23
68
  /**
24
- * 스키마 추출 — 테이블, 컬럼, PK, FK, 인덱스를 한 번에 추출
69
+ * 스키마 추출 — 테이블, 컬럼, PK, FK, 인덱스를 추출
25
70
  */
26
- async extract(config) {
71
+ async extract(config, onProgress) {
27
72
  const client = this.createClient(config);
28
73
  const schema = config.schema || 'public';
29
74
  try {
75
+ onProgress?.(`Connecting to PostgreSQL at ${config.host}...`);
30
76
  await client.connect();
31
- // 병렬 추출
32
- const [version, tables, pks, fks, indexes] = await Promise.all([
33
- this.getVersion(client),
34
- this.getTables(client, schema),
35
- this.getPrimaryKeys(client, schema),
36
- this.getForeignKeys(client, schema),
37
- this.getIndexes(client, schema),
38
- ]);
77
+ onProgress?.(`Fetching server version...`);
78
+ const version = await this.getVersion(client);
79
+ onProgress?.(`Fetching tables and columns from schema '${schema}'...`);
80
+ const tables = await this.getTables(client, schema);
81
+ onProgress?.(`Found ${tables.length} tables.`);
82
+ onProgress?.(`Fetching primary keys...`);
83
+ const pks = await this.getPrimaryKeys(client, schema);
84
+ onProgress?.(`Fetching foreign keys...`);
85
+ const fks = await this.getForeignKeys(client, schema);
86
+ onProgress?.(`Fetching indexes...`);
87
+ const indexes = await this.getIndexes(client, schema);
88
+ onProgress?.(`Building relationships and formatting output...`);
39
89
  // PK 정보를 컬럼에 매핑
40
90
  const pkMap = this.buildPKMap(pks);
41
91
  // 인덱스를 테이블별로 그룹핑
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/extractors/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/extractors/postgres.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,4 +11,5 @@ export { convertToERD } from './converter/schemaToERD.js';
11
11
  export type { ERDEntity, ERDColumn, ERDRelationship, ConversionResult } from './converter/schemaToERD.js';
12
12
  export { compareSchemas } from './commands/compare.js';
13
13
  export type { SchemaDiff, TableDiff, ColumnDiff, FKDiff } from './commands/compare.js';
14
+ export { serveCommand } from './commands/serve.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EACR,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EACR,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -3,4 +3,5 @@ export { PostgresExtractor } from './extractors/postgres.js';
3
3
  export { MySQLExtractor } from './extractors/mysql.js';
4
4
  export { convertToERD } from './converter/schemaToERD.js';
5
5
  export { compareSchemas } from './commands/compare.js';
6
+ export { serveCommand } from './commands/serve.js';
6
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -104,11 +104,26 @@ export interface ConnectionConfig {
104
104
  /** SSL 사용 여부 */
105
105
  ssl?: boolean;
106
106
  }
107
+ /** 진행 상태 로깅 콜백 */
108
+ export type ExtractProgressCallback = (message: string) => void;
107
109
  /** 스키마 추출기 인터페이스 */
108
110
  export interface SchemaExtractor {
109
111
  /** DBMS에 연결하여 스키마 메타데이터를 추출 */
110
- extract(config: ConnectionConfig): Promise<ExtractedSchema>;
112
+ extract(config: ConnectionConfig, onProgress?: ExtractProgressCallback): Promise<ExtractedSchema>;
111
113
  /** 연결 테스트 (버전 문자열 반환) */
112
114
  testConnection(config: ConnectionConfig): Promise<string>;
115
+ /** DataOps 운영 통계 지표 수집 */
116
+ getStats?(config: ConnectionConfig): Promise<TableStats[]>;
117
+ /** 선택 가능한 스키마 목록 반환 (시스템 스키마 제외) */
118
+ listSchemas?(config: ConnectionConfig): Promise<string[]>;
119
+ }
120
+ /** DataOps 테이블 운영 통계 */
121
+ export interface TableStats {
122
+ tableName: string;
123
+ rowCount: number;
124
+ tableSizeBytes: number;
125
+ indexScans?: number;
126
+ sequentialScans?: number;
127
+ deadRows?: number;
113
128
  }
114
129
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@thinkdata/cli",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "ThinkERD CLI — Database schema extraction and comparison tool",
5
5
  "type": "module",
6
- "files": ["dist", "README.md"],
6
+ "files": [
7
+ "dist",
8
+ "README.md"
9
+ ],
7
10
  "publishConfig": {
8
11
  "access": "public"
9
12
  },
@@ -24,7 +27,13 @@
24
27
  "test": "vitest run",
25
28
  "test:watch": "vitest"
26
29
  },
27
- "keywords": ["erd", "schema", "database", "reverse-engineering", "thinkerd"],
30
+ "keywords": [
31
+ "erd",
32
+ "schema",
33
+ "database",
34
+ "reverse-engineering",
35
+ "thinkerd"
36
+ ],
28
37
  "author": "ThinkData <hello@thinkdata.dev>",
29
38
  "license": "MIT",
30
39
  "repository": {
@@ -33,15 +42,19 @@
33
42
  },
34
43
  "homepage": "https://thinkdata.dev",
35
44
  "dependencies": {
36
- "commander": "^13.1.0",
37
45
  "@clack/prompts": "^0.10.0",
38
- "picocolors": "^1.1.1",
39
- "pg": "^8.16.0",
46
+ "commander": "^13.1.0",
47
+ "mssql": "^12.5.5",
40
48
  "mysql2": "^3.14.0",
49
+ "oracledb": "^7.0.0",
50
+ "pg": "^8.16.0",
51
+ "picocolors": "^1.1.1",
41
52
  "undici": "^7.8.0"
42
53
  },
43
54
  "devDependencies": {
55
+ "@types/mssql": "^12.3.0",
44
56
  "@types/node": "^22.15.0",
57
+ "@types/oracledb": "^7.0.0",
45
58
  "@types/pg": "^8.11.11",
46
59
  "tsx": "^4.19.4",
47
60
  "typescript": "^5.8.3",