drizzle-kit 0.22.7-a16c9a1 → 0.22.7-c827f86
Sign up to get free protection for your applications and to get access to all the features.
- package/bin.cjs +47 -33
- package/package.json +1 -1
- package/payload.js +33 -18
- package/payload.mjs +33 -18
package/bin.cjs
CHANGED
@@ -22391,13 +22391,19 @@ function mapSqlToSqliteType(sqlType) {
|
|
22391
22391
|
}
|
22392
22392
|
function extractGeneratedColumns(input) {
|
22393
22393
|
const columns = {};
|
22394
|
-
const lines = input.split(
|
22394
|
+
const lines = input.split(/,\s*(?![^()]*\))/);
|
22395
22395
|
for (const line of lines) {
|
22396
22396
|
if (line.includes("GENERATED ALWAYS AS")) {
|
22397
22397
|
const parts = line.trim().split(/\s+/);
|
22398
|
-
const columnName = parts[0].
|
22398
|
+
const columnName = parts[0].replace(/[`'"]/g, "");
|
22399
22399
|
const expression = line.substring(line.indexOf("("), line.indexOf(")") + 1).trim();
|
22400
|
-
const
|
22400
|
+
const typeIndex = parts.findIndex(
|
22401
|
+
(part) => part.match(/(stored|virtual)/i)
|
22402
|
+
);
|
22403
|
+
let type = "virtual";
|
22404
|
+
if (typeIndex !== -1) {
|
22405
|
+
type = parts[typeIndex].replace(/[^a-z]/gi, "").toLowerCase();
|
22406
|
+
}
|
22401
22407
|
columns[columnName] = {
|
22402
22408
|
columnName,
|
22403
22409
|
expression,
|
@@ -22445,7 +22451,7 @@ var init_sqliteSerializer = __esm({
|
|
22445
22451
|
notNull,
|
22446
22452
|
autoincrement: (0, import_drizzle_orm7.is)(column7, import_sqlite_core2.SQLiteBaseInteger) ? column7.autoIncrement : false,
|
22447
22453
|
generated: generated ? {
|
22448
|
-
as: (0, import_drizzle_orm7.is)(generated.as, import_drizzle_orm7.SQL) ? dialect6.sqlToQuery(generated.as, "indexes").sql : typeof generated.as === "function" ? dialect6.sqlToQuery(generated.as(), "indexes").sql : generated.as
|
22454
|
+
as: (0, import_drizzle_orm7.is)(generated.as, import_drizzle_orm7.SQL) ? `(${dialect6.sqlToQuery(generated.as, "indexes").sql})` : typeof generated.as === "function" ? `(${dialect6.sqlToQuery(generated.as(), "indexes").sql})` : `(${generated.as})`,
|
22449
22455
|
type: generated.mode ?? "virtual"
|
22450
22456
|
} : void 0
|
22451
22457
|
};
|
@@ -23202,7 +23208,7 @@ var init_sqlgenerator = __esm({
|
|
23202
23208
|
const notNullStatement = column7.notNull ? " NOT NULL" : "";
|
23203
23209
|
const defaultStatement = column7.default !== void 0 ? ` DEFAULT ${column7.default}` : "";
|
23204
23210
|
const autoincrementStatement = column7.autoincrement ? " AUTOINCREMENT" : "";
|
23205
|
-
const generatedStatement = column7.generated ? ` GENERATED ALWAYS AS
|
23211
|
+
const generatedStatement = column7.generated ? ` GENERATED ALWAYS AS ${column7.generated.as} ${column7.generated.type.toUpperCase()}` : "";
|
23206
23212
|
statement += " ";
|
23207
23213
|
statement += `\`${column7.name}\` ${column7.type}${primaryKeyStatement}${autoincrementStatement}${defaultStatement}${notNullStatement}${generatedStatement}`;
|
23208
23214
|
statement += i2 === columns.length - 1 ? "" : ",\n";
|
@@ -23277,8 +23283,6 @@ var init_sqlgenerator = __esm({
|
|
23277
23283
|
const tableNameWithSchema = schema5 ? `"${schema5}"."${tableName}"` : `"${tableName}"`;
|
23278
23284
|
const unsquashedIdentity = PgSquasher.unsquashIdentity(identity);
|
23279
23285
|
const unsquashedOldIdentity = PgSquasher.unsquashIdentity(oldIdentity);
|
23280
|
-
const identityWithSchema = schema5 ? `"${schema5}"."${unsquashedIdentity == null ? void 0 : unsquashedIdentity.name}"` : `"${unsquashedIdentity == null ? void 0 : unsquashedIdentity.name}"`;
|
23281
|
-
const oldIdentityWithSchema = schema5 ? `"${schema5}"."${unsquashedOldIdentity == null ? void 0 : unsquashedOldIdentity.name}"` : `"${unsquashedOldIdentity == null ? void 0 : unsquashedOldIdentity.name}"`;
|
23282
23286
|
const statementsToReturn = [];
|
23283
23287
|
if (unsquashedOldIdentity.type !== unsquashedIdentity.type) {
|
23284
23288
|
statementsToReturn.push(
|
@@ -23587,14 +23591,18 @@ var init_sqlgenerator = __esm({
|
|
23587
23591
|
}
|
23588
23592
|
convert(statement) {
|
23589
23593
|
const { tableName, column: column7, schema: schema5 } = statement;
|
23590
|
-
const { name, type, notNull, generated } = column7;
|
23594
|
+
const { name, type, notNull, generated, primaryKey, identity } = column7;
|
23595
|
+
const primaryKeyStatement = primaryKey ? " PRIMARY KEY" : "";
|
23591
23596
|
const tableNameWithSchema = schema5 ? `"${schema5}"."${tableName}"` : `"${tableName}"`;
|
23592
23597
|
const defaultStatement = `${column7.default !== void 0 ? ` DEFAULT ${column7.default}` : ""}`;
|
23593
23598
|
const schemaPrefix = column7.typeSchema && column7.typeSchema !== "public" ? `"${column7.typeSchema}".` : "";
|
23594
23599
|
const fixedType = isPgNativeType(column7.type) ? column7.type : `${schemaPrefix}"${column7.type}"`;
|
23595
23600
|
const notNullStatement = `${notNull ? " NOT NULL" : ""}`;
|
23601
|
+
const unsquashedIdentity = identity ? PgSquasher.unsquashIdentity(identity) : void 0;
|
23602
|
+
const identityWithSchema = schema5 ? `"${schema5}"."${unsquashedIdentity == null ? void 0 : unsquashedIdentity.name}"` : `"${unsquashedIdentity == null ? void 0 : unsquashedIdentity.name}"`;
|
23603
|
+
const identityStatement = unsquashedIdentity ? ` GENERATED ${unsquashedIdentity.type === "always" ? "ALWAYS" : "BY DEFAULT"} AS IDENTITY (sequence name ${identityWithSchema}${unsquashedIdentity.increment ? ` INCREMENT BY ${unsquashedIdentity.increment}` : ""}${unsquashedIdentity.minValue ? ` MINVALUE ${unsquashedIdentity.minValue}` : ""}${unsquashedIdentity.maxValue ? ` MAXVALUE ${unsquashedIdentity.maxValue}` : ""}${unsquashedIdentity.startWith ? ` START WITH ${unsquashedIdentity.startWith}` : ""}${unsquashedIdentity.cache ? ` CACHE ${unsquashedIdentity.cache}` : ""}${unsquashedIdentity.cycle ? ` CYCLE` : ""})` : "";
|
23596
23604
|
const generatedStatement = ` GENERATED ALWAYS AS (${generated == null ? void 0 : generated.as}) STORED`;
|
23597
|
-
return `ALTER TABLE ${tableNameWithSchema} ADD COLUMN "${name}" ${fixedType}${defaultStatement}${notNullStatement}${generated ? generatedStatement : ""};`;
|
23605
|
+
return `ALTER TABLE ${tableNameWithSchema} ADD COLUMN "${name}" ${fixedType}${primaryKeyStatement}${defaultStatement}${notNullStatement}${generated ? generatedStatement : ""}${identityStatement};`;
|
23598
23606
|
}
|
23599
23607
|
};
|
23600
23608
|
MySqlAlterTableAddColumnConvertor = class extends Convertor {
|
@@ -23633,7 +23641,7 @@ var init_sqlgenerator = __esm({
|
|
23633
23641
|
const primaryKeyStatement = `${primaryKey ? " PRIMARY KEY" : ""}`;
|
23634
23642
|
const referenceAsObject = referenceData ? SQLiteSquasher.unsquashFK(referenceData) : void 0;
|
23635
23643
|
const referenceStatement = `${referenceAsObject ? ` REFERENCES ${referenceAsObject.tableTo}(${referenceAsObject.columnsTo})` : ""}`;
|
23636
|
-
const generatedStatement = generated ? ` GENERATED ALWAYS AS
|
23644
|
+
const generatedStatement = generated ? ` GENERATED ALWAYS AS ${generated.as} ${generated.type.toUpperCase()}` : "";
|
23637
23645
|
return `ALTER TABLE \`${tableName}\` ADD \`${name}\` ${type}${primaryKeyStatement}${defaultStatement}${notNullStatement}${generatedStatement}${referenceStatement};`;
|
23638
23646
|
}
|
23639
23647
|
};
|
@@ -23922,8 +23930,8 @@ var init_sqlgenerator = __esm({
|
|
23922
23930
|
columnPk,
|
23923
23931
|
columnGenerated
|
23924
23932
|
} = statement;
|
23925
|
-
const tableNameWithSchema = schema5 ?
|
23926
|
-
const addColumnStatement = new
|
23933
|
+
const tableNameWithSchema = schema5 ? `\`${schema5}\`.\`${tableName}\`` : `\`${tableName}\``;
|
23934
|
+
const addColumnStatement = new MySqlAlterTableAddColumnConvertor().convert({
|
23927
23935
|
schema: schema5,
|
23928
23936
|
tableName,
|
23929
23937
|
column: {
|
@@ -23939,7 +23947,7 @@ var init_sqlgenerator = __esm({
|
|
23939
23947
|
type: "alter_table_add_column"
|
23940
23948
|
});
|
23941
23949
|
return [
|
23942
|
-
`ALTER TABLE ${tableNameWithSchema} drop column
|
23950
|
+
`ALTER TABLE ${tableNameWithSchema} drop column \`${columnName}\`;`,
|
23943
23951
|
addColumnStatement
|
23944
23952
|
];
|
23945
23953
|
}
|
@@ -29549,6 +29557,13 @@ var init_snapshotsDiffer = __esm({
|
|
29549
29557
|
return false;
|
29550
29558
|
}
|
29551
29559
|
}
|
29560
|
+
if (st.type === "alter_table_alter_column_set_notnull") {
|
29561
|
+
if (jsonStatements.find(
|
29562
|
+
(it) => it.type === "alter_table_alter_column_set_identity" && it.tableName === st.tableName && it.schema === st.schema
|
29563
|
+
)) {
|
29564
|
+
return false;
|
29565
|
+
}
|
29566
|
+
}
|
29552
29567
|
return true;
|
29553
29568
|
});
|
29554
29569
|
const sqlStatements = fromJson(filteredJsonStatements, "postgresql");
|
@@ -122357,14 +122372,14 @@ var init_sqlitePushUtils = __esm({
|
|
122357
122372
|
}
|
122358
122373
|
tablesContext[newTableName] = _moveDataStatements(
|
122359
122374
|
statement.tableName,
|
122360
|
-
|
122375
|
+
json1,
|
122361
122376
|
true
|
122362
122377
|
);
|
122363
122378
|
} else {
|
122364
122379
|
if (typeof tablesContext[newTableName] === "undefined") {
|
122365
122380
|
tablesContext[newTableName] = _moveDataStatements(
|
122366
122381
|
statement.tableName,
|
122367
|
-
|
122382
|
+
json1
|
122368
122383
|
);
|
122369
122384
|
}
|
122370
122385
|
}
|
@@ -122383,7 +122398,7 @@ var init_sqlitePushUtils = __esm({
|
|
122383
122398
|
const uniqueTableRefs = [...new Set(tablesReferncingCurrent)];
|
122384
122399
|
for (const table4 of uniqueTableRefs) {
|
122385
122400
|
if (typeof tablesContext[table4] === "undefined") {
|
122386
|
-
tablesContext[table4] = [..._moveDataStatements(table4,
|
122401
|
+
tablesContext[table4] = [..._moveDataStatements(table4, json1)];
|
122387
122402
|
}
|
122388
122403
|
}
|
122389
122404
|
}
|
@@ -122404,9 +122419,9 @@ var init_sqlitePushUtils = __esm({
|
|
122404
122419
|
);
|
122405
122420
|
}
|
122406
122421
|
} else {
|
122407
|
-
const stmnt = fromJson([statement], "sqlite")
|
122422
|
+
const stmnt = fromJson([statement], "sqlite");
|
122408
122423
|
if (typeof stmnt !== "undefined") {
|
122409
|
-
statementsToExecute.push(stmnt);
|
122424
|
+
statementsToExecute.push(...stmnt);
|
122410
122425
|
}
|
122411
122426
|
}
|
122412
122427
|
}
|
@@ -124236,25 +124251,24 @@ var init_push = __esm({
|
|
124236
124251
|
process.exit(0);
|
124237
124252
|
}
|
124238
124253
|
}
|
124239
|
-
if (!("driver" in credentials2)) {
|
124240
|
-
await db2.query("begin");
|
124241
|
-
try {
|
124242
|
-
for (const dStmnt of statementsToExecute) {
|
124243
|
-
await db2.query(dStmnt);
|
124244
|
-
}
|
124245
|
-
await db2.query("commit");
|
124246
|
-
} catch (e2) {
|
124247
|
-
await db2.query("rollback");
|
124248
|
-
}
|
124249
|
-
} else if (credentials2.driver === "turso") {
|
124250
|
-
await db2.batch(statementsToExecute.map((it) => ({ query: it })));
|
124251
|
-
}
|
124252
124254
|
if (statementsToExecute.length === 0) {
|
124253
124255
|
(0, import_hanji11.render)(`
|
124254
124256
|
[${source_default.blue("i")}] No changes detected`);
|
124255
124257
|
} else {
|
124256
|
-
|
124257
|
-
await db2.
|
124258
|
+
if (!("driver" in credentials2)) {
|
124259
|
+
await db2.query("begin");
|
124260
|
+
try {
|
124261
|
+
for (const dStmnt of statementsToExecute) {
|
124262
|
+
await db2.query(dStmnt);
|
124263
|
+
}
|
124264
|
+
await db2.query("commit");
|
124265
|
+
} catch (e2) {
|
124266
|
+
console.error(e2);
|
124267
|
+
await db2.query("rollback");
|
124268
|
+
process.exit(1);
|
124269
|
+
}
|
124270
|
+
} else if (credentials2.driver === "turso") {
|
124271
|
+
await db2.batch(statementsToExecute.map((it) => ({ query: it })));
|
124258
124272
|
}
|
124259
124273
|
(0, import_hanji11.render)(`[${source_default.green("\u2713")}] Changes applied`);
|
124260
124274
|
}
|
package/package.json
CHANGED
package/payload.js
CHANGED
@@ -23102,6 +23102,13 @@ var init_snapshotsDiffer = __esm({
|
|
23102
23102
|
return false;
|
23103
23103
|
}
|
23104
23104
|
}
|
23105
|
+
if (st.type === "alter_table_alter_column_set_notnull") {
|
23106
|
+
if (jsonStatements.find(
|
23107
|
+
(it) => it.type === "alter_table_alter_column_set_identity" && it.tableName === st.tableName && it.schema === st.schema
|
23108
|
+
)) {
|
23109
|
+
return false;
|
23110
|
+
}
|
23111
|
+
}
|
23105
23112
|
return true;
|
23106
23113
|
});
|
23107
23114
|
const sqlStatements = fromJson(filteredJsonStatements, "postgresql");
|
@@ -24156,7 +24163,7 @@ var init_sqlgenerator = __esm({
|
|
24156
24163
|
const notNullStatement = column4.notNull ? " NOT NULL" : "";
|
24157
24164
|
const defaultStatement = column4.default !== void 0 ? ` DEFAULT ${column4.default}` : "";
|
24158
24165
|
const autoincrementStatement = column4.autoincrement ? " AUTOINCREMENT" : "";
|
24159
|
-
const generatedStatement = column4.generated ? ` GENERATED ALWAYS AS
|
24166
|
+
const generatedStatement = column4.generated ? ` GENERATED ALWAYS AS ${column4.generated.as} ${column4.generated.type.toUpperCase()}` : "";
|
24160
24167
|
statement += " ";
|
24161
24168
|
statement += `\`${column4.name}\` ${column4.type}${primaryKeyStatement}${autoincrementStatement}${defaultStatement}${notNullStatement}${generatedStatement}`;
|
24162
24169
|
statement += i === columns.length - 1 ? "" : ",\n";
|
@@ -24231,8 +24238,6 @@ var init_sqlgenerator = __esm({
|
|
24231
24238
|
const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
|
24232
24239
|
const unsquashedIdentity = PgSquasher.unsquashIdentity(identity);
|
24233
24240
|
const unsquashedOldIdentity = PgSquasher.unsquashIdentity(oldIdentity);
|
24234
|
-
const identityWithSchema = schema4 ? `"${schema4}"."${unsquashedIdentity?.name}"` : `"${unsquashedIdentity?.name}"`;
|
24235
|
-
const oldIdentityWithSchema = schema4 ? `"${schema4}"."${unsquashedOldIdentity?.name}"` : `"${unsquashedOldIdentity?.name}"`;
|
24236
24241
|
const statementsToReturn = [];
|
24237
24242
|
if (unsquashedOldIdentity.type !== unsquashedIdentity.type) {
|
24238
24243
|
statementsToReturn.push(
|
@@ -24541,14 +24546,18 @@ var init_sqlgenerator = __esm({
|
|
24541
24546
|
}
|
24542
24547
|
convert(statement) {
|
24543
24548
|
const { tableName, column: column4, schema: schema4 } = statement;
|
24544
|
-
const { name: name2, type, notNull, generated } = column4;
|
24549
|
+
const { name: name2, type, notNull, generated, primaryKey, identity } = column4;
|
24550
|
+
const primaryKeyStatement = primaryKey ? " PRIMARY KEY" : "";
|
24545
24551
|
const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
|
24546
24552
|
const defaultStatement = `${column4.default !== void 0 ? ` DEFAULT ${column4.default}` : ""}`;
|
24547
24553
|
const schemaPrefix = column4.typeSchema && column4.typeSchema !== "public" ? `"${column4.typeSchema}".` : "";
|
24548
24554
|
const fixedType = isPgNativeType(column4.type) ? column4.type : `${schemaPrefix}"${column4.type}"`;
|
24549
24555
|
const notNullStatement = `${notNull ? " NOT NULL" : ""}`;
|
24556
|
+
const unsquashedIdentity = identity ? PgSquasher.unsquashIdentity(identity) : void 0;
|
24557
|
+
const identityWithSchema = schema4 ? `"${schema4}"."${unsquashedIdentity?.name}"` : `"${unsquashedIdentity?.name}"`;
|
24558
|
+
const identityStatement = unsquashedIdentity ? ` GENERATED ${unsquashedIdentity.type === "always" ? "ALWAYS" : "BY DEFAULT"} AS IDENTITY (sequence name ${identityWithSchema}${unsquashedIdentity.increment ? ` INCREMENT BY ${unsquashedIdentity.increment}` : ""}${unsquashedIdentity.minValue ? ` MINVALUE ${unsquashedIdentity.minValue}` : ""}${unsquashedIdentity.maxValue ? ` MAXVALUE ${unsquashedIdentity.maxValue}` : ""}${unsquashedIdentity.startWith ? ` START WITH ${unsquashedIdentity.startWith}` : ""}${unsquashedIdentity.cache ? ` CACHE ${unsquashedIdentity.cache}` : ""}${unsquashedIdentity.cycle ? ` CYCLE` : ""})` : "";
|
24550
24559
|
const generatedStatement = ` GENERATED ALWAYS AS (${generated?.as}) STORED`;
|
24551
|
-
return `ALTER TABLE ${tableNameWithSchema} ADD COLUMN "${name2}" ${fixedType}${defaultStatement}${notNullStatement}${generated ? generatedStatement : ""};`;
|
24560
|
+
return `ALTER TABLE ${tableNameWithSchema} ADD COLUMN "${name2}" ${fixedType}${primaryKeyStatement}${defaultStatement}${notNullStatement}${generated ? generatedStatement : ""}${identityStatement};`;
|
24552
24561
|
}
|
24553
24562
|
};
|
24554
24563
|
MySqlAlterTableAddColumnConvertor = class extends Convertor {
|
@@ -24587,7 +24596,7 @@ var init_sqlgenerator = __esm({
|
|
24587
24596
|
const primaryKeyStatement = `${primaryKey ? " PRIMARY KEY" : ""}`;
|
24588
24597
|
const referenceAsObject = referenceData ? SQLiteSquasher.unsquashFK(referenceData) : void 0;
|
24589
24598
|
const referenceStatement = `${referenceAsObject ? ` REFERENCES ${referenceAsObject.tableTo}(${referenceAsObject.columnsTo})` : ""}`;
|
24590
|
-
const generatedStatement = generated ? ` GENERATED ALWAYS AS
|
24599
|
+
const generatedStatement = generated ? ` GENERATED ALWAYS AS ${generated.as} ${generated.type.toUpperCase()}` : "";
|
24591
24600
|
return `ALTER TABLE \`${tableName}\` ADD \`${name2}\` ${type}${primaryKeyStatement}${defaultStatement}${notNullStatement}${generatedStatement}${referenceStatement};`;
|
24592
24601
|
}
|
24593
24602
|
};
|
@@ -24876,8 +24885,8 @@ var init_sqlgenerator = __esm({
|
|
24876
24885
|
columnPk,
|
24877
24886
|
columnGenerated
|
24878
24887
|
} = statement;
|
24879
|
-
const tableNameWithSchema = schema4 ?
|
24880
|
-
const addColumnStatement = new
|
24888
|
+
const tableNameWithSchema = schema4 ? `\`${schema4}\`.\`${tableName}\`` : `\`${tableName}\``;
|
24889
|
+
const addColumnStatement = new MySqlAlterTableAddColumnConvertor().convert({
|
24881
24890
|
schema: schema4,
|
24882
24891
|
tableName,
|
24883
24892
|
column: {
|
@@ -24893,7 +24902,7 @@ var init_sqlgenerator = __esm({
|
|
24893
24902
|
type: "alter_table_add_column"
|
24894
24903
|
});
|
24895
24904
|
return [
|
24896
|
-
`ALTER TABLE ${tableNameWithSchema} drop column
|
24905
|
+
`ALTER TABLE ${tableNameWithSchema} drop column \`${columnName}\`;`,
|
24897
24906
|
addColumnStatement
|
24898
24907
|
];
|
24899
24908
|
}
|
@@ -29070,13 +29079,19 @@ function mapSqlToSqliteType(sqlType) {
|
|
29070
29079
|
}
|
29071
29080
|
function extractGeneratedColumns(input) {
|
29072
29081
|
const columns = {};
|
29073
|
-
const lines = input.split(
|
29082
|
+
const lines = input.split(/,\s*(?![^()]*\))/);
|
29074
29083
|
for (const line of lines) {
|
29075
29084
|
if (line.includes("GENERATED ALWAYS AS")) {
|
29076
29085
|
const parts = line.trim().split(/\s+/);
|
29077
|
-
const columnName = parts[0].
|
29086
|
+
const columnName = parts[0].replace(/[`'"]/g, "");
|
29078
29087
|
const expression = line.substring(line.indexOf("("), line.indexOf(")") + 1).trim();
|
29079
|
-
const
|
29088
|
+
const typeIndex = parts.findIndex(
|
29089
|
+
(part) => part.match(/(stored|virtual)/i)
|
29090
|
+
);
|
29091
|
+
let type = "virtual";
|
29092
|
+
if (typeIndex !== -1) {
|
29093
|
+
type = parts[typeIndex].replace(/[^a-z]/gi, "").toLowerCase();
|
29094
|
+
}
|
29080
29095
|
columns[columnName] = {
|
29081
29096
|
columnName,
|
29082
29097
|
expression,
|
@@ -29124,7 +29139,7 @@ var init_sqliteSerializer = __esm({
|
|
29124
29139
|
notNull,
|
29125
29140
|
autoincrement: is(column4, SQLiteBaseInteger) ? column4.autoIncrement : false,
|
29126
29141
|
generated: generated ? {
|
29127
|
-
as: is(generated.as, SQL) ? dialect5.sqlToQuery(generated.as, "indexes").sql : typeof generated.as === "function" ? dialect5.sqlToQuery(generated.as(), "indexes").sql : generated.as
|
29142
|
+
as: is(generated.as, SQL) ? `(${dialect5.sqlToQuery(generated.as, "indexes").sql})` : typeof generated.as === "function" ? `(${dialect5.sqlToQuery(generated.as(), "indexes").sql})` : `(${generated.as})`,
|
29128
29143
|
type: generated.mode ?? "virtual"
|
29129
29144
|
} : void 0
|
29130
29145
|
};
|
@@ -35048,14 +35063,14 @@ var logSuggestionsAndReturn = async (connection, statements, json1, json2, meta)
|
|
35048
35063
|
}
|
35049
35064
|
tablesContext[newTableName] = _moveDataStatements(
|
35050
35065
|
statement.tableName,
|
35051
|
-
|
35066
|
+
json1,
|
35052
35067
|
true
|
35053
35068
|
);
|
35054
35069
|
} else {
|
35055
35070
|
if (typeof tablesContext[newTableName] === "undefined") {
|
35056
35071
|
tablesContext[newTableName] = _moveDataStatements(
|
35057
35072
|
statement.tableName,
|
35058
|
-
|
35073
|
+
json1
|
35059
35074
|
);
|
35060
35075
|
}
|
35061
35076
|
}
|
@@ -35074,7 +35089,7 @@ var logSuggestionsAndReturn = async (connection, statements, json1, json2, meta)
|
|
35074
35089
|
const uniqueTableRefs = [...new Set(tablesReferncingCurrent)];
|
35075
35090
|
for (const table4 of uniqueTableRefs) {
|
35076
35091
|
if (typeof tablesContext[table4] === "undefined") {
|
35077
|
-
tablesContext[table4] = [..._moveDataStatements(table4,
|
35092
|
+
tablesContext[table4] = [..._moveDataStatements(table4, json1)];
|
35078
35093
|
}
|
35079
35094
|
}
|
35080
35095
|
}
|
@@ -35095,9 +35110,9 @@ var logSuggestionsAndReturn = async (connection, statements, json1, json2, meta)
|
|
35095
35110
|
);
|
35096
35111
|
}
|
35097
35112
|
} else {
|
35098
|
-
const stmnt = fromJson([statement], "sqlite")
|
35113
|
+
const stmnt = fromJson([statement], "sqlite");
|
35099
35114
|
if (typeof stmnt !== "undefined") {
|
35100
|
-
statementsToExecute.push(stmnt);
|
35115
|
+
statementsToExecute.push(...stmnt);
|
35101
35116
|
}
|
35102
35117
|
}
|
35103
35118
|
}
|
package/payload.mjs
CHANGED
@@ -23107,6 +23107,13 @@ var init_snapshotsDiffer = __esm({
|
|
23107
23107
|
return false;
|
23108
23108
|
}
|
23109
23109
|
}
|
23110
|
+
if (st.type === "alter_table_alter_column_set_notnull") {
|
23111
|
+
if (jsonStatements.find(
|
23112
|
+
(it) => it.type === "alter_table_alter_column_set_identity" && it.tableName === st.tableName && it.schema === st.schema
|
23113
|
+
)) {
|
23114
|
+
return false;
|
23115
|
+
}
|
23116
|
+
}
|
23110
23117
|
return true;
|
23111
23118
|
});
|
23112
23119
|
const sqlStatements = fromJson(filteredJsonStatements, "postgresql");
|
@@ -24161,7 +24168,7 @@ var init_sqlgenerator = __esm({
|
|
24161
24168
|
const notNullStatement = column4.notNull ? " NOT NULL" : "";
|
24162
24169
|
const defaultStatement = column4.default !== void 0 ? ` DEFAULT ${column4.default}` : "";
|
24163
24170
|
const autoincrementStatement = column4.autoincrement ? " AUTOINCREMENT" : "";
|
24164
|
-
const generatedStatement = column4.generated ? ` GENERATED ALWAYS AS
|
24171
|
+
const generatedStatement = column4.generated ? ` GENERATED ALWAYS AS ${column4.generated.as} ${column4.generated.type.toUpperCase()}` : "";
|
24165
24172
|
statement += " ";
|
24166
24173
|
statement += `\`${column4.name}\` ${column4.type}${primaryKeyStatement}${autoincrementStatement}${defaultStatement}${notNullStatement}${generatedStatement}`;
|
24167
24174
|
statement += i === columns.length - 1 ? "" : ",\n";
|
@@ -24236,8 +24243,6 @@ var init_sqlgenerator = __esm({
|
|
24236
24243
|
const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
|
24237
24244
|
const unsquashedIdentity = PgSquasher.unsquashIdentity(identity);
|
24238
24245
|
const unsquashedOldIdentity = PgSquasher.unsquashIdentity(oldIdentity);
|
24239
|
-
const identityWithSchema = schema4 ? `"${schema4}"."${unsquashedIdentity?.name}"` : `"${unsquashedIdentity?.name}"`;
|
24240
|
-
const oldIdentityWithSchema = schema4 ? `"${schema4}"."${unsquashedOldIdentity?.name}"` : `"${unsquashedOldIdentity?.name}"`;
|
24241
24246
|
const statementsToReturn = [];
|
24242
24247
|
if (unsquashedOldIdentity.type !== unsquashedIdentity.type) {
|
24243
24248
|
statementsToReturn.push(
|
@@ -24546,14 +24551,18 @@ var init_sqlgenerator = __esm({
|
|
24546
24551
|
}
|
24547
24552
|
convert(statement) {
|
24548
24553
|
const { tableName, column: column4, schema: schema4 } = statement;
|
24549
|
-
const { name: name2, type, notNull, generated } = column4;
|
24554
|
+
const { name: name2, type, notNull, generated, primaryKey, identity } = column4;
|
24555
|
+
const primaryKeyStatement = primaryKey ? " PRIMARY KEY" : "";
|
24550
24556
|
const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
|
24551
24557
|
const defaultStatement = `${column4.default !== void 0 ? ` DEFAULT ${column4.default}` : ""}`;
|
24552
24558
|
const schemaPrefix = column4.typeSchema && column4.typeSchema !== "public" ? `"${column4.typeSchema}".` : "";
|
24553
24559
|
const fixedType = isPgNativeType(column4.type) ? column4.type : `${schemaPrefix}"${column4.type}"`;
|
24554
24560
|
const notNullStatement = `${notNull ? " NOT NULL" : ""}`;
|
24561
|
+
const unsquashedIdentity = identity ? PgSquasher.unsquashIdentity(identity) : void 0;
|
24562
|
+
const identityWithSchema = schema4 ? `"${schema4}"."${unsquashedIdentity?.name}"` : `"${unsquashedIdentity?.name}"`;
|
24563
|
+
const identityStatement = unsquashedIdentity ? ` GENERATED ${unsquashedIdentity.type === "always" ? "ALWAYS" : "BY DEFAULT"} AS IDENTITY (sequence name ${identityWithSchema}${unsquashedIdentity.increment ? ` INCREMENT BY ${unsquashedIdentity.increment}` : ""}${unsquashedIdentity.minValue ? ` MINVALUE ${unsquashedIdentity.minValue}` : ""}${unsquashedIdentity.maxValue ? ` MAXVALUE ${unsquashedIdentity.maxValue}` : ""}${unsquashedIdentity.startWith ? ` START WITH ${unsquashedIdentity.startWith}` : ""}${unsquashedIdentity.cache ? ` CACHE ${unsquashedIdentity.cache}` : ""}${unsquashedIdentity.cycle ? ` CYCLE` : ""})` : "";
|
24555
24564
|
const generatedStatement = ` GENERATED ALWAYS AS (${generated?.as}) STORED`;
|
24556
|
-
return `ALTER TABLE ${tableNameWithSchema} ADD COLUMN "${name2}" ${fixedType}${defaultStatement}${notNullStatement}${generated ? generatedStatement : ""};`;
|
24565
|
+
return `ALTER TABLE ${tableNameWithSchema} ADD COLUMN "${name2}" ${fixedType}${primaryKeyStatement}${defaultStatement}${notNullStatement}${generated ? generatedStatement : ""}${identityStatement};`;
|
24557
24566
|
}
|
24558
24567
|
};
|
24559
24568
|
MySqlAlterTableAddColumnConvertor = class extends Convertor {
|
@@ -24592,7 +24601,7 @@ var init_sqlgenerator = __esm({
|
|
24592
24601
|
const primaryKeyStatement = `${primaryKey ? " PRIMARY KEY" : ""}`;
|
24593
24602
|
const referenceAsObject = referenceData ? SQLiteSquasher.unsquashFK(referenceData) : void 0;
|
24594
24603
|
const referenceStatement = `${referenceAsObject ? ` REFERENCES ${referenceAsObject.tableTo}(${referenceAsObject.columnsTo})` : ""}`;
|
24595
|
-
const generatedStatement = generated ? ` GENERATED ALWAYS AS
|
24604
|
+
const generatedStatement = generated ? ` GENERATED ALWAYS AS ${generated.as} ${generated.type.toUpperCase()}` : "";
|
24596
24605
|
return `ALTER TABLE \`${tableName}\` ADD \`${name2}\` ${type}${primaryKeyStatement}${defaultStatement}${notNullStatement}${generatedStatement}${referenceStatement};`;
|
24597
24606
|
}
|
24598
24607
|
};
|
@@ -24881,8 +24890,8 @@ var init_sqlgenerator = __esm({
|
|
24881
24890
|
columnPk,
|
24882
24891
|
columnGenerated
|
24883
24892
|
} = statement;
|
24884
|
-
const tableNameWithSchema = schema4 ?
|
24885
|
-
const addColumnStatement = new
|
24893
|
+
const tableNameWithSchema = schema4 ? `\`${schema4}\`.\`${tableName}\`` : `\`${tableName}\``;
|
24894
|
+
const addColumnStatement = new MySqlAlterTableAddColumnConvertor().convert({
|
24886
24895
|
schema: schema4,
|
24887
24896
|
tableName,
|
24888
24897
|
column: {
|
@@ -24898,7 +24907,7 @@ var init_sqlgenerator = __esm({
|
|
24898
24907
|
type: "alter_table_add_column"
|
24899
24908
|
});
|
24900
24909
|
return [
|
24901
|
-
`ALTER TABLE ${tableNameWithSchema} drop column
|
24910
|
+
`ALTER TABLE ${tableNameWithSchema} drop column \`${columnName}\`;`,
|
24902
24911
|
addColumnStatement
|
24903
24912
|
];
|
24904
24913
|
}
|
@@ -29075,13 +29084,19 @@ function mapSqlToSqliteType(sqlType) {
|
|
29075
29084
|
}
|
29076
29085
|
function extractGeneratedColumns(input) {
|
29077
29086
|
const columns = {};
|
29078
|
-
const lines = input.split(
|
29087
|
+
const lines = input.split(/,\s*(?![^()]*\))/);
|
29079
29088
|
for (const line of lines) {
|
29080
29089
|
if (line.includes("GENERATED ALWAYS AS")) {
|
29081
29090
|
const parts = line.trim().split(/\s+/);
|
29082
|
-
const columnName = parts[0].
|
29091
|
+
const columnName = parts[0].replace(/[`'"]/g, "");
|
29083
29092
|
const expression = line.substring(line.indexOf("("), line.indexOf(")") + 1).trim();
|
29084
|
-
const
|
29093
|
+
const typeIndex = parts.findIndex(
|
29094
|
+
(part) => part.match(/(stored|virtual)/i)
|
29095
|
+
);
|
29096
|
+
let type = "virtual";
|
29097
|
+
if (typeIndex !== -1) {
|
29098
|
+
type = parts[typeIndex].replace(/[^a-z]/gi, "").toLowerCase();
|
29099
|
+
}
|
29085
29100
|
columns[columnName] = {
|
29086
29101
|
columnName,
|
29087
29102
|
expression,
|
@@ -29129,7 +29144,7 @@ var init_sqliteSerializer = __esm({
|
|
29129
29144
|
notNull,
|
29130
29145
|
autoincrement: is(column4, SQLiteBaseInteger) ? column4.autoIncrement : false,
|
29131
29146
|
generated: generated ? {
|
29132
|
-
as: is(generated.as, SQL) ? dialect5.sqlToQuery(generated.as, "indexes").sql : typeof generated.as === "function" ? dialect5.sqlToQuery(generated.as(), "indexes").sql : generated.as
|
29147
|
+
as: is(generated.as, SQL) ? `(${dialect5.sqlToQuery(generated.as, "indexes").sql})` : typeof generated.as === "function" ? `(${dialect5.sqlToQuery(generated.as(), "indexes").sql})` : `(${generated.as})`,
|
29133
29148
|
type: generated.mode ?? "virtual"
|
29134
29149
|
} : void 0
|
29135
29150
|
};
|
@@ -35039,14 +35054,14 @@ var logSuggestionsAndReturn = async (connection, statements, json1, json2, meta)
|
|
35039
35054
|
}
|
35040
35055
|
tablesContext[newTableName] = _moveDataStatements(
|
35041
35056
|
statement.tableName,
|
35042
|
-
|
35057
|
+
json1,
|
35043
35058
|
true
|
35044
35059
|
);
|
35045
35060
|
} else {
|
35046
35061
|
if (typeof tablesContext[newTableName] === "undefined") {
|
35047
35062
|
tablesContext[newTableName] = _moveDataStatements(
|
35048
35063
|
statement.tableName,
|
35049
|
-
|
35064
|
+
json1
|
35050
35065
|
);
|
35051
35066
|
}
|
35052
35067
|
}
|
@@ -35065,7 +35080,7 @@ var logSuggestionsAndReturn = async (connection, statements, json1, json2, meta)
|
|
35065
35080
|
const uniqueTableRefs = [...new Set(tablesReferncingCurrent)];
|
35066
35081
|
for (const table4 of uniqueTableRefs) {
|
35067
35082
|
if (typeof tablesContext[table4] === "undefined") {
|
35068
|
-
tablesContext[table4] = [..._moveDataStatements(table4,
|
35083
|
+
tablesContext[table4] = [..._moveDataStatements(table4, json1)];
|
35069
35084
|
}
|
35070
35085
|
}
|
35071
35086
|
}
|
@@ -35086,9 +35101,9 @@ var logSuggestionsAndReturn = async (connection, statements, json1, json2, meta)
|
|
35086
35101
|
);
|
35087
35102
|
}
|
35088
35103
|
} else {
|
35089
|
-
const stmnt = fromJson([statement], "sqlite")
|
35104
|
+
const stmnt = fromJson([statement], "sqlite");
|
35090
35105
|
if (typeof stmnt !== "undefined") {
|
35091
|
-
statementsToExecute.push(stmnt);
|
35106
|
+
statementsToExecute.push(...stmnt);
|
35092
35107
|
}
|
35093
35108
|
}
|
35094
35109
|
}
|