sqlew 4.0.0 → 4.0.2

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 (92) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +12 -8
  3. package/dist/cli/db-dump.d.ts +4 -0
  4. package/dist/cli/db-dump.d.ts.map +1 -1
  5. package/dist/cli/db-dump.js +89 -114
  6. package/dist/cli/db-dump.js.map +1 -1
  7. package/dist/cli/db-export.d.ts +1 -0
  8. package/dist/cli/db-export.d.ts.map +1 -1
  9. package/dist/cli/db-export.js +46 -80
  10. package/dist/cli/db-export.js.map +1 -1
  11. package/dist/cli/db-import.d.ts +1 -0
  12. package/dist/cli/db-import.d.ts.map +1 -1
  13. package/dist/cli/db-import.js +52 -90
  14. package/dist/cli/db-import.js.map +1 -1
  15. package/dist/cli.d.ts +10 -1
  16. package/dist/cli.d.ts.map +1 -1
  17. package/dist/cli.js +57 -59
  18. package/dist/cli.js.map +1 -1
  19. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.d.ts.map +1 -1
  20. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js +7 -4
  21. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js.map +1 -1
  22. package/dist/database/migrations/v4/20251128000000_drop_all_views.d.ts +24 -0
  23. package/dist/database/migrations/v4/20251128000000_drop_all_views.d.ts.map +1 -0
  24. package/dist/database/migrations/v4/20251128000000_drop_all_views.js +67 -0
  25. package/dist/database/migrations/v4/20251128000000_drop_all_views.js.map +1 -0
  26. package/dist/database/operations/inserts.d.ts.map +1 -1
  27. package/dist/database/operations/inserts.js +7 -0
  28. package/dist/database/operations/inserts.js.map +1 -1
  29. package/dist/index.d.ts +4 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +70 -48
  32. package/dist/index.js.map +1 -1
  33. package/dist/tests/database/testing-config.d.ts +4 -0
  34. package/dist/tests/database/testing-config.d.ts.map +1 -1
  35. package/dist/tests/database/testing-config.js +1 -1
  36. package/dist/tests/database/testing-config.js.map +1 -1
  37. package/dist/tests/docker/native/test-harness.d.ts +56 -1
  38. package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
  39. package/dist/tests/docker/native/test-harness.js +221 -5
  40. package/dist/tests/docker/native/test-harness.js.map +1 -1
  41. package/dist/tests/feature/vcs/git-aware-completion.test.js +33 -0
  42. package/dist/tests/feature/vcs/git-aware-completion.test.js.map +1 -1
  43. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts +2 -0
  44. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts.map +1 -0
  45. package/dist/tests/unit/utils/case-insensitive-validator.test.js +97 -0
  46. package/dist/tests/unit/utils/case-insensitive-validator.test.js.map +1 -0
  47. package/dist/tools/constraints/actions/get.d.ts +2 -2
  48. package/dist/tools/constraints/actions/get.d.ts.map +1 -1
  49. package/dist/tools/constraints/actions/get.js +56 -19
  50. package/dist/tools/constraints/actions/get.js.map +1 -1
  51. package/dist/tools/context/actions/create-policy.d.ts.map +1 -1
  52. package/dist/tools/context/actions/create-policy.js +5 -1
  53. package/dist/tools/context/actions/create-policy.js.map +1 -1
  54. package/dist/tools/files/actions/get.d.ts +2 -2
  55. package/dist/tools/files/actions/get.d.ts.map +1 -1
  56. package/dist/tools/files/actions/get.js +22 -51
  57. package/dist/tools/files/actions/get.js.map +1 -1
  58. package/dist/types.d.ts +10 -6
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/utils/case-insensitive-validator.d.ts +102 -0
  61. package/dist/utils/case-insensitive-validator.d.ts.map +1 -0
  62. package/dist/utils/case-insensitive-validator.js +144 -0
  63. package/dist/utils/case-insensitive-validator.js.map +1 -0
  64. package/dist/utils/exporter/export.d.ts +22 -7
  65. package/dist/utils/exporter/export.d.ts.map +1 -1
  66. package/dist/utils/exporter/export.js +33 -49
  67. package/dist/utils/exporter/export.js.map +1 -1
  68. package/dist/utils/importer/import.js +64 -27
  69. package/dist/utils/importer/import.js.map +1 -1
  70. package/dist/utils/importer/master-tables.d.ts +3 -1
  71. package/dist/utils/importer/master-tables.d.ts.map +1 -1
  72. package/dist/utils/importer/master-tables.js +7 -29
  73. package/dist/utils/importer/master-tables.js.map +1 -1
  74. package/dist/utils/sql-dump/core/generate-dump.d.ts.map +1 -1
  75. package/dist/utils/sql-dump/core/generate-dump.js +25 -5
  76. package/dist/utils/sql-dump/core/generate-dump.js.map +1 -1
  77. package/dist/utils/sql-dump/core/index-export.d.ts +3 -2
  78. package/dist/utils/sql-dump/core/index-export.d.ts.map +1 -1
  79. package/dist/utils/sql-dump/core/index-export.js +9 -9
  80. package/dist/utils/sql-dump/core/index-export.js.map +1 -1
  81. package/dist/utils/sql-dump/schema/indexes.d.ts +14 -0
  82. package/dist/utils/sql-dump/schema/indexes.d.ts.map +1 -1
  83. package/dist/utils/sql-dump/schema/indexes.js +81 -15
  84. package/dist/utils/sql-dump/schema/indexes.js.map +1 -1
  85. package/dist/utils/sql-dump/schema/tables.d.ts +4 -1
  86. package/dist/utils/sql-dump/schema/tables.d.ts.map +1 -1
  87. package/dist/utils/sql-dump/schema/tables.js +81 -51
  88. package/dist/utils/sql-dump/schema/tables.js.map +1 -1
  89. package/docs/cli/DATABASE_MIGRATION.md +62 -58
  90. package/docs/cli/DATA_EXPORT_IMPORT.md +403 -103
  91. package/docs/cli/README.md +95 -45
  92. package/package.json +4 -6
@@ -1,4 +1,18 @@
1
1
  import type { Knex } from 'knex';
2
+ /**
3
+ * Index metadata for filtering duplicate UNIQUE constraints
4
+ */
5
+ export interface IndexMetadata {
6
+ name: string;
7
+ table: string;
8
+ columns: string[];
9
+ isUnique: boolean;
10
+ }
11
+ /**
12
+ * Get index metadata for a specific index
13
+ * Used to detect single-column UNIQUE indexes that are already in CREATE TABLE
14
+ */
15
+ export declare function getIndexMetadata(knex: Knex, indexName: string, table: string): Promise<IndexMetadata | null>;
2
16
  /**
3
17
  * Get all indexes for a table
4
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/indexes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqChF"}
1
+ {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/indexes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAoElH;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqChF"}
@@ -1,22 +1,88 @@
1
1
  // schema/indexes.ts - Index detection utilities
2
+ /**
3
+ * Get index metadata for a specific index
4
+ * Used to detect single-column UNIQUE indexes that are already in CREATE TABLE
5
+ */
6
+ export async function getIndexMetadata(knex, indexName, table) {
7
+ const client = knex.client.config.client;
8
+ if (client === 'better-sqlite3' || client === 'sqlite3') {
9
+ // Get index info from SQLite
10
+ // Note: PRAGMA doesn't support parameter binding, use template literal with escaped table name
11
+ const escapedTable = table.replace(/'/g, "''");
12
+ const escapedIndexName = indexName.replace(/'/g, "''");
13
+ const indexList = await knex.raw(`PRAGMA index_list('${escapedTable}')`);
14
+ const indexEntry = indexList.find((idx) => idx.name === indexName);
15
+ if (!indexEntry) {
16
+ return null;
17
+ }
18
+ const indexInfo = await knex.raw(`PRAGMA index_info('${escapedIndexName}')`);
19
+ if (!indexInfo || indexInfo.length === 0) {
20
+ return null;
21
+ }
22
+ const columns = indexInfo.map((col) => col.name);
23
+ return {
24
+ name: indexName,
25
+ table,
26
+ columns,
27
+ isUnique: indexEntry.unique === 1,
28
+ };
29
+ }
30
+ else if (client === 'mysql' || client === 'mysql2') {
31
+ const result = await knex.raw(`SHOW INDEXES FROM ?? WHERE Key_name = ?`, [table, indexName]);
32
+ if (result[0].length === 0) {
33
+ return null;
34
+ }
35
+ const columns = result[0].map((row) => row.Column_name);
36
+ const isUnique = result[0][0].Non_unique === 0;
37
+ return {
38
+ name: indexName,
39
+ table,
40
+ columns,
41
+ isUnique,
42
+ };
43
+ }
44
+ else if (client === 'pg') {
45
+ // Get index definition and uniqueness from PostgreSQL
46
+ const result = await knex.raw(`
47
+ SELECT
48
+ i.indisunique AS is_unique,
49
+ ARRAY_AGG(a.attname ORDER BY array_position(i.indkey, a.attnum)) AS columns
50
+ FROM pg_index i
51
+ JOIN pg_class c ON c.oid = i.indexrelid
52
+ JOIN pg_attribute a ON a.attrelid = i.indrelid AND a.attnum = ANY(i.indkey)
53
+ WHERE c.relname = ?
54
+ GROUP BY i.indisunique
55
+ `, [indexName]);
56
+ if (result.rows.length === 0) {
57
+ return null;
58
+ }
59
+ return {
60
+ name: indexName,
61
+ table,
62
+ columns: result.rows[0].columns,
63
+ isUnique: result.rows[0].is_unique,
64
+ };
65
+ }
66
+ return null;
67
+ }
2
68
  /**
3
69
  * Get all indexes for a table
4
70
  */
5
71
  export async function getAllIndexes(knex, table) {
6
72
  const client = knex.client.config.client;
7
73
  if (client === 'better-sqlite3' || client === 'sqlite3') {
8
- const result = await knex.raw(`
9
- SELECT name FROM sqlite_master
10
- WHERE type='index'
11
- AND tbl_name=?
12
- AND sql IS NOT NULL
13
- ORDER BY name
74
+ const result = await knex.raw(`
75
+ SELECT name FROM sqlite_master
76
+ WHERE type='index'
77
+ AND tbl_name=?
78
+ AND sql IS NOT NULL
79
+ ORDER BY name
14
80
  `, [table]);
15
81
  return result.map((row) => row.name);
16
82
  }
17
83
  else if (client === 'mysql' || client === 'mysql2') {
18
- const result = await knex.raw(`
19
- SHOW INDEXES FROM ?? WHERE Key_name != 'PRIMARY'
84
+ const result = await knex.raw(`
85
+ SHOW INDEXES FROM ?? WHERE Key_name != 'PRIMARY'
20
86
  `, [table]);
21
87
  // Group by index name (indexes can span multiple columns)
22
88
  const indexNames = new Set();
@@ -26,13 +92,13 @@ export async function getAllIndexes(knex, table) {
26
92
  return Array.from(indexNames).sort();
27
93
  }
28
94
  else if (client === 'pg') {
29
- const result = await knex.raw(`
30
- SELECT indexname
31
- FROM pg_indexes
32
- WHERE schemaname = 'public'
33
- AND tablename = ?
34
- AND indexname NOT LIKE '%_pkey'
35
- ORDER BY indexname
95
+ const result = await knex.raw(`
96
+ SELECT indexname
97
+ FROM pg_indexes
98
+ WHERE schemaname = 'public'
99
+ AND tablename = ?
100
+ AND indexname NOT LIKE '%_pkey'
101
+ ORDER BY indexname
36
102
  `, [table]);
37
103
  return result.rows.map((row) => row.indexname);
38
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/indexes.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAIhD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAU,EAAE,KAAa;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAEzC,IAAI,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;;KAM7B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACZ,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC;;KAE7B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAEZ,0DAA0D;QAC1D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;SAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;;;KAO7B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACZ,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,6BAA6B;IAC7B,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/indexes.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,11 @@ import type { Knex } from 'knex';
2
2
  import type { DatabaseFormat } from '../types.js';
3
3
  /**
4
4
  * Get all table names from the database (excluding system tables)
5
+ * @param knex Knex instance
6
+ * @param includeKnexTables Include knex_* migration tables
7
+ * @param tablePrefix Filter tables by prefix (default: 'v4_' for v4 schema only)
5
8
  */
6
- export declare function getAllTables(knex: Knex, includeKnexTables?: boolean): Promise<string[]>;
9
+ export declare function getAllTables(knex: Knex, includeKnexTables?: boolean, tablePrefix?: string): Promise<string[]>;
7
10
  /**
8
11
  * Get CREATE TABLE statement for a table using knex-schema-inspector
9
12
  * Replaces regex-based SQL conversion with metadata-driven approach
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/tables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAqQlD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,UAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA8B3F;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAuOtH"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/tables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuRlD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,UAAQ,EAAE,WAAW,SAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyChH;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAuOtH"}
@@ -204,11 +204,28 @@ function buildColumnDefinition(col, targetFormat) {
204
204
  }
205
205
  }
206
206
  // Handle AUTO_INCREMENT for MySQL
207
- if (targetFormat === 'mysql' && col.is_generated && col.generation_expression === null) {
207
+ // SQLite source: INTEGER PRIMARY KEY columns are implicitly auto-increment
208
+ const isIntegerPrimaryKey = col.is_primary_key &&
209
+ (col.data_type.toUpperCase().includes('INTEGER') || col.data_type.toUpperCase() === 'INT');
210
+ const isAutoIncrement = col.is_generated || isIntegerPrimaryKey;
211
+ if (targetFormat === 'mysql' && isAutoIncrement && col.generation_expression === null) {
208
212
  if (!def.includes('AUTO_INCREMENT')) {
209
213
  def += ' AUTO_INCREMENT';
210
214
  }
211
215
  }
216
+ // Handle SERIAL for PostgreSQL (when source is MySQL/SQLite with auto-increment)
217
+ // SERIAL = INTEGER + AUTO_INCREMENT sequence
218
+ if (targetFormat === 'postgresql' && isAutoIncrement && col.generation_expression === null) {
219
+ // Replace INT/INTEGER/BIGINT with SERIAL/BIGSERIAL
220
+ if (!def.includes('SERIAL')) {
221
+ if (dataType.toUpperCase() === 'BIGINT') {
222
+ def = def.replace(/BIGINT/i, 'BIGSERIAL');
223
+ }
224
+ else if (dataType.toUpperCase() === 'INT' || dataType.toUpperCase() === 'INTEGER') {
225
+ def = def.replace(/\bINT(EGER)?\b/i, 'SERIAL');
226
+ }
227
+ }
228
+ }
212
229
  // Handle UNIQUE constraint (skip if already PRIMARY KEY)
213
230
  if (col.is_unique && !col.is_primary_key) {
214
231
  def += ' UNIQUE';
@@ -239,37 +256,50 @@ function buildForeignKeyDefinition(fk, targetFormat) {
239
256
  }
240
257
  /**
241
258
  * Get all table names from the database (excluding system tables)
259
+ * @param knex Knex instance
260
+ * @param includeKnexTables Include knex_* migration tables
261
+ * @param tablePrefix Filter tables by prefix (default: 'v4_' for v4 schema only)
242
262
  */
243
- export async function getAllTables(knex, includeKnexTables = false) {
263
+ export async function getAllTables(knex, includeKnexTables = false, tablePrefix = 'v4_') {
244
264
  const client = knex.client.config.client;
265
+ let tables = [];
245
266
  if (client === 'better-sqlite3' || client === 'sqlite3') {
246
267
  const knexFilter = includeKnexTables ? '' : "AND name NOT LIKE 'knex_%'";
247
- const result = await knex.raw(`
248
- SELECT name FROM sqlite_master
249
- WHERE type='table'
250
- AND name NOT LIKE 'sqlite_%'
251
- ${knexFilter}
252
- ORDER BY name
268
+ const result = await knex.raw(`
269
+ SELECT name FROM sqlite_master
270
+ WHERE type='table'
271
+ AND name NOT LIKE 'sqlite_%'
272
+ ${knexFilter}
273
+ ORDER BY name
253
274
  `);
254
- return result.map((row) => row.name);
275
+ tables = result.map((row) => row.name);
255
276
  }
256
277
  else if (client === 'mysql' || client === 'mysql2') {
257
278
  const result = await knex.raw('SHOW TABLES');
258
279
  const tableKey = Object.keys(result[0][0])[0];
259
- const tables = result[0].map((row) => row[tableKey]);
260
- return includeKnexTables ? tables : tables.filter((t) => !t.startsWith('knex_'));
280
+ tables = result[0].map((row) => row[tableKey]);
281
+ if (!includeKnexTables) {
282
+ tables = tables.filter((t) => !t.startsWith('knex_'));
283
+ }
261
284
  }
262
285
  else if (client === 'pg') {
263
286
  const knexFilter = includeKnexTables ? '' : "AND tablename NOT LIKE 'knex_%'";
264
- const result = await knex.raw(`
265
- SELECT tablename FROM pg_tables
266
- WHERE schemaname = 'public'
267
- ${knexFilter}
268
- ORDER BY tablename
287
+ const result = await knex.raw(`
288
+ SELECT tablename FROM pg_tables
289
+ WHERE schemaname = 'public'
290
+ ${knexFilter}
291
+ ORDER BY tablename
269
292
  `);
270
- return result.rows.map((row) => row.tablename);
293
+ tables = result.rows.map((row) => row.tablename);
294
+ }
295
+ else {
296
+ throw new Error(`Unsupported database client: ${client}`);
297
+ }
298
+ // Filter by table prefix (default: v4_ for current schema)
299
+ if (tablePrefix) {
300
+ tables = tables.filter((t) => t.startsWith(tablePrefix));
271
301
  }
272
- throw new Error(`Unsupported database client: ${client}`);
302
+ return tables;
273
303
  }
274
304
  /**
275
305
  * Get CREATE TABLE statement for a table using knex-schema-inspector
@@ -290,20 +320,20 @@ export async function getCreateTableStatement(knex, table, targetFormat) {
290
320
  let compositePrimaryKey = null; // Track composite PRIMARY KEY
291
321
  if (client === 'pg') {
292
322
  // PostgreSQL: Query pg_constraint for composite PRIMARY KEY and UNIQUE constraints
293
- const constraints = await knex.raw(`
294
- SELECT
295
- con.conname AS constraint_name,
296
- con.contype AS constraint_type,
297
- ARRAY_AGG(att.attname ORDER BY u.attposition) AS columns
298
- FROM pg_constraint con
299
- JOIN pg_class rel ON rel.oid = con.conrelid
300
- JOIN pg_namespace nsp ON nsp.oid = rel.relnamespace
301
- CROSS JOIN LATERAL UNNEST(con.conkey) WITH ORDINALITY AS u(attnum, attposition)
302
- JOIN pg_attribute att ON att.attnum = u.attnum AND att.attrelid = con.conrelid
303
- WHERE rel.relname = ?
304
- AND nsp.nspname = 'public'
305
- AND con.contype IN ('p', 'u')
306
- GROUP BY con.conname, con.contype
323
+ const constraints = await knex.raw(`
324
+ SELECT
325
+ con.conname AS constraint_name,
326
+ con.contype AS constraint_type,
327
+ ARRAY_AGG(att.attname ORDER BY u.attposition) AS columns
328
+ FROM pg_constraint con
329
+ JOIN pg_class rel ON rel.oid = con.conrelid
330
+ JOIN pg_namespace nsp ON nsp.oid = rel.relnamespace
331
+ CROSS JOIN LATERAL UNNEST(con.conkey) WITH ORDINALITY AS u(attnum, attposition)
332
+ JOIN pg_attribute att ON att.attnum = u.attnum AND att.attrelid = con.conrelid
333
+ WHERE rel.relname = ?
334
+ AND nsp.nspname = 'public'
335
+ AND con.contype IN ('p', 'u')
336
+ GROUP BY con.conname, con.contype
307
337
  `, [table]);
308
338
  for (const constraint of constraints.rows) {
309
339
  // PostgreSQL returns arrays as strings like "{col1,col2}" - parse them
@@ -419,25 +449,25 @@ export async function getCreateTableStatement(knex, table, targetFormat) {
419
449
  let foreignKeys = await inspector.foreignKeys(table);
420
450
  // PostgreSQL: Manually query composite foreign keys (knex-schema-inspector misses them)
421
451
  if (client === 'pg') {
422
- const compositeFks = await knex.raw(`
423
- SELECT
424
- con.conname AS constraint_name,
425
- ARRAY_AGG(att.attname ORDER BY u.attposition) AS columns,
426
- ref_class.relname AS foreign_table,
427
- ARRAY_AGG(ref_att.attname ORDER BY u.attposition) AS foreign_columns,
428
- con.confdeltype AS on_delete,
429
- con.confupdtype AS on_update
430
- FROM pg_constraint con
431
- JOIN pg_class rel ON rel.oid = con.conrelid
432
- JOIN pg_namespace nsp ON nsp.oid = rel.relnamespace
433
- JOIN pg_class ref_class ON ref_class.oid = con.confrelid
434
- CROSS JOIN LATERAL UNNEST(con.conkey) WITH ORDINALITY AS u(attnum, attposition)
435
- JOIN pg_attribute att ON att.attnum = u.attnum AND att.attrelid = con.conrelid
436
- JOIN pg_attribute ref_att ON ref_att.attnum = con.confkey[u.attposition] AND ref_att.attrelid = con.confrelid
437
- WHERE rel.relname = ?
438
- AND nsp.nspname = 'public'
439
- AND con.contype = 'f'
440
- GROUP BY con.conname, ref_class.relname, con.confdeltype, con.confupdtype
452
+ const compositeFks = await knex.raw(`
453
+ SELECT
454
+ con.conname AS constraint_name,
455
+ ARRAY_AGG(att.attname ORDER BY u.attposition) AS columns,
456
+ ref_class.relname AS foreign_table,
457
+ ARRAY_AGG(ref_att.attname ORDER BY u.attposition) AS foreign_columns,
458
+ con.confdeltype AS on_delete,
459
+ con.confupdtype AS on_update
460
+ FROM pg_constraint con
461
+ JOIN pg_class rel ON rel.oid = con.conrelid
462
+ JOIN pg_namespace nsp ON nsp.oid = rel.relnamespace
463
+ JOIN pg_class ref_class ON ref_class.oid = con.confrelid
464
+ CROSS JOIN LATERAL UNNEST(con.conkey) WITH ORDINALITY AS u(attnum, attposition)
465
+ JOIN pg_attribute att ON att.attnum = u.attnum AND att.attrelid = con.conrelid
466
+ JOIN pg_attribute ref_att ON ref_att.attnum = con.confkey[u.attposition] AND ref_att.attrelid = con.confrelid
467
+ WHERE rel.relname = ?
468
+ AND nsp.nspname = 'public'
469
+ AND con.contype = 'f'
470
+ GROUP BY con.conname, ref_class.relname, con.confdeltype, con.confupdtype
441
471
  `, [table]);
442
472
  for (const fk of compositeFks.rows) {
443
473
  // Parse PostgreSQL arrays
@@ -1 +1 @@
1
- {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../src/utils/sql-dump/schema/tables.ts"],"names":[],"mappings":"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"}