drizzle-kit 0.20.7-3bc340d → 0.20.7-4f47c46
Sign up to get free protection for your applications and to get access to all the features.
- package/bin.cjs +50 -7
- package/package.json +1 -1
- package/utils.js +24 -5
package/bin.cjs
CHANGED
@@ -11995,9 +11995,9 @@ We have encountered a collision between the index name on columns ${source_defau
|
|
11995
11995
|
}
|
11996
11996
|
try {
|
11997
11997
|
const fks = await db.execute(
|
11998
|
-
`SELECT INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_SCHEMA,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.COLUMN_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_SCHEMA,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME, INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_COLUMN_NAME,
|
11998
|
+
`SELECT INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_SCHEMA,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.COLUMN_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_SCHEMA,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME, INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_COLUMN_NAME,INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.UPDATE_RULE, INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.DELETE_RULE
|
11999
11999
|
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
12000
|
-
LEFT JOIN
|
12000
|
+
LEFT JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS on INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.CONSTRAINT_NAME = INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME
|
12001
12001
|
WHERE INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_SCHEMA = ? AND INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME != 'PRIMARY' and INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME is not null;
|
12002
12002
|
`,
|
12003
12003
|
[inputSchema]
|
@@ -12180,6 +12180,7 @@ var init_pgSerializer = __esm({
|
|
12180
12180
|
};
|
12181
12181
|
generatePgSnapshot = (tables, enums, schemas, schemaFilter) => {
|
12182
12182
|
const result = {};
|
12183
|
+
const indexesInSchema = {};
|
12183
12184
|
for (const table4 of tables) {
|
12184
12185
|
const {
|
12185
12186
|
name: tableName,
|
@@ -12331,6 +12332,24 @@ ${withStyle.errorWarning(`We've found duplicated unique constraint names in ${so
|
|
12331
12332
|
return it.name;
|
12332
12333
|
}
|
12333
12334
|
});
|
12335
|
+
if (typeof indexesInSchema[schema4 ?? "public"] !== "undefined") {
|
12336
|
+
if (indexesInSchema[schema4 ?? "public"].includes(name)) {
|
12337
|
+
console.log(
|
12338
|
+
`
|
12339
|
+
${withStyle.errorWarning(
|
12340
|
+
`We've found duplicated index name across ${source_default.underline.blue(
|
12341
|
+
schema4 ?? "public"
|
12342
|
+
)} schema. Please rename your index in either the ${source_default.underline.blue(
|
12343
|
+
tableName
|
12344
|
+
)} table or the table with the duplicated index name`
|
12345
|
+
)}`
|
12346
|
+
);
|
12347
|
+
process.exit(1);
|
12348
|
+
}
|
12349
|
+
indexesInSchema[schema4 ?? "public"].push(name);
|
12350
|
+
} else {
|
12351
|
+
indexesInSchema[schema4 ?? "public"] = [name];
|
12352
|
+
}
|
12334
12353
|
indexesObject[name] = {
|
12335
12354
|
name,
|
12336
12355
|
columns: indexColumns,
|
@@ -15458,7 +15477,7 @@ var init_sqlgenerator = __esm({
|
|
15458
15477
|
if (typeof compositePKs !== "undefined" && compositePKs.length > 0) {
|
15459
15478
|
statement += ",\n";
|
15460
15479
|
const compositePK4 = PgSquasher.unsquashPK(compositePKs[0]);
|
15461
|
-
statement += ` CONSTRAINT ${st.compositePkName} PRIMARY KEY("${compositePK4.columns.join(`","`)}")`;
|
15480
|
+
statement += ` CONSTRAINT "${st.compositePkName}" PRIMARY KEY("${compositePK4.columns.join(`","`)}")`;
|
15462
15481
|
}
|
15463
15482
|
if (typeof uniqueConstraints !== "undefined" && uniqueConstraints.length > 0) {
|
15464
15483
|
for (const uniqueConstraint4 of uniqueConstraints) {
|
@@ -17850,13 +17869,14 @@ var init_snapshotsDiffer = __esm({
|
|
17850
17869
|
jsonStatements.push(...jsonDropTables);
|
17851
17870
|
jsonStatements.push(...jsonRenameTables);
|
17852
17871
|
jsonStatements.push(...jsonRenameColumnsStatements);
|
17853
|
-
jsonStatements.push(...jsonDeletedCompositePKs);
|
17854
17872
|
if (dialect6 !== "mysql") {
|
17855
17873
|
jsonStatements.push(...jsonDeletedUniqueConstraints);
|
17856
17874
|
}
|
17857
17875
|
jsonStatements.push(...jsonDroppedReferencesForAlteredTables);
|
17858
17876
|
jsonStatements.push(...jsonDropIndexesForAllAlteredTables);
|
17877
|
+
jsonStatements.push(...jsonDeletedCompositePKs);
|
17859
17878
|
jsonStatements.push(...jsonTableAlternations.alterColumns);
|
17879
|
+
jsonStatements.push(...jsonAddedCompositePKs);
|
17860
17880
|
if (dialect6 === "mysql") {
|
17861
17881
|
jsonStatements.push(...jsonAddedUniqueConstraints);
|
17862
17882
|
jsonStatements.push(...jsonDeletedUniqueConstraints);
|
@@ -17868,7 +17888,6 @@ var init_snapshotsDiffer = __esm({
|
|
17868
17888
|
jsonStatements.push(...jsonTableAlternations.dropColumns);
|
17869
17889
|
if (dialect6 !== "sqlite")
|
17870
17890
|
jsonStatements.push(...jsonCreateReferences);
|
17871
|
-
jsonStatements.push(...jsonAddedCompositePKs);
|
17872
17891
|
jsonStatements.push(...jsonAlteredCompositePKs);
|
17873
17892
|
if (dialect6 !== "mysql") {
|
17874
17893
|
jsonStatements.push(...jsonAddedUniqueConstraints);
|
@@ -62383,6 +62402,7 @@ init_source();
|
|
62383
62402
|
var import_hanji9 = __toESM(require_hanji());
|
62384
62403
|
init_mysqlSchema();
|
62385
62404
|
init_selector_ui();
|
62405
|
+
init_outputs();
|
62386
62406
|
var filterStatements = (statements, currentSchema, prevSchema) => {
|
62387
62407
|
return statements.filter((statement) => {
|
62388
62408
|
if (statement.type === "alter_table_alter_column_set_type") {
|
@@ -62426,7 +62446,8 @@ var filterStatements = (statements, currentSchema, prevSchema) => {
|
|
62426
62446
|
};
|
62427
62447
|
var logSuggestionsAndReturn = async ({
|
62428
62448
|
connection,
|
62429
|
-
statements
|
62449
|
+
statements,
|
62450
|
+
json2
|
62430
62451
|
}) => {
|
62431
62452
|
let shouldAskForApprove = false;
|
62432
62453
|
const statementsToExecute = [];
|
@@ -62533,6 +62554,16 @@ var logSuggestionsAndReturn = async ({
|
|
62533
62554
|
const res = await connection.query(
|
62534
62555
|
`select count(*) as count from \`${statement.tableName}\``
|
62535
62556
|
);
|
62557
|
+
if (Object.values(json2.tables[statement.tableName].columns).filter(
|
62558
|
+
(column7) => column7.autoincrement
|
62559
|
+
).length > 0) {
|
62560
|
+
console.log(
|
62561
|
+
`${withStyle.errorWarning(
|
62562
|
+
`You have removed the primary key from a ${statement.tableName} table without removing the auto-increment property from this table. As the database error states: 'there can be only one auto column, and it must be defined as a key. Make sure to remove autoincrement from ${statement.tableName} table`
|
62563
|
+
)}`
|
62564
|
+
);
|
62565
|
+
process.exit(1);
|
62566
|
+
}
|
62536
62567
|
const count = Number(res[0][0].count);
|
62537
62568
|
if (count > 0) {
|
62538
62569
|
infoToPrint.push(
|
@@ -62543,6 +62574,17 @@ var logSuggestionsAndReturn = async ({
|
|
62543
62574
|
tablesToTruncate.push(statement.tableName);
|
62544
62575
|
shouldAskForApprove = true;
|
62545
62576
|
}
|
62577
|
+
} else if (statement.type === "delete_composite_pk") {
|
62578
|
+
if (Object.values(json2.tables[statement.tableName].columns).filter(
|
62579
|
+
(column7) => column7.autoincrement
|
62580
|
+
).length > 0) {
|
62581
|
+
console.log(
|
62582
|
+
`${withStyle.errorWarning(
|
62583
|
+
`You have removed the primary key from a ${statement.tableName} table without removing the auto-increment property from this table. As the database error states: 'there can be only one auto column, and it must be defined as a key. Make sure to remove autoincrement from ${statement.tableName} table`
|
62584
|
+
)}`
|
62585
|
+
);
|
62586
|
+
process.exit(1);
|
62587
|
+
}
|
62546
62588
|
} else if (statement.type === "alter_table_add_column") {
|
62547
62589
|
if (statement.column.notNull && typeof statement.column.default === "undefined") {
|
62548
62590
|
const res = await connection.query(
|
@@ -63015,7 +63057,8 @@ var dbPushMysqlCommand = new import_commander.Command("push:mysql").option(
|
|
63015
63057
|
schemasToRemove
|
63016
63058
|
} = await logSuggestionsAndReturn({
|
63017
63059
|
connection: connection.client,
|
63018
|
-
statements: filteredStatements
|
63060
|
+
statements: filteredStatements,
|
63061
|
+
json2: statements == null ? void 0 : statements.validatedCur
|
63019
63062
|
});
|
63020
63063
|
const filteredSqlStatements = filteredStatements.map(
|
63021
63064
|
(filteredStatement) => fromJson([filteredStatement], "mysql")[0]
|
package/package.json
CHANGED
package/utils.js
CHANGED
@@ -11721,9 +11721,9 @@ We have encountered a collision between the index name on columns ${source_defau
|
|
11721
11721
|
}
|
11722
11722
|
try {
|
11723
11723
|
const fks = await db.execute(
|
11724
|
-
`SELECT INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_SCHEMA,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.COLUMN_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_SCHEMA,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME, INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_COLUMN_NAME,
|
11724
|
+
`SELECT INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_SCHEMA,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.COLUMN_NAME,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_SCHEMA,INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME, INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_COLUMN_NAME,INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.UPDATE_RULE, INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.DELETE_RULE
|
11725
11725
|
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
11726
|
-
LEFT JOIN
|
11726
|
+
LEFT JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS on INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS.CONSTRAINT_NAME = INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME
|
11727
11727
|
WHERE INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_SCHEMA = ? AND INFORMATION_SCHEMA.KEY_COLUMN_USAGE.CONSTRAINT_NAME != 'PRIMARY' and INFORMATION_SCHEMA.KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME is not null;
|
11728
11728
|
`,
|
11729
11729
|
[inputSchema]
|
@@ -11906,6 +11906,7 @@ var init_pgSerializer = __esm({
|
|
11906
11906
|
};
|
11907
11907
|
generatePgSnapshot = (tables, enums, schemas, schemaFilter) => {
|
11908
11908
|
const result = {};
|
11909
|
+
const indexesInSchema = {};
|
11909
11910
|
for (const table4 of tables) {
|
11910
11911
|
const {
|
11911
11912
|
name: tableName,
|
@@ -12057,6 +12058,24 @@ ${withStyle.errorWarning(`We've found duplicated unique constraint names in ${so
|
|
12057
12058
|
return it.name;
|
12058
12059
|
}
|
12059
12060
|
});
|
12061
|
+
if (typeof indexesInSchema[schema4 ?? "public"] !== "undefined") {
|
12062
|
+
if (indexesInSchema[schema4 ?? "public"].includes(name)) {
|
12063
|
+
console.log(
|
12064
|
+
`
|
12065
|
+
${withStyle.errorWarning(
|
12066
|
+
`We've found duplicated index name across ${source_default.underline.blue(
|
12067
|
+
schema4 ?? "public"
|
12068
|
+
)} schema. Please rename your index in either the ${source_default.underline.blue(
|
12069
|
+
tableName
|
12070
|
+
)} table or the table with the duplicated index name`
|
12071
|
+
)}`
|
12072
|
+
);
|
12073
|
+
process.exit(1);
|
12074
|
+
}
|
12075
|
+
indexesInSchema[schema4 ?? "public"].push(name);
|
12076
|
+
} else {
|
12077
|
+
indexesInSchema[schema4 ?? "public"] = [name];
|
12078
|
+
}
|
12060
12079
|
indexesObject[name] = {
|
12061
12080
|
name,
|
12062
12081
|
columns: indexColumns,
|
@@ -15176,7 +15195,7 @@ var init_sqlgenerator = __esm({
|
|
15176
15195
|
if (typeof compositePKs !== "undefined" && compositePKs.length > 0) {
|
15177
15196
|
statement += ",\n";
|
15178
15197
|
const compositePK4 = PgSquasher.unsquashPK(compositePKs[0]);
|
15179
|
-
statement += ` CONSTRAINT ${st.compositePkName} PRIMARY KEY("${compositePK4.columns.join(`","`)}")`;
|
15198
|
+
statement += ` CONSTRAINT "${st.compositePkName}" PRIMARY KEY("${compositePK4.columns.join(`","`)}")`;
|
15180
15199
|
}
|
15181
15200
|
if (typeof uniqueConstraints !== "undefined" && uniqueConstraints.length > 0) {
|
15182
15201
|
for (const uniqueConstraint4 of uniqueConstraints) {
|
@@ -17568,13 +17587,14 @@ var init_snapshotsDiffer = __esm({
|
|
17568
17587
|
jsonStatements.push(...jsonDropTables);
|
17569
17588
|
jsonStatements.push(...jsonRenameTables);
|
17570
17589
|
jsonStatements.push(...jsonRenameColumnsStatements);
|
17571
|
-
jsonStatements.push(...jsonDeletedCompositePKs);
|
17572
17590
|
if (dialect6 !== "mysql") {
|
17573
17591
|
jsonStatements.push(...jsonDeletedUniqueConstraints);
|
17574
17592
|
}
|
17575
17593
|
jsonStatements.push(...jsonDroppedReferencesForAlteredTables);
|
17576
17594
|
jsonStatements.push(...jsonDropIndexesForAllAlteredTables);
|
17595
|
+
jsonStatements.push(...jsonDeletedCompositePKs);
|
17577
17596
|
jsonStatements.push(...jsonTableAlternations.alterColumns);
|
17597
|
+
jsonStatements.push(...jsonAddedCompositePKs);
|
17578
17598
|
if (dialect6 === "mysql") {
|
17579
17599
|
jsonStatements.push(...jsonAddedUniqueConstraints);
|
17580
17600
|
jsonStatements.push(...jsonDeletedUniqueConstraints);
|
@@ -17586,7 +17606,6 @@ var init_snapshotsDiffer = __esm({
|
|
17586
17606
|
jsonStatements.push(...jsonTableAlternations.dropColumns);
|
17587
17607
|
if (dialect6 !== "sqlite")
|
17588
17608
|
jsonStatements.push(...jsonCreateReferences);
|
17589
|
-
jsonStatements.push(...jsonAddedCompositePKs);
|
17590
17609
|
jsonStatements.push(...jsonAlteredCompositePKs);
|
17591
17610
|
if (dialect6 !== "mysql") {
|
17592
17611
|
jsonStatements.push(...jsonAddedUniqueConstraints);
|