drizzle-kit 0.14.7 → 0.14.8
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/index.js +54 -14
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -11516,10 +11516,11 @@ var init_serializer = __esm({
|
|
|
11516
11516
|
});
|
|
11517
11517
|
|
|
11518
11518
|
// src/sqlgenerator.ts
|
|
11519
|
-
var pgNativeTypes, Convertor, PgCreateTableConvertor, MySqlCreateTableConvertor, SQLiteCreateTableConvertor, CreateTypeEnumConvertor, AlterTypeAddValueConvertor, DropTableConvertor, PgRenameTableConvertor, SqliteRenameTableConvertor, MySqlRenameTableConvertor, PgAlterTableRenameColumnConvertor, MySqlAlterTableRenameColumnConvertor, SQLiteAlterTableRenameColumnConvertor, PgAlterTableDropColumnConvertor, MySqlAlterTableDropColumnConvertor, SQLiteAlterTableDropColumnConvertor, PgAlterTableAddColumnConvertor, MySqlAlterTableAddColumnConvertor, SQLiteAlterTableAddColumnConvertor, PgAlterTableAlterColumnSetTypeConvertor, SQLiteAlterTableAlterColumnSetTypeConvertor, PgAlterTableAlterColumnSetDefaultConvertor, SqliteAlterTableAlterColumnSetDefaultConvertor, PgAlterTableAlterColumnDropDefaultConvertor, SqliteAlterTableAlterColumnDropDefaultConvertor, PgAlterTableAlterColumnSetNotNullConvertor, SqliteAlterTableAlterColumnSetNotNullConvertor, PgAlterTableAlterColumnDropNotNullConvertor, SqliteAlterTableAlterColumnDropNotNullConvertor, PgCreateForeignKeyConvertor, SqliteCreateForeignKeyConvertor, MySqlCreateForeignKeyConvertor,
|
|
11519
|
+
var pgNativeTypes, Convertor, PgCreateTableConvertor, MySqlCreateTableConvertor, SQLiteCreateTableConvertor, CreateTypeEnumConvertor, AlterTypeAddValueConvertor, DropTableConvertor, PgRenameTableConvertor, SqliteRenameTableConvertor, MySqlRenameTableConvertor, PgAlterTableRenameColumnConvertor, MySqlAlterTableRenameColumnConvertor, SQLiteAlterTableRenameColumnConvertor, PgAlterTableDropColumnConvertor, MySqlAlterTableDropColumnConvertor, SQLiteAlterTableDropColumnConvertor, PgAlterTableAddColumnConvertor, MySqlAlterTableAddColumnConvertor, SQLiteAlterTableAddColumnConvertor, PgAlterTableAlterColumnSetTypeConvertor, SQLiteAlterTableAlterColumnSetTypeConvertor, PgAlterTableAlterColumnSetDefaultConvertor, SqliteAlterTableAlterColumnSetDefaultConvertor, PgAlterTableAlterColumnDropDefaultConvertor, SqliteAlterTableAlterColumnDropDefaultConvertor, PgAlterTableAlterColumnSetNotNullConvertor, SqliteAlterTableAlterColumnSetNotNullConvertor, PgAlterTableAlterColumnDropNotNullConvertor, SqliteAlterTableAlterColumnDropNotNullConvertor, PgCreateForeignKeyConvertor, SqliteCreateForeignKeyConvertor, MySqlCreateForeignKeyConvertor, PgAlterForeignKeyConvertor, SqliteAlterForeignKeyConvertor, PgDeleteForeignKeyConvertor, SqliteDeleteForeignKeyConvertor, MySqlDeleteForeignKeyConvertor, CreatePgIndexConvertor, CreateMySqlIndexConvertor, CreateSqliteIndexConvertor, PgDropIndexConvertor, SqliteDropIndexConvertor, convertors, fromJson;
|
|
11520
11520
|
var init_sqlgenerator = __esm({
|
|
11521
11521
|
"src/sqlgenerator.ts"() {
|
|
11522
11522
|
init_schemaValidator();
|
|
11523
|
+
init_mysqlSchema();
|
|
11523
11524
|
init_sqliteSchema();
|
|
11524
11525
|
pgNativeTypes = /* @__PURE__ */ new Set([
|
|
11525
11526
|
"uuid",
|
|
@@ -11982,7 +11983,7 @@ var init_sqlgenerator = __esm({
|
|
|
11982
11983
|
columnsTo,
|
|
11983
11984
|
onDelete,
|
|
11984
11985
|
onUpdate
|
|
11985
|
-
} =
|
|
11986
|
+
} = MySqlSquasher.unsquashFK(statement.data);
|
|
11986
11987
|
const onDeleteStatement = onDelete ? `ON DELETE ${onDelete}` : "";
|
|
11987
11988
|
const onUpdateStatement = onUpdate ? `ON UPDATE ${onUpdate}` : "";
|
|
11988
11989
|
const fromColumnsString = columnsFrom.map((it) => `\`${it}\``).join(",");
|
|
@@ -11990,11 +11991,26 @@ var init_sqlgenerator = __esm({
|
|
|
11990
11991
|
return `ALTER TABLE ${tableFrom} ADD CONSTRAINT ${name} FOREIGN KEY (${fromColumnsString}) REFERENCES ${tableTo}(${toColumnsString}) ${onDeleteStatement} ${onUpdateStatement};`.replace(/ +/g, " ").trim();
|
|
11991
11992
|
}
|
|
11992
11993
|
};
|
|
11993
|
-
|
|
11994
|
-
can(statement) {
|
|
11995
|
-
return statement.type === "alter_reference";
|
|
11994
|
+
PgAlterForeignKeyConvertor = class extends Convertor {
|
|
11995
|
+
can(statement, dialect8) {
|
|
11996
|
+
return statement.type === "alter_reference" && dialect8 === "pg";
|
|
11996
11997
|
}
|
|
11997
11998
|
convert(statement) {
|
|
11999
|
+
const newFk = PgSquasher.unsquashFK(statement.data);
|
|
12000
|
+
const oldFk = PgSquasher.unsquashFK(statement.oldFkey);
|
|
12001
|
+
let sql = `ALTER TABLE ${oldFk.tableFrom} DROP FOREIGN KEY ${oldFk.name};
|
|
12002
|
+
`;
|
|
12003
|
+
const onDeleteStatement = newFk.onDelete || "";
|
|
12004
|
+
const onUpdateStatement = newFk.onUpdate || "";
|
|
12005
|
+
const fromColumnsString = newFk.columnsFrom.map((it) => `"${it}"`).join(",");
|
|
12006
|
+
const toColumnsString = newFk.columnsTo.map((it) => `"${it}"`).join(",");
|
|
12007
|
+
const alterStatement = `ALTER TABLE ${newFk.tableFrom} ADD CONSTRAINT ${newFk.name} FOREIGN KEY (${fromColumnsString}) REFERENCES ${newFk.tableTo}(${toColumnsString}) ${onDeleteStatement} ${onUpdateStatement}`.replace(/ +/g, " ").trim();
|
|
12008
|
+
sql += "DO $$ BEGIN\n";
|
|
12009
|
+
sql += " " + alterStatement + ";\n";
|
|
12010
|
+
sql += "EXCEPTION\n";
|
|
12011
|
+
sql += " WHEN duplicate_object THEN null;\n";
|
|
12012
|
+
sql += "END $$;\n";
|
|
12013
|
+
return sql;
|
|
11998
12014
|
throw new Error("TODO");
|
|
11999
12015
|
}
|
|
12000
12016
|
};
|
|
@@ -12133,7 +12149,7 @@ var init_sqlgenerator = __esm({
|
|
|
12133
12149
|
convertors.push(new PgAlterTableAlterColumnDropDefaultConvertor());
|
|
12134
12150
|
convertors.push(new PgCreateForeignKeyConvertor());
|
|
12135
12151
|
convertors.push(new MySqlCreateForeignKeyConvertor());
|
|
12136
|
-
convertors.push(new
|
|
12152
|
+
convertors.push(new PgAlterForeignKeyConvertor());
|
|
12137
12153
|
convertors.push(new PgDeleteForeignKeyConvertor());
|
|
12138
12154
|
convertors.push(new MySqlDeleteForeignKeyConvertor());
|
|
12139
12155
|
convertors.push(new SQLiteAlterTableAlterColumnSetTypeConvertor());
|
|
@@ -18384,6 +18400,7 @@ var init_jsonDiffer = __esm({
|
|
|
18384
18400
|
const addedForeignKeys = Object.fromEntries(
|
|
18385
18401
|
Object.entries(table4.foreignKeys__added || {}).concat(Object.entries(table4.foreignKeys || {}).filter((it) => it[0].includes("__added"))).map((entry) => [entry[0].replace("__added", ""), entry[1]])
|
|
18386
18402
|
);
|
|
18403
|
+
const alteredForeignKeys = Object.fromEntries(Object.entries(table4.foreignKeys || {}).filter((it) => !it[0].endsWith("__added") && !it[0].endsWith("__deleted")).map((entry) => [entry[0], entry[1]]));
|
|
18387
18404
|
const mappedAltered = altered.map((it) => alternationsInColumn(it));
|
|
18388
18405
|
return {
|
|
18389
18406
|
name: table4.name,
|
|
@@ -18393,7 +18410,8 @@ var init_jsonDiffer = __esm({
|
|
|
18393
18410
|
addedIndexes,
|
|
18394
18411
|
deletedIndexes,
|
|
18395
18412
|
addedForeignKeys,
|
|
18396
|
-
deletedForeignKeys
|
|
18413
|
+
deletedForeignKeys,
|
|
18414
|
+
alteredForeignKeys
|
|
18397
18415
|
};
|
|
18398
18416
|
};
|
|
18399
18417
|
alternationsInColumn = (column5) => {
|
|
@@ -18441,7 +18459,7 @@ var init_jsonDiffer = __esm({
|
|
|
18441
18459
|
});
|
|
18442
18460
|
|
|
18443
18461
|
// src/jsonStatements.ts
|
|
18444
|
-
var prepareCreateTableJson, prepareSQLiteCreateTable, prepareDropTableJson, prepareRenameTableJson, prepareCreateEnumJson, prepareAddValuesToEnumJson, prepareRenameColumns, prepareAlterTableColumnsJson, _prepareDropColumns, _prepareAddColumns, _prepareSQLiteAddColumns, _prepareAlterColumns, prepareCreateIndexesJson, prepareCreateReferencesJson, prepareDropReferencesJson, prepareDropIndexesJson;
|
|
18462
|
+
var prepareCreateTableJson, prepareSQLiteCreateTable, prepareDropTableJson, prepareRenameTableJson, prepareCreateEnumJson, prepareAddValuesToEnumJson, prepareRenameColumns, prepareAlterTableColumnsJson, _prepareDropColumns, _prepareAddColumns, _prepareSQLiteAddColumns, _prepareAlterColumns, prepareCreateIndexesJson, prepareCreateReferencesJson, prepareDropReferencesJson, prepareAlterReferencesJson, prepareDropIndexesJson;
|
|
18445
18463
|
var init_jsonStatements = __esm({
|
|
18446
18464
|
"src/jsonStatements.ts"() {
|
|
18447
18465
|
init_sqliteSchema();
|
|
@@ -18652,6 +18670,16 @@ var init_jsonStatements = __esm({
|
|
|
18652
18670
|
};
|
|
18653
18671
|
});
|
|
18654
18672
|
};
|
|
18673
|
+
prepareAlterReferencesJson = (tableName, foreignKeys) => {
|
|
18674
|
+
return Object.values(foreignKeys).map((fkData) => {
|
|
18675
|
+
return {
|
|
18676
|
+
type: "alter_reference",
|
|
18677
|
+
tableName,
|
|
18678
|
+
data: fkData.__new,
|
|
18679
|
+
oldFkey: fkData.__old
|
|
18680
|
+
};
|
|
18681
|
+
});
|
|
18682
|
+
};
|
|
18655
18683
|
prepareDropIndexesJson = (tableName, indexes) => {
|
|
18656
18684
|
return Object.values(indexes).map((indexData) => {
|
|
18657
18685
|
return {
|
|
@@ -18820,7 +18848,14 @@ var init_snapshotsDiffer = __esm({
|
|
|
18820
18848
|
addedIndexes: recordType(stringType(), stringType()),
|
|
18821
18849
|
deletedIndexes: recordType(stringType(), stringType()),
|
|
18822
18850
|
addedForeignKeys: recordType(stringType(), stringType()),
|
|
18823
|
-
deletedForeignKeys: recordType(stringType(), stringType())
|
|
18851
|
+
deletedForeignKeys: recordType(stringType(), stringType()),
|
|
18852
|
+
alteredForeignKeys: recordType(
|
|
18853
|
+
stringType(),
|
|
18854
|
+
objectType({
|
|
18855
|
+
__new: stringType(),
|
|
18856
|
+
__old: stringType()
|
|
18857
|
+
}).strict()
|
|
18858
|
+
)
|
|
18824
18859
|
}).strict();
|
|
18825
18860
|
diffResultScheme = objectType({
|
|
18826
18861
|
addedTables: tableScheme.array(),
|
|
@@ -18889,7 +18924,8 @@ var init_snapshotsDiffer = __esm({
|
|
|
18889
18924
|
addedIndexes: table4.addedIndexes,
|
|
18890
18925
|
deletedIndexes: table4.deletedIndexes,
|
|
18891
18926
|
addedForeignKeys: table4.addedForeignKeys,
|
|
18892
|
-
deletedForeignKeys: table4.deletedForeignKeys
|
|
18927
|
+
deletedForeignKeys: table4.deletedForeignKeys,
|
|
18928
|
+
alteredForeignKeys: table4.alteredForeignKeys
|
|
18893
18929
|
};
|
|
18894
18930
|
allAlteredResolved.push(resolved);
|
|
18895
18931
|
}
|
|
@@ -18909,7 +18945,7 @@ var init_snapshotsDiffer = __esm({
|
|
|
18909
18945
|
const jsonDropIndexesForAllAlteredTables = allAltered.map((it) => {
|
|
18910
18946
|
return prepareDropIndexesJson(it.name, it.deletedIndexes || {});
|
|
18911
18947
|
}).flat();
|
|
18912
|
-
const
|
|
18948
|
+
const jsonCreateReferencesForCreatedTables = created.map((it) => {
|
|
18913
18949
|
return prepareCreateReferencesJson(it.name, it.foreignKeys);
|
|
18914
18950
|
}).flat();
|
|
18915
18951
|
const jsonReferencesForAllAlteredTables = allAltered.map((it) => {
|
|
@@ -18918,9 +18954,13 @@ var init_snapshotsDiffer = __esm({
|
|
|
18918
18954
|
it.name,
|
|
18919
18955
|
it.deletedForeignKeys
|
|
18920
18956
|
);
|
|
18921
|
-
|
|
18957
|
+
const alteredFKs = prepareAlterReferencesJson(
|
|
18958
|
+
it.name,
|
|
18959
|
+
it.alteredForeignKeys
|
|
18960
|
+
);
|
|
18961
|
+
return [...forAdded, ...forAltered, ...alteredFKs];
|
|
18922
18962
|
}).flat();
|
|
18923
|
-
const jsonCreateReferences =
|
|
18963
|
+
const jsonCreateReferences = jsonCreateReferencesForCreatedTables;
|
|
18924
18964
|
const jsonAlterReferencesForAlteredTables = jsonReferencesForAllAlteredTables;
|
|
18925
18965
|
const createEnums = (_b = (_a = typedResult.addedEnums) == null ? void 0 : _a.map((it) => {
|
|
18926
18966
|
return prepareCreateEnumJson(it.name, it.values);
|
|
@@ -25632,7 +25672,7 @@ init_source();
|
|
|
25632
25672
|
// package.json
|
|
25633
25673
|
var package_default = {
|
|
25634
25674
|
name: "drizzle-kit",
|
|
25635
|
-
version: "0.14.
|
|
25675
|
+
version: "0.14.8",
|
|
25636
25676
|
repository: "https://github.com/drizzle-team/drizzle-kit-mirror",
|
|
25637
25677
|
author: "Alex Blokh <aleksandrblokh@gmail.com>",
|
|
25638
25678
|
license: "MIT",
|