@warlock.js/cascade 4.0.131 → 4.0.133

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 (53) hide show
  1. package/cjs/contracts/migration-driver.contract.d.ts +70 -1
  2. package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
  3. package/cjs/drivers/mongodb/mongodb-driver.d.ts +12 -0
  4. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
  5. package/cjs/drivers/mongodb/mongodb-driver.js +26 -4
  6. package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -1
  7. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +39 -1
  8. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
  9. package/cjs/drivers/mongodb/mongodb-migration-driver.js +68 -0
  10. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
  11. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +52 -1
  12. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
  13. package/cjs/drivers/postgres/postgres-migration-driver.js +226 -27
  14. package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -1
  15. package/cjs/migration/column-builder.d.ts +201 -1
  16. package/cjs/migration/column-builder.d.ts.map +1 -1
  17. package/cjs/migration/column-builder.js +295 -0
  18. package/cjs/migration/column-builder.js.map +1 -1
  19. package/cjs/migration/foreign-key-builder.d.ts +10 -17
  20. package/cjs/migration/foreign-key-builder.d.ts.map +1 -1
  21. package/cjs/migration/foreign-key-builder.js +11 -19
  22. package/cjs/migration/foreign-key-builder.js.map +1 -1
  23. package/cjs/migration/migration.d.ts +223 -15
  24. package/cjs/migration/migration.d.ts.map +1 -1
  25. package/cjs/migration/migration.js +249 -29
  26. package/cjs/migration/migration.js.map +1 -1
  27. package/esm/contracts/migration-driver.contract.d.ts +70 -1
  28. package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
  29. package/esm/drivers/mongodb/mongodb-driver.d.ts +12 -0
  30. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
  31. package/esm/drivers/mongodb/mongodb-driver.js +26 -4
  32. package/esm/drivers/mongodb/mongodb-driver.js.map +1 -1
  33. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +39 -1
  34. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
  35. package/esm/drivers/mongodb/mongodb-migration-driver.js +68 -0
  36. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
  37. package/esm/drivers/postgres/postgres-migration-driver.d.ts +52 -1
  38. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
  39. package/esm/drivers/postgres/postgres-migration-driver.js +226 -27
  40. package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -1
  41. package/esm/migration/column-builder.d.ts +201 -1
  42. package/esm/migration/column-builder.d.ts.map +1 -1
  43. package/esm/migration/column-builder.js +295 -0
  44. package/esm/migration/column-builder.js.map +1 -1
  45. package/esm/migration/foreign-key-builder.d.ts +10 -17
  46. package/esm/migration/foreign-key-builder.d.ts.map +1 -1
  47. package/esm/migration/foreign-key-builder.js +11 -19
  48. package/esm/migration/foreign-key-builder.js.map +1 -1
  49. package/esm/migration/migration.d.ts +223 -15
  50. package/esm/migration/migration.d.ts.map +1 -1
  51. package/esm/migration/migration.js +249 -29
  52. package/esm/migration/migration.js.map +1 -1
  53. package/package.json +4 -4
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * @module cascade/drivers/postgres
9
9
  */
10
- import type { ColumnDefinition, ForeignKeyDefinition, FullTextIndexOptions, GeoIndexOptions, IndexDefinition, MigrationDriverContract, VectorIndexOptions } from "../../contracts/migration-driver.contract";
10
+ import type { ColumnDefinition, ForeignKeyDefinition, FullTextIndexOptions, GeoIndexOptions, IndexDefinition, MigrationDriverContract, TableIndexInformation, VectorIndexOptions } from "../../contracts/migration-driver.contract";
11
11
  import type { PostgresDriver } from "./postgres-driver";
12
12
  /**
13
13
  * PostgreSQL Migration Driver.
@@ -80,6 +80,12 @@ export declare class PostgresMigrationDriver implements MigrationDriverContract
80
80
  * @param to - New table name
81
81
  */
82
82
  renameTable(from: string, to: string): Promise<void>;
83
+ /**
84
+ * Truncate a table — remove all rows efficiently.
85
+ *
86
+ * @param table - Table name
87
+ */
88
+ truncateTable(table: string): Promise<void>;
83
89
  /**
84
90
  * Check if a table exists.
85
91
  *
@@ -87,6 +93,19 @@ export declare class PostgresMigrationDriver implements MigrationDriverContract
87
93
  * @returns Whether the table exists
88
94
  */
89
95
  tableExists(table: string): Promise<boolean>;
96
+ /**
97
+ * List all columns in a table.
98
+ *
99
+ * @param table - Table name
100
+ * @returns Array of column definitions
101
+ */
102
+ listColumns(table: string): Promise<ColumnDefinition[]>;
103
+ /**
104
+ * List all tables in the current database.
105
+ *
106
+ * @returns Array of table names
107
+ */
108
+ listTables(): Promise<string[]>;
90
109
  /**
91
110
  * Ensure the migrations tracking table exists.
92
111
  *
@@ -134,6 +153,12 @@ export declare class PostgresMigrationDriver implements MigrationDriverContract
134
153
  /**
135
154
  * Create an index on one or more columns.
136
155
  *
156
+ * Supports:
157
+ * - Regular column indexes
158
+ * - Expression-based indexes (e.g., `lower(email)`)
159
+ * - Covering indexes (INCLUDE clause)
160
+ * - Concurrent index creation (CONCURRENTLY keyword)
161
+ *
137
162
  * @param table - Table name
138
163
  * @param index - Index definition
139
164
  */
@@ -223,6 +248,13 @@ export declare class PostgresMigrationDriver implements MigrationDriverContract
223
248
  * @param column - Column with TTL index
224
249
  */
225
250
  dropTTLIndex(table: string, column: string): Promise<void>;
251
+ /**
252
+ * List all indexes on a table.
253
+ *
254
+ * @param table - Table name
255
+ * @returns Array of index metadata
256
+ */
257
+ listIndexes(table: string): Promise<TableIndexInformation[]>;
226
258
  /**
227
259
  * Add a foreign key constraint.
228
260
  *
@@ -250,6 +282,21 @@ export declare class PostgresMigrationDriver implements MigrationDriverContract
250
282
  * @param table - Table name
251
283
  */
252
284
  dropPrimaryKey(table: string): Promise<void>;
285
+ /**
286
+ * Add a CHECK constraint.
287
+ *
288
+ * @param table - Table name
289
+ * @param name - Constraint name
290
+ * @param expression - SQL CHECK expression
291
+ */
292
+ addCheck(table: string, name: string, expression: string): Promise<void>;
293
+ /**
294
+ * Drop a CHECK constraint.
295
+ *
296
+ * @param table - Table name
297
+ * @param name - Constraint name
298
+ */
299
+ dropCheck(table: string, name: string): Promise<void>;
253
300
  /**
254
301
  * Set schema validation (no-op for PostgreSQL).
255
302
  *
@@ -293,5 +340,9 @@ export declare class PostgresMigrationDriver implements MigrationDriverContract
293
340
  * Map foreign key action to PostgreSQL syntax.
294
341
  */
295
342
  private mapForeignKeyAction;
343
+ /**
344
+ * Map PostgreSQL data type to ColumnType.
345
+ */
346
+ private mapPostgresTypeToColumnType;
296
347
  }
297
348
  //# sourceMappingURL=postgres-migration-driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-migration-driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/postgres/postgres-migration-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-migration-driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/postgres/postgres-migration-driver.ts"],"names":[],"mappings":"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"}
@@ -103,6 +103,15 @@ class PostgresMigrationDriver {
103
103
  const quotedTo = this.driver.dialect.quoteIdentifier(to);
104
104
  await this.execute(`ALTER TABLE ${quotedFrom} RENAME TO ${quotedTo}`);
105
105
  }
106
+ /**
107
+ * Truncate a table — remove all rows efficiently.
108
+ *
109
+ * @param table - Table name
110
+ */
111
+ async truncateTable(table) {
112
+ const quotedTable = this.driver.dialect.quoteIdentifier(table);
113
+ await this.execute(`TRUNCATE TABLE ${quotedTable}`);
114
+ }
106
115
  /**
107
116
  * Check if a table exists.
108
117
  *
@@ -111,12 +120,53 @@ class PostgresMigrationDriver {
111
120
  */
112
121
  async tableExists(table) {
113
122
  const result = await this.driver.query(`SELECT EXISTS (
114
- SELECT FROM information_schema.tables
115
- WHERE table_schema = 'public'
123
+ SELECT FROM information_schema.tables
124
+ WHERE table_schema = 'public'
116
125
  AND table_name = $1
117
126
  )`, [table]);
118
127
  return result.rows[0]?.exists ?? false;
119
128
  }
129
+ /**
130
+ * List all columns in a table.
131
+ *
132
+ * @param table - Table name
133
+ * @returns Array of column definitions
134
+ */
135
+ async listColumns(table) {
136
+ const result = await this.driver.query(`SELECT
137
+ column_name,
138
+ data_type,
139
+ character_maximum_length,
140
+ numeric_precision,
141
+ numeric_scale,
142
+ is_nullable,
143
+ column_default
144
+ FROM information_schema.columns
145
+ WHERE table_schema = 'public'
146
+ AND table_name = $1
147
+ ORDER BY ordinal_position`, [table]);
148
+ return result.rows.map((row) => ({
149
+ name: row.column_name,
150
+ type: this.mapPostgresTypeToColumnType(row.data_type),
151
+ length: row.character_maximum_length ?? undefined,
152
+ precision: row.numeric_precision ?? undefined,
153
+ scale: row.numeric_scale ?? undefined,
154
+ nullable: row.is_nullable === "YES",
155
+ defaultValue: row.column_default ?? undefined,
156
+ }));
157
+ }
158
+ /**
159
+ * List all tables in the current database.
160
+ *
161
+ * @returns Array of table names
162
+ */
163
+ async listTables() {
164
+ const result = await this.driver.query(`SELECT table_name
165
+ FROM information_schema.tables
166
+ WHERE table_schema = 'public'
167
+ ORDER BY table_name`);
168
+ return result.rows.map((row) => row.table_name);
169
+ }
120
170
  /**
121
171
  * Ensure the migrations tracking table exists.
122
172
  *
@@ -166,28 +216,45 @@ class PostgresMigrationDriver {
166
216
  });
167
217
  }
168
218
  let sql = `ALTER TABLE ${quotedTable} ADD COLUMN ${quotedColumn} ${sqlType}`;
169
- // SERIAL/BIGSERIAL are always NOT NULL, so skip for those
170
- if (!column.autoIncrement && column.nullable === false) {
171
- sql += " NOT NULL";
219
+ // Handle generated columns
220
+ if (column.generated) {
221
+ sql += ` GENERATED ALWAYS AS (${column.generated.expression})`;
222
+ if (column.generated.stored) {
223
+ sql += " STORED";
224
+ }
225
+ // PostgreSQL only supports STORED, not VIRTUAL
226
+ // If virtual is requested, it's simply ignored (PostgreSQL doesn't support it)
172
227
  }
173
- if (column.defaultValue !== undefined) {
174
- if (typeof column.defaultValue === "string") {
175
- sql += ` DEFAULT '${column.defaultValue}'`;
228
+ else {
229
+ // SERIAL/BIGSERIAL are always NOT NULL, so skip for those
230
+ if (!column.autoIncrement && column.nullable === false) {
231
+ sql += " NOT NULL";
176
232
  }
177
- else if (typeof column.defaultValue === "boolean") {
178
- sql += ` DEFAULT ${column.defaultValue ? "TRUE" : "FALSE"}`;
233
+ if (column.defaultValue !== undefined) {
234
+ // Check for special CURRENT_TIMESTAMP marker
235
+ if (typeof column.defaultValue === "object" &&
236
+ column.defaultValue !== null &&
237
+ column.defaultValue.__type === "CURRENT_TIMESTAMP") {
238
+ sql += " DEFAULT NOW()";
239
+ }
240
+ else if (typeof column.defaultValue === "string") {
241
+ sql += ` DEFAULT '${column.defaultValue}'`;
242
+ }
243
+ else if (typeof column.defaultValue === "boolean") {
244
+ sql += ` DEFAULT ${column.defaultValue ? "TRUE" : "FALSE"}`;
245
+ }
246
+ else {
247
+ sql += ` DEFAULT ${column.defaultValue}`;
248
+ }
179
249
  }
180
- else {
181
- sql += ` DEFAULT ${column.defaultValue}`;
250
+ // Handle primary key
251
+ if (column.primary) {
252
+ sql += " PRIMARY KEY";
253
+ }
254
+ // Handle unique constraint
255
+ if (column.unique) {
256
+ sql += " UNIQUE";
182
257
  }
183
- }
184
- // Handle primary key
185
- if (column.primary) {
186
- sql += " PRIMARY KEY";
187
- }
188
- // Handle unique constraint
189
- if (column.unique) {
190
- sql += " UNIQUE";
191
258
  }
192
259
  await this.execute(sql);
193
260
  }
@@ -249,7 +316,19 @@ class PostgresMigrationDriver {
249
316
  await this.execute(`ALTER TABLE ${quotedTable} ALTER COLUMN ${quotedColumn} DROP NOT NULL`);
250
317
  }
251
318
  if (column.defaultValue !== undefined) {
252
- const defaultVal = typeof column.defaultValue === "string" ? `'${column.defaultValue}'` : column.defaultValue;
319
+ let defaultVal;
320
+ // Check for special CURRENT_TIMESTAMP marker
321
+ if (typeof column.defaultValue === "object" &&
322
+ column.defaultValue !== null &&
323
+ column.defaultValue.__type === "CURRENT_TIMESTAMP") {
324
+ defaultVal = "NOW()";
325
+ }
326
+ else if (typeof column.defaultValue === "string") {
327
+ defaultVal = `'${column.defaultValue}'`;
328
+ }
329
+ else {
330
+ defaultVal = String(column.defaultValue);
331
+ }
253
332
  await this.execute(`ALTER TABLE ${quotedTable} ALTER COLUMN ${quotedColumn} SET DEFAULT ${defaultVal}`);
254
333
  }
255
334
  }
@@ -259,6 +338,12 @@ class PostgresMigrationDriver {
259
338
  /**
260
339
  * Create an index on one or more columns.
261
340
  *
341
+ * Supports:
342
+ * - Regular column indexes
343
+ * - Expression-based indexes (e.g., `lower(email)`)
344
+ * - Covering indexes (INCLUDE clause)
345
+ * - Concurrent index creation (CONCURRENTLY keyword)
346
+ *
262
347
  * @param table - Table name
263
348
  * @param index - Index definition
264
349
  */
@@ -267,12 +352,30 @@ class PostgresMigrationDriver {
267
352
  const indexName = index.name ?? `idx_${table}_${index.columns.join("_")}`;
268
353
  const quotedIndexName = this.driver.dialect.quoteIdentifier(indexName);
269
354
  const uniqueKeyword = index.unique ? "UNIQUE " : "";
270
- const columns = index.columns.map((col, i) => {
271
- const quotedCol = this.driver.dialect.quoteIdentifier(col);
272
- const direction = index.directions?.[i]?.toUpperCase() ?? "";
273
- return direction ? `${quotedCol} ${direction}` : quotedCol;
274
- });
275
- let sql = `CREATE ${uniqueKeyword}INDEX ${quotedIndexName} ON ${quotedTable} (${columns.join(", ")})`;
355
+ const concurrentlyKeyword = index.concurrently ? "CONCURRENTLY " : "";
356
+ let columnsPart;
357
+ // Handle expression-based indexes
358
+ if (index.expressions && index.expressions.length > 0) {
359
+ // Wrap each expression in parentheses
360
+ columnsPart = index.expressions.map((expr) => `(${expr})`).join(", ");
361
+ }
362
+ else {
363
+ // Regular column indexes
364
+ const columns = index.columns.map((col, i) => {
365
+ const quotedCol = this.driver.dialect.quoteIdentifier(col);
366
+ const direction = index.directions?.[i]?.toUpperCase() ?? "";
367
+ return direction ? `${quotedCol} ${direction}` : quotedCol;
368
+ });
369
+ columnsPart = columns.join(", ");
370
+ }
371
+ let sql = `CREATE ${uniqueKeyword}INDEX ${concurrentlyKeyword}${quotedIndexName} ON ${quotedTable} (${columnsPart})`;
372
+ // Add INCLUDE clause for covering indexes
373
+ if (index.include && index.include.length > 0) {
374
+ const includeCols = index.include
375
+ .map((col) => this.driver.dialect.quoteIdentifier(col))
376
+ .join(", ");
377
+ sql += ` INCLUDE (${includeCols})`;
378
+ }
276
379
  // Add partial index condition
277
380
  if (index.where && Object.keys(index.where).length > 0) {
278
381
  const conditions = Object.entries(index.where)
@@ -435,6 +538,40 @@ class PostgresMigrationDriver {
435
538
  async dropTTLIndex(table, column) {
436
539
  await this.dropIndex(table, `idx_${table}_ttl_${column}`);
437
540
  }
541
+ /**
542
+ * List all indexes on a table.
543
+ *
544
+ * @param table - Table name
545
+ * @returns Array of index metadata
546
+ */
547
+ async listIndexes(table) {
548
+ const result = await this.driver.query(`SELECT indexname, indexdef FROM pg_indexes WHERE schemaname = 'public' AND tablename = $1`, [table]);
549
+ return result.rows.map((row) => {
550
+ const isUnique = row.indexdef.includes("UNIQUE");
551
+ const isPrimary = row.indexname.endsWith("_pkey");
552
+ const columnsMatch = row.indexdef.match(/\(([^)]+)\)/);
553
+ const columns = columnsMatch
554
+ ? columnsMatch[1].split(",").map((c) => c.trim().replace(/"/g, ""))
555
+ : [];
556
+ let type = "btree";
557
+ if (row.indexdef.includes("USING GIN"))
558
+ type = "gin";
559
+ else if (row.indexdef.includes("USING GIST"))
560
+ type = "gist";
561
+ else if (row.indexdef.includes("USING HASH"))
562
+ type = "hash";
563
+ else if (row.indexdef.includes("USING ivfflat"))
564
+ type = "ivfflat";
565
+ return {
566
+ name: row.indexname,
567
+ columns,
568
+ type,
569
+ unique: isUnique || isPrimary,
570
+ partial: row.indexdef.includes("WHERE"),
571
+ options: { primary: isPrimary, definition: row.indexdef },
572
+ };
573
+ });
574
+ }
438
575
  // ============================================================================
439
576
  // CONSTRAINTS
440
577
  // ============================================================================
@@ -495,6 +632,30 @@ class PostgresMigrationDriver {
495
632
  const quotedConstraint = this.driver.dialect.quoteIdentifier(constraintName);
496
633
  await this.execute(`ALTER TABLE ${quotedTable} DROP CONSTRAINT ${quotedConstraint}`);
497
634
  }
635
+ /**
636
+ * Add a CHECK constraint.
637
+ *
638
+ * @param table - Table name
639
+ * @param name - Constraint name
640
+ * @param expression - SQL CHECK expression
641
+ */
642
+ async addCheck(table, name, expression) {
643
+ const quotedTable = this.driver.dialect.quoteIdentifier(table);
644
+ const quotedName = this.driver.dialect.quoteIdentifier(name);
645
+ const sql = `ALTER TABLE ${quotedTable} ADD CONSTRAINT ${quotedName} CHECK (${expression})`;
646
+ await this.execute(sql);
647
+ }
648
+ /**
649
+ * Drop a CHECK constraint.
650
+ *
651
+ * @param table - Table name
652
+ * @param name - Constraint name
653
+ */
654
+ async dropCheck(table, name) {
655
+ const quotedTable = this.driver.dialect.quoteIdentifier(table);
656
+ const quotedName = this.driver.dialect.quoteIdentifier(name);
657
+ await this.execute(`ALTER TABLE ${quotedTable} DROP CONSTRAINT ${quotedName}`);
658
+ }
498
659
  // ============================================================================
499
660
  // SCHEMA VALIDATION (NOT APPLICABLE FOR PostgreSQL)
500
661
  // ============================================================================
@@ -575,4 +736,42 @@ class PostgresMigrationDriver {
575
736
  };
576
737
  return mapping[action] ?? "NO ACTION";
577
738
  }
739
+ /**
740
+ * Map PostgreSQL data type to ColumnType.
741
+ */
742
+ mapPostgresTypeToColumnType(pgType) {
743
+ const typeMap = {
744
+ "character varying": "string",
745
+ varchar: "string",
746
+ character: "char",
747
+ char: "char",
748
+ text: "text",
749
+ integer: "integer",
750
+ int: "integer",
751
+ smallint: "smallInteger",
752
+ bigint: "bigInteger",
753
+ real: "float",
754
+ "double precision": "double",
755
+ numeric: "decimal",
756
+ decimal: "decimal",
757
+ boolean: "boolean",
758
+ date: "date",
759
+ timestamp: "dateTime",
760
+ "timestamp without time zone": "dateTime",
761
+ "timestamp with time zone": "timestamp",
762
+ time: "time",
763
+ "time without time zone": "time",
764
+ json: "json",
765
+ jsonb: "json",
766
+ bytea: "binary",
767
+ uuid: "uuid",
768
+ inet: "ipAddress",
769
+ macaddr: "macAddress",
770
+ point: "point",
771
+ polygon: "polygon",
772
+ line: "lineString",
773
+ geometry: "geometry",
774
+ };
775
+ return typeMap[pgType.toLowerCase()] ?? "string";
776
+ }
578
777
  }exports.PostgresMigrationDriver=PostgresMigrationDriver;//# sourceMappingURL=postgres-migration-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-migration-driver.js","sources":["../../../src/drivers/postgres/postgres-migration-driver.ts"],"sourcesContent":[null],"names":["databaseTransactionContext"],"mappings":"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"}
1
+ {"version":3,"file":"postgres-migration-driver.js","sources":["../../../src/drivers/postgres/postgres-migration-driver.ts"],"sourcesContent":[null],"names":["databaseTransactionContext"],"mappings":"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"}