@warlock.js/cascade 4.0.141 → 4.0.143
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/database-driver.contract.d.ts +14 -0
- package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-driver.d.ts +6 -0
- package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-driver.js +8 -1
- package/cjs/drivers/postgres/postgres-driver.js.map +1 -1
- package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +37 -0
- package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-sql-serializer.js +394 -0
- package/cjs/drivers/postgres/postgres-sql-serializer.js.map +1 -0
- package/cjs/index.js +1 -1
- package/cjs/migration/column-builder.d.ts +14 -4
- package/cjs/migration/column-builder.d.ts.map +1 -1
- package/cjs/migration/column-builder.js +14 -5
- package/cjs/migration/column-builder.js.map +1 -1
- package/cjs/migration/column-helpers.d.ts +269 -0
- package/cjs/migration/column-helpers.d.ts.map +1 -0
- package/cjs/migration/column-helpers.js +384 -0
- package/cjs/migration/column-helpers.js.map +1 -0
- package/cjs/migration/index.d.ts +1 -0
- package/cjs/migration/index.d.ts.map +1 -1
- package/cjs/migration/migration-runner.d.ts +32 -1
- package/cjs/migration/migration-runner.d.ts.map +1 -1
- package/cjs/migration/migration-runner.js +216 -46
- package/cjs/migration/migration-runner.js.map +1 -1
- package/cjs/migration/migration.d.ts +337 -4
- package/cjs/migration/migration.d.ts.map +1 -1
- package/cjs/migration/migration.js +331 -4
- package/cjs/migration/migration.js.map +1 -1
- package/cjs/migration/sql-grammar.d.ts +18 -0
- package/cjs/migration/sql-grammar.d.ts.map +1 -0
- package/cjs/migration/sql-grammar.js +77 -0
- package/cjs/migration/sql-grammar.js.map +1 -0
- package/cjs/migration/sql-serializer.d.ts +22 -0
- package/cjs/migration/sql-serializer.d.ts.map +1 -0
- package/cjs/migration/sql-serializer.js +26 -0
- package/cjs/migration/sql-serializer.js.map +1 -0
- package/cjs/migration/types.d.ts +13 -0
- package/cjs/migration/types.d.ts.map +1 -1
- package/cjs/types.d.ts +23 -0
- package/cjs/types.d.ts.map +1 -1
- package/cjs/writer/database-writer.js +4 -4
- package/cjs/writer/database-writer.js.map +1 -1
- package/esm/contracts/database-driver.contract.d.ts +14 -0
- package/esm/contracts/database-driver.contract.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-driver.d.ts +6 -0
- package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-driver.js +8 -1
- package/esm/drivers/postgres/postgres-driver.js.map +1 -1
- package/esm/drivers/postgres/postgres-sql-serializer.d.ts +37 -0
- package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-sql-serializer.js +394 -0
- package/esm/drivers/postgres/postgres-sql-serializer.js.map +1 -0
- package/esm/index.js +1 -1
- package/esm/migration/column-builder.d.ts +14 -4
- package/esm/migration/column-builder.d.ts.map +1 -1
- package/esm/migration/column-builder.js +14 -5
- package/esm/migration/column-builder.js.map +1 -1
- package/esm/migration/column-helpers.d.ts +269 -0
- package/esm/migration/column-helpers.d.ts.map +1 -0
- package/esm/migration/column-helpers.js +384 -0
- package/esm/migration/column-helpers.js.map +1 -0
- package/esm/migration/index.d.ts +1 -0
- package/esm/migration/index.d.ts.map +1 -1
- package/esm/migration/migration-runner.d.ts +32 -1
- package/esm/migration/migration-runner.d.ts.map +1 -1
- package/esm/migration/migration-runner.js +216 -46
- package/esm/migration/migration-runner.js.map +1 -1
- package/esm/migration/migration.d.ts +337 -4
- package/esm/migration/migration.d.ts.map +1 -1
- package/esm/migration/migration.js +331 -4
- package/esm/migration/migration.js.map +1 -1
- package/esm/migration/sql-grammar.d.ts +18 -0
- package/esm/migration/sql-grammar.d.ts.map +1 -0
- package/esm/migration/sql-grammar.js +77 -0
- package/esm/migration/sql-grammar.js.map +1 -0
- package/esm/migration/sql-serializer.d.ts +22 -0
- package/esm/migration/sql-serializer.d.ts.map +1 -0
- package/esm/migration/sql-serializer.js +26 -0
- package/esm/migration/sql-serializer.js.map +1 -0
- package/esm/migration/types.d.ts +13 -0
- package/esm/migration/types.d.ts.map +1 -1
- package/esm/types.d.ts +23 -0
- package/esm/types.d.ts.map +1 -1
- package/esm/writer/database-writer.js +4 -4
- package/esm/writer/database-writer.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
'use strict';var sqlSerializer=require('../../migration/sql-serializer.js');/**
|
|
2
|
+
* PostgreSQL-specific SQL serializer.
|
|
3
|
+
*
|
|
4
|
+
* Converts pending migration operations into valid PostgreSQL DDL statements.
|
|
5
|
+
*/
|
|
6
|
+
class PostgresSQLSerializer extends sqlSerializer.SQLSerializer {
|
|
7
|
+
dialect;
|
|
8
|
+
constructor(dialect) {
|
|
9
|
+
super();
|
|
10
|
+
this.dialect = dialect;
|
|
11
|
+
}
|
|
12
|
+
serialize(operation, table) {
|
|
13
|
+
switch (operation.type) {
|
|
14
|
+
case "createTable":
|
|
15
|
+
return this.createTable(table);
|
|
16
|
+
case "createTableIfNotExists":
|
|
17
|
+
return this.createTableIfNotExists(table);
|
|
18
|
+
case "dropTable":
|
|
19
|
+
return this.dropTable(table);
|
|
20
|
+
case "dropTableIfExists":
|
|
21
|
+
return this.dropTableIfExists(table);
|
|
22
|
+
case "renameTable":
|
|
23
|
+
return this.renameTable(table, operation.payload);
|
|
24
|
+
case "truncateTable":
|
|
25
|
+
return this.truncateTable(table);
|
|
26
|
+
case "addColumn":
|
|
27
|
+
return this.addColumn(table, operation.payload);
|
|
28
|
+
case "dropColumn":
|
|
29
|
+
return this.dropColumn(table, operation.payload);
|
|
30
|
+
case "dropColumns":
|
|
31
|
+
// This is handled via map in serializeAll or loop, but Postgres supports multiple DROP COLUMN
|
|
32
|
+
// For simplicity, we can serialize multiple statements if we want, or handle it here
|
|
33
|
+
// Actually, dropColumns payload is string[]. We can join them.
|
|
34
|
+
return this.dropColumns(table, operation.payload);
|
|
35
|
+
case "renameColumn": {
|
|
36
|
+
const payload = operation.payload;
|
|
37
|
+
return this.renameColumn(table, payload.from, payload.to);
|
|
38
|
+
}
|
|
39
|
+
case "modifyColumn":
|
|
40
|
+
// Modify column might require multiple statements in Postgres (type, nullability, default).
|
|
41
|
+
// SQLSerializer's serialize return is just a string, so we'll separate them by semicolon
|
|
42
|
+
// Or wait, Postgres allows multiple ALTER COLUMN in one ALTER TABLE statement.
|
|
43
|
+
return this.modifyColumn(table, operation.payload);
|
|
44
|
+
case "createIndex":
|
|
45
|
+
return this.createIndex(table, operation.payload);
|
|
46
|
+
case "dropIndex":
|
|
47
|
+
return this.dropIndex(table, operation.payload);
|
|
48
|
+
case "createUniqueIndex": {
|
|
49
|
+
const payload = operation.payload;
|
|
50
|
+
return this.createIndex(table, { columns: payload.columns, name: payload.name, unique: true });
|
|
51
|
+
}
|
|
52
|
+
case "dropUniqueIndex":
|
|
53
|
+
return this.dropIndex(table, operation.payload);
|
|
54
|
+
case "createFullTextIndex": {
|
|
55
|
+
const payload = operation.payload;
|
|
56
|
+
return this.createFullTextIndex(table, payload.columns, payload.options);
|
|
57
|
+
}
|
|
58
|
+
case "dropFullTextIndex":
|
|
59
|
+
return this.dropIndex(table, operation.payload);
|
|
60
|
+
case "createGeoIndex": {
|
|
61
|
+
const payload = operation.payload;
|
|
62
|
+
return this.createGeoIndex(table, payload.column, payload.options);
|
|
63
|
+
}
|
|
64
|
+
case "dropGeoIndex":
|
|
65
|
+
return this.dropIndex(table, `idx_${table}_geo_${operation.payload}`);
|
|
66
|
+
case "createVectorIndex": {
|
|
67
|
+
const payload = operation.payload;
|
|
68
|
+
return this.createVectorIndex(table, payload.column, payload.options);
|
|
69
|
+
}
|
|
70
|
+
case "dropVectorIndex":
|
|
71
|
+
return this.dropIndex(table, `idx_${table}_vector_${operation.payload}`);
|
|
72
|
+
case "createTTLIndex": {
|
|
73
|
+
const payload = operation.payload;
|
|
74
|
+
return this.createTTLIndex(table, payload.column, payload.expireAfterSeconds);
|
|
75
|
+
}
|
|
76
|
+
case "dropTTLIndex":
|
|
77
|
+
return this.dropIndex(table, `idx_${table}_ttl_${operation.payload}`);
|
|
78
|
+
case "addForeignKey":
|
|
79
|
+
return this.addForeignKey(table, operation.payload);
|
|
80
|
+
case "dropForeignKey":
|
|
81
|
+
return this.dropForeignKey(table, operation.payload);
|
|
82
|
+
case "addPrimaryKey":
|
|
83
|
+
return this.addPrimaryKey(table, operation.payload);
|
|
84
|
+
case "dropPrimaryKey":
|
|
85
|
+
return this.dropPrimaryKey(table);
|
|
86
|
+
case "addCheck":
|
|
87
|
+
// addCheck is not natively implemented in MigrationDriverContract but exists in OperationType
|
|
88
|
+
return null;
|
|
89
|
+
case "dropCheck":
|
|
90
|
+
return null;
|
|
91
|
+
case "createTimestamps":
|
|
92
|
+
// createTimestamps needs to inject two columns. We return two statements.
|
|
93
|
+
return this.createTimestamps(table);
|
|
94
|
+
case "rawStatement": {
|
|
95
|
+
const payload = operation.payload;
|
|
96
|
+
// ensure string doesn't end with a semicolon if it's already one statement
|
|
97
|
+
return payload;
|
|
98
|
+
}
|
|
99
|
+
case "setSchemaValidation":
|
|
100
|
+
case "removeSchemaValidation":
|
|
101
|
+
// Not implemented in PostgreSQL
|
|
102
|
+
return null;
|
|
103
|
+
default:
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// ============================================================================
|
|
108
|
+
// TABLE OPERATIONS
|
|
109
|
+
// ============================================================================
|
|
110
|
+
createTable(table) {
|
|
111
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
112
|
+
return `CREATE TABLE ${quotedTable} ()`;
|
|
113
|
+
}
|
|
114
|
+
createTableIfNotExists(table) {
|
|
115
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
116
|
+
return `CREATE TABLE IF NOT EXISTS ${quotedTable} ()`;
|
|
117
|
+
}
|
|
118
|
+
dropTable(table) {
|
|
119
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
120
|
+
return `DROP TABLE ${quotedTable} CASCADE`;
|
|
121
|
+
}
|
|
122
|
+
dropTableIfExists(table) {
|
|
123
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
124
|
+
return `DROP TABLE IF EXISTS ${quotedTable} CASCADE`;
|
|
125
|
+
}
|
|
126
|
+
renameTable(from, to) {
|
|
127
|
+
const quotedFrom = this.dialect.quoteIdentifier(from);
|
|
128
|
+
const quotedTo = this.dialect.quoteIdentifier(to);
|
|
129
|
+
return `ALTER TABLE ${quotedFrom} RENAME TO ${quotedTo}`;
|
|
130
|
+
}
|
|
131
|
+
truncateTable(table) {
|
|
132
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
133
|
+
return `TRUNCATE TABLE ${quotedTable}`;
|
|
134
|
+
}
|
|
135
|
+
// ============================================================================
|
|
136
|
+
// COLUMN OPERATIONS
|
|
137
|
+
// ============================================================================
|
|
138
|
+
addColumn(table, column) {
|
|
139
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
140
|
+
const quotedColumn = this.dialect.quoteIdentifier(column.name);
|
|
141
|
+
let sqlType;
|
|
142
|
+
if (column.autoIncrement) {
|
|
143
|
+
if (column.type === "bigInteger") {
|
|
144
|
+
sqlType = "BIGSERIAL";
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
sqlType = "SERIAL";
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
sqlType = this.dialect.getSqlType(column.type, {
|
|
152
|
+
length: column.length,
|
|
153
|
+
precision: column.precision,
|
|
154
|
+
scale: column.scale,
|
|
155
|
+
dimensions: column.dimensions,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
let sql = `ALTER TABLE ${quotedTable} ADD COLUMN ${quotedColumn} ${sqlType}`;
|
|
159
|
+
if (column.generated) {
|
|
160
|
+
sql += ` GENERATED ALWAYS AS (${column.generated.expression})`;
|
|
161
|
+
if (column.generated.stored) {
|
|
162
|
+
sql += " STORED";
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
if (!column.autoIncrement && column.nullable === false) {
|
|
167
|
+
sql += " NOT NULL";
|
|
168
|
+
}
|
|
169
|
+
if (column.defaultValue !== undefined) {
|
|
170
|
+
if (typeof column.defaultValue === "object" &&
|
|
171
|
+
column.defaultValue !== null &&
|
|
172
|
+
column.defaultValue.__type === "CURRENT_TIMESTAMP") {
|
|
173
|
+
sql += " DEFAULT NOW()";
|
|
174
|
+
}
|
|
175
|
+
else if (column.isRawDefault === false) {
|
|
176
|
+
const escaped = String(column.defaultValue).replace(/'/g, "''");
|
|
177
|
+
sql += ` DEFAULT '${escaped}'`;
|
|
178
|
+
}
|
|
179
|
+
else if (typeof column.defaultValue === "boolean") {
|
|
180
|
+
sql += ` DEFAULT ${column.defaultValue ? "TRUE" : "FALSE"}`;
|
|
181
|
+
}
|
|
182
|
+
else if (typeof column.defaultValue === "number") {
|
|
183
|
+
sql += ` DEFAULT ${column.defaultValue}`;
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
sql += ` DEFAULT ${column.defaultValue}`; // raw default
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
if (column.primary) {
|
|
190
|
+
sql += " PRIMARY KEY";
|
|
191
|
+
}
|
|
192
|
+
if (column.unique) {
|
|
193
|
+
sql += " UNIQUE";
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return sql;
|
|
197
|
+
}
|
|
198
|
+
dropColumn(table, column) {
|
|
199
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
200
|
+
const quotedColumn = this.dialect.quoteIdentifier(column);
|
|
201
|
+
return `ALTER TABLE ${quotedTable} DROP COLUMN ${quotedColumn}`;
|
|
202
|
+
}
|
|
203
|
+
dropColumns(table, columns) {
|
|
204
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
205
|
+
const drops = columns.map((col) => `DROP COLUMN ${this.dialect.quoteIdentifier(col)}`).join(", ");
|
|
206
|
+
return `ALTER TABLE ${quotedTable} ${drops}`;
|
|
207
|
+
}
|
|
208
|
+
renameColumn(table, from, to) {
|
|
209
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
210
|
+
const quotedFrom = this.dialect.quoteIdentifier(from);
|
|
211
|
+
const quotedTo = this.dialect.quoteIdentifier(to);
|
|
212
|
+
return `ALTER TABLE ${quotedTable} RENAME COLUMN ${quotedFrom} TO ${quotedTo}`;
|
|
213
|
+
}
|
|
214
|
+
modifyColumn(table, column) {
|
|
215
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
216
|
+
const quotedColumn = this.dialect.quoteIdentifier(column.name);
|
|
217
|
+
const sqlType = this.dialect.getSqlType(column.type, {
|
|
218
|
+
length: column.length,
|
|
219
|
+
precision: column.precision,
|
|
220
|
+
scale: column.scale,
|
|
221
|
+
dimensions: column.dimensions,
|
|
222
|
+
});
|
|
223
|
+
const alters = [];
|
|
224
|
+
alters.push(`ALTER COLUMN ${quotedColumn} TYPE ${sqlType}`);
|
|
225
|
+
if (column.nullable === false) {
|
|
226
|
+
alters.push(`ALTER COLUMN ${quotedColumn} SET NOT NULL`);
|
|
227
|
+
}
|
|
228
|
+
else if (column.nullable === true) {
|
|
229
|
+
alters.push(`ALTER COLUMN ${quotedColumn} DROP NOT NULL`);
|
|
230
|
+
}
|
|
231
|
+
if (column.defaultValue !== undefined) {
|
|
232
|
+
let defaultVal;
|
|
233
|
+
if (typeof column.defaultValue === "object" &&
|
|
234
|
+
column.defaultValue !== null &&
|
|
235
|
+
column.defaultValue.__type === "CURRENT_TIMESTAMP") {
|
|
236
|
+
defaultVal = "NOW()";
|
|
237
|
+
}
|
|
238
|
+
else if (typeof column.defaultValue === "string") {
|
|
239
|
+
defaultVal = `'${column.defaultValue}'`;
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
defaultVal = String(column.defaultValue);
|
|
243
|
+
}
|
|
244
|
+
alters.push(`ALTER COLUMN ${quotedColumn} SET DEFAULT ${defaultVal}`);
|
|
245
|
+
}
|
|
246
|
+
return `ALTER TABLE ${quotedTable} ${alters.join(", ")}`;
|
|
247
|
+
}
|
|
248
|
+
createTimestamps(table) {
|
|
249
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
250
|
+
return [
|
|
251
|
+
`ALTER TABLE ${quotedTable} ADD COLUMN "created_at" TIMESTAMPTZ NOT NULL DEFAULT NOW()`,
|
|
252
|
+
`ALTER TABLE ${quotedTable} ADD COLUMN "updated_at" TIMESTAMPTZ NOT NULL DEFAULT NOW()`,
|
|
253
|
+
];
|
|
254
|
+
}
|
|
255
|
+
// ============================================================================
|
|
256
|
+
// INDEX OPERATIONS
|
|
257
|
+
// ============================================================================
|
|
258
|
+
createIndex(table, index) {
|
|
259
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
260
|
+
let indexName;
|
|
261
|
+
if (index.name) {
|
|
262
|
+
indexName = index.name;
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
const colStr = Array.isArray(index.columns) ? index.columns.join("_") : index.columns;
|
|
266
|
+
indexName = `idx_${table}_${colStr}`;
|
|
267
|
+
}
|
|
268
|
+
const quotedIndexName = this.dialect.quoteIdentifier(indexName);
|
|
269
|
+
const uniqueKeyword = index.unique ? "UNIQUE " : "";
|
|
270
|
+
const concurrentlyKeyword = index.concurrently ? "CONCURRENTLY " : "";
|
|
271
|
+
let columnsPart;
|
|
272
|
+
if (index.expressions && index.expressions.length > 0) {
|
|
273
|
+
columnsPart = index.expressions.map((expr) => `(${expr})`).join(", ");
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
const columns = index.columns.map((col, i) => {
|
|
277
|
+
const quotedCol = this.dialect.quoteIdentifier(col);
|
|
278
|
+
const direction = index.directions?.[i]?.toUpperCase() ?? "";
|
|
279
|
+
return direction ? `${quotedCol} ${direction}` : quotedCol;
|
|
280
|
+
});
|
|
281
|
+
columnsPart = columns.join(", ");
|
|
282
|
+
}
|
|
283
|
+
let sql = `CREATE ${uniqueKeyword}INDEX ${concurrentlyKeyword}${quotedIndexName} ON ${quotedTable} (${columnsPart})`;
|
|
284
|
+
if (index.include && index.include.length > 0) {
|
|
285
|
+
const includeCols = index.include.map((col) => this.dialect.quoteIdentifier(col)).join(", ");
|
|
286
|
+
sql += ` INCLUDE (${includeCols})`;
|
|
287
|
+
}
|
|
288
|
+
if (index.where && Object.keys(index.where).length > 0) {
|
|
289
|
+
const conditions = Object.entries(index.where)
|
|
290
|
+
.map(([key, value]) => {
|
|
291
|
+
const quotedKey = this.dialect.quoteIdentifier(key);
|
|
292
|
+
return typeof value === "string" ? `${quotedKey} = '${value}'` : `${quotedKey} = ${value}`;
|
|
293
|
+
})
|
|
294
|
+
.join(" AND ");
|
|
295
|
+
sql += ` WHERE ${conditions}`;
|
|
296
|
+
}
|
|
297
|
+
return sql;
|
|
298
|
+
}
|
|
299
|
+
dropIndex(table, indexNameOrColumns) {
|
|
300
|
+
let indexName;
|
|
301
|
+
if (typeof indexNameOrColumns === "string") {
|
|
302
|
+
indexName = indexNameOrColumns;
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
indexName = `idx_${table}_${indexNameOrColumns.join("_")}`;
|
|
306
|
+
}
|
|
307
|
+
const quotedIndexName = this.dialect.quoteIdentifier(indexName);
|
|
308
|
+
return `DROP INDEX IF EXISTS ${quotedIndexName}`;
|
|
309
|
+
}
|
|
310
|
+
createFullTextIndex(table, columns, options) {
|
|
311
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
312
|
+
const indexName = options?.name ?? `idx_${table}_fulltext_${columns.join("_")}`;
|
|
313
|
+
const quotedIndexName = this.dialect.quoteIdentifier(indexName);
|
|
314
|
+
const language = options?.language ?? "english";
|
|
315
|
+
const tsvectors = columns.map((col) => {
|
|
316
|
+
const weight = options?.weights?.[col] ?? "A";
|
|
317
|
+
return `setweight(to_tsvector('${language}', COALESCE(${this.dialect.quoteIdentifier(col)}, '')), '${weight}')`;
|
|
318
|
+
});
|
|
319
|
+
return `CREATE INDEX ${quotedIndexName} ON ${quotedTable} USING GIN ((${tsvectors.join(" || ")}))`;
|
|
320
|
+
}
|
|
321
|
+
createGeoIndex(table, column, options) {
|
|
322
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
323
|
+
const quotedColumn = this.dialect.quoteIdentifier(column);
|
|
324
|
+
const indexName = options?.name ?? `idx_${table}_geo_${column}`;
|
|
325
|
+
const quotedIndexName = this.dialect.quoteIdentifier(indexName);
|
|
326
|
+
return `CREATE INDEX ${quotedIndexName} ON ${quotedTable} USING GIST (${quotedColumn})`;
|
|
327
|
+
}
|
|
328
|
+
createVectorIndex(table, column, options) {
|
|
329
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
330
|
+
const quotedColumn = this.dialect.quoteIdentifier(column);
|
|
331
|
+
const indexName = options.name ?? `idx_${table}_vector_${column}`;
|
|
332
|
+
const quotedIndexName = this.dialect.quoteIdentifier(indexName);
|
|
333
|
+
const opClass = options.similarity === "euclidean"
|
|
334
|
+
? "vector_l2_ops"
|
|
335
|
+
: options.similarity === "dotProduct"
|
|
336
|
+
? "vector_ip_ops"
|
|
337
|
+
: "vector_cosine_ops";
|
|
338
|
+
const lists = options.lists ?? 100;
|
|
339
|
+
return `CREATE INDEX ${quotedIndexName} ON ${quotedTable} USING ivfflat (${quotedColumn} ${opClass}) WITH (lists = ${lists})`;
|
|
340
|
+
}
|
|
341
|
+
createTTLIndex(table, column, expireAfterSeconds) {
|
|
342
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
343
|
+
const quotedColumn = this.dialect.quoteIdentifier(column);
|
|
344
|
+
const indexName = `idx_${table}_ttl_${column}`;
|
|
345
|
+
const quotedIndexName = this.dialect.quoteIdentifier(indexName);
|
|
346
|
+
return `CREATE INDEX ${quotedIndexName} ON ${quotedTable} (${quotedColumn}) WHERE ${quotedColumn} < NOW() - INTERVAL '${expireAfterSeconds} seconds'`;
|
|
347
|
+
}
|
|
348
|
+
// ============================================================================
|
|
349
|
+
// CONSTRAINTS
|
|
350
|
+
// ============================================================================
|
|
351
|
+
addForeignKey(table, foreignKey) {
|
|
352
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
353
|
+
const quotedColumn = this.dialect.quoteIdentifier(foreignKey.column);
|
|
354
|
+
const quotedRefTable = this.dialect.quoteIdentifier(foreignKey.referencesTable);
|
|
355
|
+
const quotedRefColumn = this.dialect.quoteIdentifier(foreignKey.referencesColumn);
|
|
356
|
+
const constraintName = foreignKey.name ?? `fk_${table}_${foreignKey.column}_${foreignKey.referencesTable}`;
|
|
357
|
+
const quotedConstraint = this.dialect.quoteIdentifier(constraintName);
|
|
358
|
+
let sql = `ALTER TABLE ${quotedTable} ADD CONSTRAINT ${quotedConstraint} FOREIGN KEY (${quotedColumn}) REFERENCES ${quotedRefTable} (${quotedRefColumn})`;
|
|
359
|
+
if (foreignKey.onDelete) {
|
|
360
|
+
sql += ` ON DELETE ${this.mapForeignKeyAction(foreignKey.onDelete)}`;
|
|
361
|
+
}
|
|
362
|
+
if (foreignKey.onUpdate) {
|
|
363
|
+
sql += ` ON UPDATE ${this.mapForeignKeyAction(foreignKey.onUpdate)}`;
|
|
364
|
+
}
|
|
365
|
+
return sql;
|
|
366
|
+
}
|
|
367
|
+
dropForeignKey(table, name) {
|
|
368
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
369
|
+
const quotedConstraint = this.dialect.quoteIdentifier(name);
|
|
370
|
+
return `ALTER TABLE ${quotedTable} DROP CONSTRAINT ${quotedConstraint}`;
|
|
371
|
+
}
|
|
372
|
+
addPrimaryKey(table, columns) {
|
|
373
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
374
|
+
const quotedColumns = columns.map((c) => this.dialect.quoteIdentifier(c)).join(", ");
|
|
375
|
+
const constraintName = `pk_${table}`;
|
|
376
|
+
const quotedConstraint = this.dialect.quoteIdentifier(constraintName);
|
|
377
|
+
return `ALTER TABLE ${quotedTable} ADD CONSTRAINT ${quotedConstraint} PRIMARY KEY (${quotedColumns})`;
|
|
378
|
+
}
|
|
379
|
+
dropPrimaryKey(table) {
|
|
380
|
+
const quotedTable = this.dialect.quoteIdentifier(table);
|
|
381
|
+
const constraintName = `pk_${table}`;
|
|
382
|
+
const quotedConstraint = this.dialect.quoteIdentifier(constraintName);
|
|
383
|
+
return `ALTER TABLE ${quotedTable} DROP CONSTRAINT ${quotedConstraint}`;
|
|
384
|
+
}
|
|
385
|
+
mapForeignKeyAction(action) {
|
|
386
|
+
switch (action) {
|
|
387
|
+
case "cascade": return "CASCADE";
|
|
388
|
+
case "restrict": return "RESTRICT";
|
|
389
|
+
case "setNull": return "SET NULL";
|
|
390
|
+
case "noAction": return "NO ACTION";
|
|
391
|
+
default: return "NO ACTION";
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}exports.PostgresSQLSerializer=PostgresSQLSerializer;//# sourceMappingURL=postgres-sql-serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-sql-serializer.js","sources":["../../../src/drivers/postgres/postgres-sql-serializer.ts"],"sourcesContent":[null],"names":["SQLSerializer"],"mappings":"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"}
|
package/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var databaseDataSourceContext=require('./context/database-data-source-context.js'),databaseTransactionContext=require('./context/database-transaction-context.js'),dataSource=require('./data-source/data-source.js'),dataSourceRegistry=require('./data-source/data-source-registry.js'),missingDataSource_error=require('./errors/missing-data-source.error.js'),transactionRollback_error=require('./errors/transaction-rollback.error.js'),databaseDirtyTracker=require('./database-dirty-tracker.js'),modelEvents=require('./events/model-events.js'),model=require('./model/model.js'),registerModel=require('./model/register-model.js'),databaseRemover=require('./remover/database-remover.js'),databaseRestorer=require('./restorer/database-restorer.js'),databaseWriterValidationError=require('./validation/database-writer-validation-error.js');require('./validation/database-seal-plugins.js');var databaseWriter=require('./writer/database-writer.js'),helpers=require('./relations/helpers.js'),relationLoader=require('./relations/relation-loader.js'),relationHydrator=require('./relations/relation-hydrator.js'),pivotOperations=require('./relations/pivot-operations.js'),aggregateExpressions=require('./expressions/aggregate-expressions.js'),mongodbDriver=require('./drivers/mongodb/mongodb-driver.js'),mongodbIdGenerator=require('./drivers/mongodb/mongodb-id-generator.js'),mongodbQueryBuilder=require('./drivers/mongodb/mongodb-query-builder.js'),mongodbSyncAdapter=require('./drivers/mongodb/mongodb-sync-adapter.js'),modelSync=require('./sync/model-sync.js'),modelSyncOperation=require('./sync/model-sync-operation.js'),syncContext=require('./sync/sync-context.js'),syncManager=require('./sync/sync-manager.js'),connectToDatabase=require('./utils/connect-to-database.js'),databaseWriter_utils=require('./utils/database-writer.utils.js'),defineModel=require('./utils/define-model.js'),onceConnected=require('./utils/once-connected.js'),columnBuilder=require('./migration/column-builder.js'),foreignKeyBuilder=require('./migration/foreign-key-builder.js'),migration=require('./migration/migration.js'),migrationRunner=require('./migration/migration-runner.js'),mongodbMigrationDriver=require('./drivers/mongodb/mongodb-migration-driver.js'),postgresBlueprint=require('./drivers/postgres/postgres-blueprint.js'),postgresDialect=require('./drivers/postgres/postgres-dialect.js'),postgresDriver=require('./drivers/postgres/postgres-driver.js'),postgresMigrationDriver=require('./drivers/postgres/postgres-migration-driver.js'),postgresQueryBuilder=require('./drivers/postgres/postgres-query-builder.js'),postgresQueryParser=require('./drivers/postgres/postgres-query-parser.js'),postgresSyncAdapter=require('./drivers/postgres/postgres-sync-adapter.js');exports.databaseDataSourceContext=databaseDataSourceContext.databaseDataSourceContext;exports.databaseTransactionContext=databaseTransactionContext.databaseTransactionContext;exports.DataSource=dataSource.DataSource;exports.dataSourceRegistry=dataSourceRegistry.dataSourceRegistry;exports.MissingDataSourceError=missingDataSource_error.MissingDataSourceError;exports.TransactionRollbackError=transactionRollback_error.TransactionRollbackError;exports.DatabaseDirtyTracker=databaseDirtyTracker.DatabaseDirtyTracker;exports.ModelEvents=modelEvents.ModelEvents;exports.globalModelEvents=modelEvents.globalModelEvents;exports.Model=model.Model;exports.RegisterModel=registerModel.RegisterModel;exports.cleanupModelsRegistery=registerModel.cleanupModelsRegistery;exports.getAllModelsFromRegistry=registerModel.getAllModelsFromRegistry;exports.getModelFromRegistry=registerModel.getModelFromRegistry;exports.registerModelInRegistry=registerModel.registerModelInRegistry;exports.removeModelFromRegistery=registerModel.removeModelFromRegistery;exports.resolveModelClass=registerModel.resolveModelClass;exports.DatabaseRemover=databaseRemover.DatabaseRemover;exports.DatabaseRestorer=databaseRestorer.DatabaseRestorer;exports.DatabaseWriterValidationError=databaseWriterValidationError.DatabaseWriterValidationError;exports.DatabaseWriter=databaseWriter.DatabaseWriter;exports.belongsTo=helpers.belongsTo;exports.belongsToMany=helpers.belongsToMany;exports.hasMany=helpers.hasMany;exports.hasOne=helpers.hasOne;exports.RelationLoader=relationLoader.RelationLoader;exports.RelationHydrator=relationHydrator.RelationHydrator;exports.PivotOperations=pivotOperations.PivotOperations;exports.createPivotOperations=pivotOperations.createPivotOperations;exports.$agg=aggregateExpressions.$agg;exports.isAggregateExpression=aggregateExpressions.isAggregateExpression;exports.MongoDbDriver=mongodbDriver.MongoDbDriver;exports.isMongoDBDriverLoaded=mongodbDriver.isMongoDBDriverLoaded;exports.MongoIdGenerator=mongodbIdGenerator.MongoIdGenerator;exports.MongoQueryBuilder=mongodbQueryBuilder.MongoQueryBuilder;exports.MongoSyncAdapter=mongodbSyncAdapter.MongoSyncAdapter;exports.modelSync=modelSync.modelSync;exports.ModelSyncOperation=modelSyncOperation.ModelSyncOperation;exports.DEFAULT_MAX_SYNC_DEPTH=syncContext.DEFAULT_MAX_SYNC_DEPTH;exports.SyncContextManager=syncContext.SyncContextManager;exports.SyncManager=syncManager.SyncManager;exports.connectToDatabase=connectToDatabase.connectToDatabase;exports.getDatabaseDriver=connectToDatabase.getDatabaseDriver;exports.transaction=connectToDatabase.transaction;exports.useModelTransformer=databaseWriter_utils.useModelTransformer;exports.defineModel=defineModel.defineModel;exports.onceConnected=onceConnected.onceConnected;exports.onceDisconnected=onceConnected.onceDisconnected;exports.ColumnBuilder=columnBuilder.ColumnBuilder;exports.ForeignKeyBuilder=foreignKeyBuilder.ForeignKeyBuilder;exports.Migration=migration.Migration;exports.migrate=migration.migrate;exports.MigrationRunner=migrationRunner.MigrationRunner;exports.migrationRunner=migrationRunner.migrationRunner;exports.MongoMigrationDriver=mongodbMigrationDriver.MongoMigrationDriver;exports.PostgresBlueprint=postgresBlueprint.PostgresBlueprint;exports.PostgresDialect=postgresDialect.PostgresDialect;exports.PostgresDriver=postgresDriver.PostgresDriver;exports.PostgresMigrationDriver=postgresMigrationDriver.PostgresMigrationDriver;exports.PostgresQueryBuilder=postgresQueryBuilder.PostgresQueryBuilder;exports.PostgresQueryParser=postgresQueryParser.PostgresQueryParser;exports.PostgresSyncAdapter=postgresSyncAdapter.PostgresSyncAdapter;//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict';var databaseDataSourceContext=require('./context/database-data-source-context.js'),databaseTransactionContext=require('./context/database-transaction-context.js'),dataSource=require('./data-source/data-source.js'),dataSourceRegistry=require('./data-source/data-source-registry.js'),missingDataSource_error=require('./errors/missing-data-source.error.js'),transactionRollback_error=require('./errors/transaction-rollback.error.js'),databaseDirtyTracker=require('./database-dirty-tracker.js'),modelEvents=require('./events/model-events.js'),model=require('./model/model.js'),registerModel=require('./model/register-model.js'),databaseRemover=require('./remover/database-remover.js'),databaseRestorer=require('./restorer/database-restorer.js'),databaseWriterValidationError=require('./validation/database-writer-validation-error.js');require('./validation/database-seal-plugins.js');var databaseWriter=require('./writer/database-writer.js'),helpers=require('./relations/helpers.js'),relationLoader=require('./relations/relation-loader.js'),relationHydrator=require('./relations/relation-hydrator.js'),pivotOperations=require('./relations/pivot-operations.js'),aggregateExpressions=require('./expressions/aggregate-expressions.js'),mongodbDriver=require('./drivers/mongodb/mongodb-driver.js'),mongodbIdGenerator=require('./drivers/mongodb/mongodb-id-generator.js'),mongodbQueryBuilder=require('./drivers/mongodb/mongodb-query-builder.js'),mongodbSyncAdapter=require('./drivers/mongodb/mongodb-sync-adapter.js'),modelSync=require('./sync/model-sync.js'),modelSyncOperation=require('./sync/model-sync-operation.js'),syncContext=require('./sync/sync-context.js'),syncManager=require('./sync/sync-manager.js'),connectToDatabase=require('./utils/connect-to-database.js'),databaseWriter_utils=require('./utils/database-writer.utils.js'),defineModel=require('./utils/define-model.js'),onceConnected=require('./utils/once-connected.js'),columnBuilder=require('./migration/column-builder.js'),foreignKeyBuilder=require('./migration/foreign-key-builder.js'),columnHelpers=require('./migration/column-helpers.js'),migration=require('./migration/migration.js'),migrationRunner=require('./migration/migration-runner.js'),mongodbMigrationDriver=require('./drivers/mongodb/mongodb-migration-driver.js'),postgresBlueprint=require('./drivers/postgres/postgres-blueprint.js'),postgresDialect=require('./drivers/postgres/postgres-dialect.js'),postgresDriver=require('./drivers/postgres/postgres-driver.js'),postgresMigrationDriver=require('./drivers/postgres/postgres-migration-driver.js'),postgresQueryBuilder=require('./drivers/postgres/postgres-query-builder.js'),postgresQueryParser=require('./drivers/postgres/postgres-query-parser.js'),postgresSyncAdapter=require('./drivers/postgres/postgres-sync-adapter.js');exports.databaseDataSourceContext=databaseDataSourceContext.databaseDataSourceContext;exports.databaseTransactionContext=databaseTransactionContext.databaseTransactionContext;exports.DataSource=dataSource.DataSource;exports.dataSourceRegistry=dataSourceRegistry.dataSourceRegistry;exports.MissingDataSourceError=missingDataSource_error.MissingDataSourceError;exports.TransactionRollbackError=transactionRollback_error.TransactionRollbackError;exports.DatabaseDirtyTracker=databaseDirtyTracker.DatabaseDirtyTracker;exports.ModelEvents=modelEvents.ModelEvents;exports.globalModelEvents=modelEvents.globalModelEvents;exports.Model=model.Model;exports.RegisterModel=registerModel.RegisterModel;exports.cleanupModelsRegistery=registerModel.cleanupModelsRegistery;exports.getAllModelsFromRegistry=registerModel.getAllModelsFromRegistry;exports.getModelFromRegistry=registerModel.getModelFromRegistry;exports.registerModelInRegistry=registerModel.registerModelInRegistry;exports.removeModelFromRegistery=registerModel.removeModelFromRegistery;exports.resolveModelClass=registerModel.resolveModelClass;exports.DatabaseRemover=databaseRemover.DatabaseRemover;exports.DatabaseRestorer=databaseRestorer.DatabaseRestorer;exports.DatabaseWriterValidationError=databaseWriterValidationError.DatabaseWriterValidationError;exports.DatabaseWriter=databaseWriter.DatabaseWriter;exports.belongsTo=helpers.belongsTo;exports.belongsToMany=helpers.belongsToMany;exports.hasMany=helpers.hasMany;exports.hasOne=helpers.hasOne;exports.RelationLoader=relationLoader.RelationLoader;exports.RelationHydrator=relationHydrator.RelationHydrator;exports.PivotOperations=pivotOperations.PivotOperations;exports.createPivotOperations=pivotOperations.createPivotOperations;exports.$agg=aggregateExpressions.$agg;exports.isAggregateExpression=aggregateExpressions.isAggregateExpression;exports.MongoDbDriver=mongodbDriver.MongoDbDriver;exports.isMongoDBDriverLoaded=mongodbDriver.isMongoDBDriverLoaded;exports.MongoIdGenerator=mongodbIdGenerator.MongoIdGenerator;exports.MongoQueryBuilder=mongodbQueryBuilder.MongoQueryBuilder;exports.MongoSyncAdapter=mongodbSyncAdapter.MongoSyncAdapter;exports.modelSync=modelSync.modelSync;exports.ModelSyncOperation=modelSyncOperation.ModelSyncOperation;exports.DEFAULT_MAX_SYNC_DEPTH=syncContext.DEFAULT_MAX_SYNC_DEPTH;exports.SyncContextManager=syncContext.SyncContextManager;exports.SyncManager=syncManager.SyncManager;exports.connectToDatabase=connectToDatabase.connectToDatabase;exports.getDatabaseDriver=connectToDatabase.getDatabaseDriver;exports.transaction=connectToDatabase.transaction;exports.useModelTransformer=databaseWriter_utils.useModelTransformer;exports.defineModel=defineModel.defineModel;exports.onceConnected=onceConnected.onceConnected;exports.onceDisconnected=onceConnected.onceDisconnected;exports.ColumnBuilder=columnBuilder.ColumnBuilder;exports.ForeignKeyBuilder=foreignKeyBuilder.ForeignKeyBuilder;exports.DetachedColumnBuilder=columnHelpers.DetachedColumnBuilder;exports.arrayBigInt=columnHelpers.arrayBigInt;exports.arrayBoolean=columnHelpers.arrayBoolean;exports.arrayDate=columnHelpers.arrayDate;exports.arrayDecimal=columnHelpers.arrayDecimal;exports.arrayFloat=columnHelpers.arrayFloat;exports.arrayInt=columnHelpers.arrayInt;exports.arrayText=columnHelpers.arrayText;exports.arrayTimestamp=columnHelpers.arrayTimestamp;exports.arrayUuid=columnHelpers.arrayUuid;exports.bigInt=columnHelpers.bigInt;exports.bigInteger=columnHelpers.bigInteger;exports.binary=columnHelpers.binary;exports.blobCol=columnHelpers.blobCol;exports.bool=columnHelpers.boolCol;exports.boolCol=columnHelpers.boolCol;exports.char=columnHelpers.char;exports.date=columnHelpers.date;exports.dateTime=columnHelpers.dateTime;exports.decimal=columnHelpers.decimal;exports.double=columnHelpers.double;exports.enumCol=columnHelpers.enumCol;exports.float=columnHelpers.float;exports.geometry=columnHelpers.geometry;exports.int=columnHelpers.int;exports.integer=columnHelpers.integer;exports.ipAddress=columnHelpers.ipAddress;exports.json=columnHelpers.json;exports.lineString=columnHelpers.lineString;exports.longText=columnHelpers.longText;exports.macAddress=columnHelpers.macAddress;exports.mediumText=columnHelpers.mediumText;exports.objectCol=columnHelpers.objectCol;exports.point=columnHelpers.point;exports.polygon=columnHelpers.polygon;exports.setCol=columnHelpers.setCol;exports.smallInt=columnHelpers.smallInt;exports.smallInteger=columnHelpers.smallInteger;exports.string=columnHelpers.string;exports.text=columnHelpers.text;exports.time=columnHelpers.time;exports.timestamp=columnHelpers.timestamp;exports.tinyInt=columnHelpers.tinyInt;exports.tinyInteger=columnHelpers.tinyInteger;exports.ulid=columnHelpers.ulid;exports.uuid=columnHelpers.uuid;exports.vector=columnHelpers.vector;exports.year=columnHelpers.year;exports.Migration=migration.Migration;exports.migrate=migration.migrate;exports.MigrationRunner=migrationRunner.MigrationRunner;exports.migrationRunner=migrationRunner.migrationRunner;exports.MongoMigrationDriver=mongodbMigrationDriver.MongoMigrationDriver;exports.PostgresBlueprint=postgresBlueprint.PostgresBlueprint;exports.PostgresDialect=postgresDialect.PostgresDialect;exports.PostgresDriver=postgresDriver.PostgresDriver;exports.PostgresMigrationDriver=postgresMigrationDriver.PostgresMigrationDriver;exports.PostgresQueryBuilder=postgresQueryBuilder.PostgresQueryBuilder;exports.PostgresQueryParser=postgresQueryParser.PostgresQueryParser;exports.PostgresSyncAdapter=postgresSyncAdapter.PostgresSyncAdapter;//# sourceMappingURL=index.js.map
|
|
@@ -244,22 +244,32 @@ export declare class ColumnBuilder {
|
|
|
244
244
|
/**
|
|
245
245
|
* Declare a foreign key constraint on this column.
|
|
246
246
|
*
|
|
247
|
+
* Accepts either a raw table-name string or a Model class (anything with a
|
|
248
|
+
* static `table` property). Using a Model class is preferred — it is
|
|
249
|
+
* type-safe and automatically tracks table renames.
|
|
250
|
+
*
|
|
247
251
|
* Pushes an `addForeignKey` operation immediately using a mutable reference —
|
|
248
252
|
* subsequent `.on()`, `.onDelete()`, `.onUpdate()` calls mutate the same
|
|
249
253
|
* definition that is already queued, so no `.add()` terminator is needed.
|
|
250
254
|
*
|
|
251
255
|
* Referenced column defaults to `"id"` — use `.on()` to override.
|
|
252
256
|
*
|
|
253
|
-
* @param
|
|
257
|
+
* @param tableOrModel - Referenced table name OR a Model class with a static `table` property
|
|
254
258
|
* @returns This builder for chaining
|
|
255
259
|
*
|
|
256
260
|
* @example
|
|
257
261
|
* ```typescript
|
|
258
|
-
*
|
|
259
|
-
* this.
|
|
262
|
+
* // Preferred — model class reference (type-safe, rename-proof)
|
|
263
|
+
* this.uuid("organization_id").references(Organization).onDelete("cascade");
|
|
264
|
+
*
|
|
265
|
+
* // Also supported — raw table string
|
|
266
|
+
* this.uuid("organization_id").references("organizations").onDelete("cascade");
|
|
267
|
+
* this.uuid("organization_id").references(Organization.table).onDelete("cascade");
|
|
260
268
|
* ```
|
|
261
269
|
*/
|
|
262
|
-
references(
|
|
270
|
+
references(tableOrModel: string | {
|
|
271
|
+
table: string;
|
|
272
|
+
}): this;
|
|
263
273
|
/**
|
|
264
274
|
* Set the referenced column for the foreign key.
|
|
265
275
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-builder.d.ts","sourceRoot":"","sources":["../../src/migration/column-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACrB,MAAM,wCAAwC,CAAC;AAEhD;;;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;;;;;;;;;;;;;;;;OAgBG;IACI,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAMtD;;;;;;;;;;;;;;OAcG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMzC;;;;;;;;;;;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
|
|
1
|
+
{"version":3,"file":"column-builder.d.ts","sourceRoot":"","sources":["../../src/migration/column-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -322,25 +322,34 @@ class ColumnBuilder {
|
|
|
322
322
|
/**
|
|
323
323
|
* Declare a foreign key constraint on this column.
|
|
324
324
|
*
|
|
325
|
+
* Accepts either a raw table-name string or a Model class (anything with a
|
|
326
|
+
* static `table` property). Using a Model class is preferred — it is
|
|
327
|
+
* type-safe and automatically tracks table renames.
|
|
328
|
+
*
|
|
325
329
|
* Pushes an `addForeignKey` operation immediately using a mutable reference —
|
|
326
330
|
* subsequent `.on()`, `.onDelete()`, `.onUpdate()` calls mutate the same
|
|
327
331
|
* definition that is already queued, so no `.add()` terminator is needed.
|
|
328
332
|
*
|
|
329
333
|
* Referenced column defaults to `"id"` — use `.on()` to override.
|
|
330
334
|
*
|
|
331
|
-
* @param
|
|
335
|
+
* @param tableOrModel - Referenced table name OR a Model class with a static `table` property
|
|
332
336
|
* @returns This builder for chaining
|
|
333
337
|
*
|
|
334
338
|
* @example
|
|
335
339
|
* ```typescript
|
|
336
|
-
*
|
|
337
|
-
* this.
|
|
340
|
+
* // Preferred — model class reference (type-safe, rename-proof)
|
|
341
|
+
* this.uuid("organization_id").references(Organization).onDelete("cascade");
|
|
342
|
+
*
|
|
343
|
+
* // Also supported — raw table string
|
|
344
|
+
* this.uuid("organization_id").references("organizations").onDelete("cascade");
|
|
345
|
+
* this.uuid("organization_id").references(Organization.table).onDelete("cascade");
|
|
338
346
|
* ```
|
|
339
347
|
*/
|
|
340
|
-
references(
|
|
348
|
+
references(tableOrModel) {
|
|
349
|
+
const tableName = typeof tableOrModel === "string" ? tableOrModel : tableOrModel.table;
|
|
341
350
|
this.fkDefinition = {
|
|
342
351
|
column: this.definition.name,
|
|
343
|
-
referencesTable:
|
|
352
|
+
referencesTable: tableName,
|
|
344
353
|
referencesColumn: "id",
|
|
345
354
|
onDelete: "restrict",
|
|
346
355
|
onUpdate: "restrict",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-builder.js","sources":["../../src/migration/column-builder.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"column-builder.js","sources":["../../src/migration/column-builder.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|