@warlock.js/cascade 4.0.132 → 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.
- package/cjs/contracts/migration-driver.contract.d.ts +70 -1
- package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
- package/cjs/drivers/mongodb/mongodb-driver.d.ts +12 -0
- package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
- package/cjs/drivers/mongodb/mongodb-driver.js +26 -4
- package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +39 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.js +68 -0
- package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts +52 -1
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-migration-driver.js +226 -27
- package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -1
- package/cjs/migration/column-builder.d.ts +201 -1
- package/cjs/migration/column-builder.d.ts.map +1 -1
- package/cjs/migration/column-builder.js +295 -0
- package/cjs/migration/column-builder.js.map +1 -1
- package/cjs/migration/foreign-key-builder.d.ts +10 -17
- package/cjs/migration/foreign-key-builder.d.ts.map +1 -1
- package/cjs/migration/foreign-key-builder.js +11 -19
- package/cjs/migration/foreign-key-builder.js.map +1 -1
- package/cjs/migration/migration.d.ts +223 -15
- package/cjs/migration/migration.d.ts.map +1 -1
- package/cjs/migration/migration.js +249 -29
- package/cjs/migration/migration.js.map +1 -1
- package/esm/contracts/migration-driver.contract.d.ts +70 -1
- package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
- package/esm/drivers/mongodb/mongodb-driver.d.ts +12 -0
- package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
- package/esm/drivers/mongodb/mongodb-driver.js +26 -4
- package/esm/drivers/mongodb/mongodb-driver.js.map +1 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +39 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.js +68 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
- package/esm/drivers/postgres/postgres-migration-driver.d.ts +52 -1
- package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-migration-driver.js +226 -27
- package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -1
- package/esm/migration/column-builder.d.ts +201 -1
- package/esm/migration/column-builder.d.ts.map +1 -1
- package/esm/migration/column-builder.js +295 -0
- package/esm/migration/column-builder.js.map +1 -1
- package/esm/migration/foreign-key-builder.d.ts +10 -17
- package/esm/migration/foreign-key-builder.d.ts.map +1 -1
- package/esm/migration/foreign-key-builder.js +11 -19
- package/esm/migration/foreign-key-builder.js.map +1 -1
- package/esm/migration/migration.d.ts +223 -15
- package/esm/migration/migration.d.ts.map +1 -1
- package/esm/migration/migration.js +249 -29
- package/esm/migration/migration.js.map +1 -1
- package/package.json +4 -4
|
@@ -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
|
-
//
|
|
170
|
-
if (
|
|
171
|
-
sql +=
|
|
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
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
-
|
|
178
|
-
|
|
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
|
-
|
|
181
|
-
|
|
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
|
-
|
|
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
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
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
|
}export{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":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"postgres-migration-driver.js","sources":["../../../src/drivers/postgres/postgres-migration-driver.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ColumnDefinition, ColumnType } from "../contracts/migration-driver.contract";
|
|
1
|
+
import type { ColumnDefinition, ColumnType, ForeignKeyDefinition } from "../contracts/migration-driver.contract";
|
|
2
2
|
/**
|
|
3
3
|
* Reference to the Migration type to avoid circular imports.
|
|
4
4
|
* The actual type is injected at runtime.
|
|
@@ -8,6 +8,7 @@ type MigrationLike = {
|
|
|
8
8
|
columns: string[];
|
|
9
9
|
unique?: boolean;
|
|
10
10
|
}): void;
|
|
11
|
+
addForeignKeyOperation(fk: ForeignKeyDefinition): void;
|
|
11
12
|
};
|
|
12
13
|
/**
|
|
13
14
|
* Fluent builder for defining column properties.
|
|
@@ -35,6 +36,10 @@ export declare class ColumnBuilder {
|
|
|
35
36
|
private readonly migration;
|
|
36
37
|
/** Mutable column definition being accumulated */
|
|
37
38
|
private readonly definition;
|
|
39
|
+
/** Mutable foreign key definition, set when .references() is called */
|
|
40
|
+
private fkDefinition?;
|
|
41
|
+
/** Temporary storage for generated expression before .stored() or .virtual() is called */
|
|
42
|
+
private generatedExpression?;
|
|
38
43
|
/**
|
|
39
44
|
* Create a new column builder.
|
|
40
45
|
*
|
|
@@ -76,6 +81,32 @@ export declare class ColumnBuilder {
|
|
|
76
81
|
* ```
|
|
77
82
|
*/
|
|
78
83
|
default(value: unknown): this;
|
|
84
|
+
/**
|
|
85
|
+
* Set default value to the current timestamp.
|
|
86
|
+
*
|
|
87
|
+
* Database-agnostic. Generates NOW() / CURRENT_TIMESTAMP / GETDATE() based on driver.
|
|
88
|
+
*
|
|
89
|
+
* @returns This builder for chaining
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* this.timestamp("created_at").useCurrent();
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
useCurrent(): this;
|
|
97
|
+
/**
|
|
98
|
+
* Set column to update to current timestamp on row update.
|
|
99
|
+
*
|
|
100
|
+
* MySQL only. Other databases ignore this.
|
|
101
|
+
*
|
|
102
|
+
* @returns This builder for chaining
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* this.timestamp("updated_at").useCurrent().useCurrentOnUpdate();
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
useCurrentOnUpdate(): this;
|
|
79
110
|
/**
|
|
80
111
|
* Add unique constraint/index on this column.
|
|
81
112
|
*
|
|
@@ -154,6 +185,175 @@ export declare class ColumnBuilder {
|
|
|
154
185
|
* ```
|
|
155
186
|
*/
|
|
156
187
|
comment(text: string): this;
|
|
188
|
+
/**
|
|
189
|
+
* Add a CHECK constraint scoped to this column.
|
|
190
|
+
*
|
|
191
|
+
* @param expression - SQL CHECK expression (can reference the column by name)
|
|
192
|
+
* @param name - Constraint name (defaults to `check_<column>`)
|
|
193
|
+
* @returns This builder for chaining
|
|
194
|
+
*/
|
|
195
|
+
check(expression: string, name?: string): this;
|
|
196
|
+
/**
|
|
197
|
+
* Position this column after another column.
|
|
198
|
+
*
|
|
199
|
+
* MySQL/MariaDB only. Ignored by PostgreSQL and NoSQL drivers.
|
|
200
|
+
*
|
|
201
|
+
* @param columnName - Column to position after
|
|
202
|
+
* @returns This builder for chaining
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* this.string("middle_name").after("first_name");
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
after(columnName: string): this;
|
|
210
|
+
/**
|
|
211
|
+
* Position this column as the first column in the table.
|
|
212
|
+
*
|
|
213
|
+
* MySQL/MariaDB only. Ignored by PostgreSQL and NoSQL drivers.
|
|
214
|
+
*
|
|
215
|
+
* @returns This builder for chaining
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```typescript
|
|
219
|
+
* this.integer("id").primary().first();
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
first(): this;
|
|
223
|
+
/**
|
|
224
|
+
* Declare a foreign key constraint on this column.
|
|
225
|
+
*
|
|
226
|
+
* Pushes an `addForeignKey` operation immediately using a mutable reference —
|
|
227
|
+
* subsequent `.on()`, `.onDelete()`, `.onUpdate()` calls mutate the same
|
|
228
|
+
* definition that is already queued, so no `.add()` terminator is needed.
|
|
229
|
+
*
|
|
230
|
+
* Referenced column defaults to `"id"` — use `.on()` to override.
|
|
231
|
+
*
|
|
232
|
+
* @param table - Referenced table name
|
|
233
|
+
* @returns This builder for chaining
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```typescript
|
|
237
|
+
* this.integer("user_id").references("users");
|
|
238
|
+
* this.integer("user_id").references("users").on("custom_id").onDelete("cascade");
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
241
|
+
references(table: string): this;
|
|
242
|
+
/**
|
|
243
|
+
* Set the referenced column for the foreign key.
|
|
244
|
+
*
|
|
245
|
+
* Only meaningful after `.references()`. Defaults to `"id"` if omitted.
|
|
246
|
+
*
|
|
247
|
+
* @param column - Referenced column name
|
|
248
|
+
* @returns This builder for chaining
|
|
249
|
+
*
|
|
250
|
+
* @example
|
|
251
|
+
* ```typescript
|
|
252
|
+
* this.integer("user_id").references("users").on("custom_id");
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
on(column: string): this;
|
|
256
|
+
/**
|
|
257
|
+
* Set the ON DELETE action for the foreign key.
|
|
258
|
+
*
|
|
259
|
+
* Only meaningful after `.references()`.
|
|
260
|
+
*
|
|
261
|
+
* @param action - Action when the referenced row is deleted
|
|
262
|
+
* @returns This builder for chaining
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```typescript
|
|
266
|
+
* this.integer("user_id").references("users").onDelete("cascade");
|
|
267
|
+
* ```
|
|
268
|
+
*/
|
|
269
|
+
onDelete(action: ForeignKeyDefinition["onDelete"]): this;
|
|
270
|
+
/**
|
|
271
|
+
* Set the ON UPDATE action for the foreign key.
|
|
272
|
+
*
|
|
273
|
+
* Only meaningful after `.references()`.
|
|
274
|
+
*
|
|
275
|
+
* @param action - Action when the referenced row's key is updated
|
|
276
|
+
* @returns This builder for chaining
|
|
277
|
+
*
|
|
278
|
+
* @example
|
|
279
|
+
* ```typescript
|
|
280
|
+
* this.integer("user_id").references("users").onUpdate("cascade");
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
onUpdate(action: ForeignKeyDefinition["onUpdate"]): this;
|
|
284
|
+
/**
|
|
285
|
+
* Shorthand for `.onDelete("cascade").onUpdate("cascade")`.
|
|
286
|
+
*
|
|
287
|
+
* Only meaningful after `.references()`.
|
|
288
|
+
*
|
|
289
|
+
* @returns This builder for chaining
|
|
290
|
+
*
|
|
291
|
+
* @example
|
|
292
|
+
* ```typescript
|
|
293
|
+
* this.integer("user_id").references("users").cascadeAll();
|
|
294
|
+
* ```
|
|
295
|
+
*/
|
|
296
|
+
cascadeAll(): this;
|
|
297
|
+
/**
|
|
298
|
+
* Mark this column definition as a modification of an existing column.
|
|
299
|
+
*
|
|
300
|
+
* Pushes a `modifyColumn` operation instead of `addColumn`.
|
|
301
|
+
* This method breaks the builder chain and returns the parent migration.
|
|
302
|
+
*
|
|
303
|
+
* @returns The parent migration instance (breaks builder chain)
|
|
304
|
+
*
|
|
305
|
+
* @example
|
|
306
|
+
* ```typescript
|
|
307
|
+
* // Make email nullable
|
|
308
|
+
* this.string("email").nullable().change();
|
|
309
|
+
*
|
|
310
|
+
* // Increase length
|
|
311
|
+
* this.string("name", 255).change();
|
|
312
|
+
*
|
|
313
|
+
* // Change type
|
|
314
|
+
* this.text("description").change();
|
|
315
|
+
* ```
|
|
316
|
+
*/
|
|
317
|
+
change(): unknown;
|
|
318
|
+
/**
|
|
319
|
+
* Mark this column as a generated column with the given SQL expression.
|
|
320
|
+
*
|
|
321
|
+
* Must be followed by `.stored()` or `.virtual()` to specify storage type.
|
|
322
|
+
*
|
|
323
|
+
* PostgreSQL: GENERATED ALWAYS AS (...) STORED
|
|
324
|
+
* MySQL: GENERATED ALWAYS AS (...) STORED | VIRTUAL
|
|
325
|
+
*
|
|
326
|
+
* @param expression - SQL expression to compute the value
|
|
327
|
+
* @returns This builder for chaining
|
|
328
|
+
*
|
|
329
|
+
* @example
|
|
330
|
+
* ```typescript
|
|
331
|
+
* this.string("full_name")
|
|
332
|
+
* .generatedAs("CONCAT(first_name, ' ', last_name)")
|
|
333
|
+
* .stored();
|
|
334
|
+
*
|
|
335
|
+
* this.decimal("price_with_tax")
|
|
336
|
+
* .generatedAs("price * 1.2")
|
|
337
|
+
* .virtual();
|
|
338
|
+
* ```
|
|
339
|
+
*/
|
|
340
|
+
generatedAs(expression: string): this;
|
|
341
|
+
/**
|
|
342
|
+
* Mark the generated column as stored (computed and persisted to disk).
|
|
343
|
+
*
|
|
344
|
+
* Must be called after `.generatedAs()`.
|
|
345
|
+
*
|
|
346
|
+
* @returns This builder for chaining
|
|
347
|
+
*/
|
|
348
|
+
stored(): this;
|
|
349
|
+
/**
|
|
350
|
+
* Mark the generated column as virtual (computed on read, not stored).
|
|
351
|
+
*
|
|
352
|
+
* Must be called after `.generatedAs()`. Not supported by PostgreSQL.
|
|
353
|
+
*
|
|
354
|
+
* @returns This builder for chaining
|
|
355
|
+
*/
|
|
356
|
+
virtual(): this;
|
|
157
357
|
/**
|
|
158
358
|
* Get the built column definition.
|
|
159
359
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-builder.d.ts","sourceRoot":"","sources":["../../src/migration/column-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"column-builder.d.ts","sourceRoot":"","sources":["../../src/migration/column-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEjH;;;GAGG;AACH,KAAK,aAAa,GAAG;IACnB,eAAe,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,sBAAsB,CAAC,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACxD,CAAC;AAcF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,aAAa;IAmBtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAlB5B,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C,uEAAuE;IACvE,OAAO,CAAC,YAAY,CAAC,CAA8B;IAEnD,0FAA0F;IAC1F,OAAO,CAAC,mBAAmB,CAAC,CAAS;IAErC;;;;;;;OAOG;gBAEgB,SAAS,EAAE,aAAa,EACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,OAAO,CACd,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC,CAC9E;IAcR;;;;;;;;;OASG;IACI,QAAQ,IAAI,IAAI;IAKvB;;;;;;OAMG;IACI,WAAW,IAAI,IAAI;IAS1B;;;;;;;;;;;OAWG;IACI,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKpC;;;;;;;;;;;OAWG;IACI,UAAU,IAAI,IAAI;IAKzB;;;;;;;;;;;OAWG;IACI,kBAAkB,IAAI,IAAI;IASjC;;;;;;;;;;;OAWG;IACI,MAAM,IAAI,IAAI;IAQrB;;;;;;;;;;;OAWG;IACI,KAAK,IAAI,IAAI;IAWpB;;;;;;;;;OASG;IACI,OAAO,IAAI,IAAI;IAKtB;;;;;;;;;;;;OAYG;IACI,aAAa,IAAI,IAAI;IAS5B;;;;;;;;;;;OAWG;IACI,QAAQ,IAAI,IAAI;IASvB;;;;;;;;;;;;OAYG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IASlC;;;;;;OAMG;IACI,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAYrD;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKtC;;;;;;;;;;;OAWG;IACI,KAAK,IAAI,IAAI;IASpB;;;;;;;;;;;;;;;;;OAiBG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYtC;;;;;;;;;;;;OAYG;IACI,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO/B;;;;;;;;;;;;OAYG;IACI,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,IAAI;IAO/D;;;;;;;;;;;;OAYG;IACI,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,IAAI;IAO/D;;;;;;;;;;;OAWG;IACI,UAAU,IAAI,IAAI;IAYzB;;;;;;;;;;;;;;;;;;;OAmBG;IACI,MAAM,IAAI,OAAO;IAsBxB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK5C;;;;;;OAMG;IACI,MAAM,IAAI,IAAI;IAUrB;;;;;;OAMG;IACI,OAAO,IAAI,IAAI;IActB;;;;;;OAMG;IACI,aAAa,IAAI,gBAAgB;CAGzC"}
|