drizzle-kit 0.12.16 → 0.12.18
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 +52 -76
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -7342,20 +7342,16 @@ var require_node2 = __commonJS({
|
|
|
7342
7342
|
}
|
|
7343
7343
|
});
|
|
7344
7344
|
|
|
7345
|
-
// src/serializer/
|
|
7346
|
-
var
|
|
7347
|
-
__export(
|
|
7348
|
-
|
|
7349
|
-
prepareFromMySqlImports: () => prepareFromMySqlImports,
|
|
7350
|
-
prepareFromSqliteImports: () => prepareFromSqliteImports
|
|
7345
|
+
// src/serializer/pgImports.ts
|
|
7346
|
+
var pgImports_exports = {};
|
|
7347
|
+
__export(pgImports_exports, {
|
|
7348
|
+
prepareFromPgImports: () => prepareFromPgImports
|
|
7351
7349
|
});
|
|
7352
|
-
var
|
|
7353
|
-
var
|
|
7354
|
-
"src/serializer/
|
|
7355
|
-
import_drizzle_orm_mysql = require("drizzle-orm-mysql");
|
|
7350
|
+
var import_drizzle_orm_pg, prepareFromPgImports;
|
|
7351
|
+
var init_pgImports = __esm({
|
|
7352
|
+
"src/serializer/pgImports.ts"() {
|
|
7356
7353
|
import_drizzle_orm_pg = require("drizzle-orm-pg");
|
|
7357
|
-
|
|
7358
|
-
prepareFromImports = (imports) => {
|
|
7354
|
+
prepareFromPgImports = (imports) => {
|
|
7359
7355
|
const tables = [];
|
|
7360
7356
|
const enums = [];
|
|
7361
7357
|
imports.forEach((it) => {
|
|
@@ -7375,36 +7371,6 @@ var init_imports = __esm({
|
|
|
7375
7371
|
});
|
|
7376
7372
|
return { tables, enums };
|
|
7377
7373
|
};
|
|
7378
|
-
prepareFromMySqlImports = (imports) => {
|
|
7379
|
-
const tables = [];
|
|
7380
|
-
const enums = [];
|
|
7381
|
-
imports.forEach((it) => {
|
|
7382
|
-
const i0 = require(it);
|
|
7383
|
-
const i0values = Object.values(i0);
|
|
7384
|
-
i0values.forEach((t) => {
|
|
7385
|
-
if (t instanceof import_drizzle_orm_mysql.MySqlTable) {
|
|
7386
|
-
tables.push(
|
|
7387
|
-
t
|
|
7388
|
-
);
|
|
7389
|
-
}
|
|
7390
|
-
});
|
|
7391
|
-
});
|
|
7392
|
-
return { tables, enums };
|
|
7393
|
-
};
|
|
7394
|
-
prepareFromSqliteImports = (imports) => {
|
|
7395
|
-
const tables = [];
|
|
7396
|
-
const enums = [];
|
|
7397
|
-
imports.forEach((it) => {
|
|
7398
|
-
const i0 = require(it);
|
|
7399
|
-
const i0values = Object.values(i0);
|
|
7400
|
-
i0values.forEach((t) => {
|
|
7401
|
-
if (t instanceof import_drizzle_orm_sqlite.SQLiteTable) {
|
|
7402
|
-
tables.push(t);
|
|
7403
|
-
}
|
|
7404
|
-
});
|
|
7405
|
-
});
|
|
7406
|
-
return { tables, enums };
|
|
7407
|
-
};
|
|
7408
7374
|
}
|
|
7409
7375
|
});
|
|
7410
7376
|
|
|
@@ -7503,6 +7469,32 @@ var init_pgSerializer = __esm({
|
|
|
7503
7469
|
}
|
|
7504
7470
|
});
|
|
7505
7471
|
|
|
7472
|
+
// src/serializer/sqliteImports.ts
|
|
7473
|
+
var sqliteImports_exports = {};
|
|
7474
|
+
__export(sqliteImports_exports, {
|
|
7475
|
+
prepareFromSqliteImports: () => prepareFromSqliteImports
|
|
7476
|
+
});
|
|
7477
|
+
var import_drizzle_orm_sqlite, prepareFromSqliteImports;
|
|
7478
|
+
var init_sqliteImports = __esm({
|
|
7479
|
+
"src/serializer/sqliteImports.ts"() {
|
|
7480
|
+
import_drizzle_orm_sqlite = require("drizzle-orm-sqlite");
|
|
7481
|
+
prepareFromSqliteImports = (imports) => {
|
|
7482
|
+
const tables = [];
|
|
7483
|
+
const enums = [];
|
|
7484
|
+
imports.forEach((it) => {
|
|
7485
|
+
const i0 = require(it);
|
|
7486
|
+
const i0values = Object.values(i0);
|
|
7487
|
+
i0values.forEach((t) => {
|
|
7488
|
+
if (t instanceof import_drizzle_orm_sqlite.SQLiteTable) {
|
|
7489
|
+
tables.push(t);
|
|
7490
|
+
}
|
|
7491
|
+
});
|
|
7492
|
+
});
|
|
7493
|
+
return { tables, enums };
|
|
7494
|
+
};
|
|
7495
|
+
}
|
|
7496
|
+
});
|
|
7497
|
+
|
|
7506
7498
|
// src/serializer/sqliteSerializer.ts
|
|
7507
7499
|
var sqliteSerializer_exports = {};
|
|
7508
7500
|
__export(sqliteSerializer_exports, {
|
|
@@ -17339,23 +17331,24 @@ var serialize = (path3, dialect5) => {
|
|
|
17339
17331
|
const fileName = import_fs.default.lstatSync(path3).isDirectory() ? null : import_path.default.resolve(path3);
|
|
17340
17332
|
const filenames = fileName ? [fileName] : import_fs.default.readdirSync(path3).map((it) => import_path.default.join(import_path.default.resolve(path3), it));
|
|
17341
17333
|
const { unregister } = (0, import_node.register)({
|
|
17342
|
-
target: "
|
|
17334
|
+
target: "node14",
|
|
17343
17335
|
loader: "ts"
|
|
17344
17336
|
});
|
|
17345
17337
|
if (dialect5 === "pg") {
|
|
17346
|
-
const {
|
|
17338
|
+
const { prepareFromPgImports: prepareFromPgImports2 } = (init_pgImports(), __toCommonJS(pgImports_exports));
|
|
17347
17339
|
const { generatePgSnapshot: generatePgSnapshot2 } = (init_pgSerializer(), __toCommonJS(pgSerializer_exports));
|
|
17348
|
-
const { tables, enums } =
|
|
17340
|
+
const { tables, enums } = prepareFromPgImports2(filenames);
|
|
17349
17341
|
unregister();
|
|
17350
17342
|
return generatePgSnapshot2(tables, enums);
|
|
17351
17343
|
} else if (dialect5 === "mysql") {
|
|
17344
|
+
unregister();
|
|
17352
17345
|
return {};
|
|
17353
17346
|
} else if (dialect5 === "sqlite") {
|
|
17354
|
-
const { prepareFromSqliteImports: prepareFromSqliteImports2 } = (
|
|
17347
|
+
const { prepareFromSqliteImports: prepareFromSqliteImports2 } = (init_sqliteImports(), __toCommonJS(sqliteImports_exports));
|
|
17355
17348
|
const { generateSqliteSnapshot: generateSqliteSnapshot2 } = (init_sqliteSerializer(), __toCommonJS(sqliteSerializer_exports));
|
|
17356
17349
|
const { tables, enums } = prepareFromSqliteImports2(filenames);
|
|
17357
|
-
const result = generateSqliteSnapshot2(tables, enums);
|
|
17358
17350
|
unregister();
|
|
17351
|
+
const result = generateSqliteSnapshot2(tables, enums);
|
|
17359
17352
|
return result;
|
|
17360
17353
|
} else {
|
|
17361
17354
|
return {};
|
|
@@ -17419,7 +17412,6 @@ var SQLiteCreateTableConvertor = class extends Convertor {
|
|
|
17419
17412
|
}
|
|
17420
17413
|
convert(st) {
|
|
17421
17414
|
const { tableName, columns, referenceData } = st;
|
|
17422
|
-
const referencesAsString = referenceData.map((it) => it.data);
|
|
17423
17415
|
let statement = "";
|
|
17424
17416
|
statement += `CREATE TABLE ${tableName} (
|
|
17425
17417
|
`;
|
|
@@ -17430,10 +17422,10 @@ var SQLiteCreateTableConvertor = class extends Convertor {
|
|
|
17430
17422
|
const defaultStatement = column4.default !== void 0 ? `DEFAULT ${column4.default}` : "";
|
|
17431
17423
|
const autoincrementStatement = column4.autoincrement ? "AUTO_INCREMENT" : "";
|
|
17432
17424
|
statement += " " + `\`${column4.name}\` ${column4.type} ${autoincrementStatement} ${primaryKeyStatement} ${defaultStatement} ${notNullStatement}`.replace(/ +/g, " ").trim();
|
|
17433
|
-
statement += (i === columns.length - 1 ?
|
|
17425
|
+
statement += (i === columns.length - 1 ? referenceData.length > 0 ? "," : "" : ",") + "\n";
|
|
17434
17426
|
}
|
|
17435
|
-
for (let i = 0; i <
|
|
17436
|
-
const referenceAsString =
|
|
17427
|
+
for (let i = 0; i < referenceData.length; i++) {
|
|
17428
|
+
const referenceAsString = referenceData[i];
|
|
17437
17429
|
const {
|
|
17438
17430
|
name,
|
|
17439
17431
|
tableFrom,
|
|
@@ -18150,15 +18142,7 @@ var prepareCreateTableJson = (table4) => {
|
|
|
18150
18142
|
};
|
|
18151
18143
|
var prepareSQLiteCreateTable = (table4) => {
|
|
18152
18144
|
const { name, columns } = table4;
|
|
18153
|
-
const references2 = Object.values(
|
|
18154
|
-
table4.foreignKeys
|
|
18155
|
-
).map((fkData) => {
|
|
18156
|
-
return {
|
|
18157
|
-
type: "create_reference",
|
|
18158
|
-
tableName: table4.name,
|
|
18159
|
-
data: fkData
|
|
18160
|
-
};
|
|
18161
|
-
});
|
|
18145
|
+
const references2 = Object.values(table4.foreignKeys);
|
|
18162
18146
|
return {
|
|
18163
18147
|
type: "sqlite_create_table",
|
|
18164
18148
|
tableName: name,
|
|
@@ -18210,14 +18194,7 @@ var prepareAlterTableColumnsJson = (tableName, deleted, added, altered, addedFk,
|
|
|
18210
18194
|
const dropColumns = _prepareDropColumns(tableName, deleted);
|
|
18211
18195
|
const alterColumns = _prepareAlterColumns(tableName, altered);
|
|
18212
18196
|
if (dialect5 === "sqlite") {
|
|
18213
|
-
let jsonCreateFKStatements =
|
|
18214
|
-
for (const addedFkKey of Object.keys(addedFk)) {
|
|
18215
|
-
const addedFkValue = addedFk[addedFkKey];
|
|
18216
|
-
jsonCreateFKStatements.push({
|
|
18217
|
-
type: "create_reference",
|
|
18218
|
-
data: addedFkValue
|
|
18219
|
-
});
|
|
18220
|
-
}
|
|
18197
|
+
let jsonCreateFKStatements = Object.values(addedFk);
|
|
18221
18198
|
const sqliteAddColumns = _prepareSQLiteAddColumns(
|
|
18222
18199
|
tableName,
|
|
18223
18200
|
added,
|
|
@@ -18252,7 +18229,7 @@ var _prepareAddColumns = (tableName, columns) => {
|
|
|
18252
18229
|
};
|
|
18253
18230
|
var _prepareSQLiteAddColumns = (tableName, columns, referenceData) => {
|
|
18254
18231
|
const unsquashed = referenceData.map(
|
|
18255
|
-
(addedFkValue) => SQLiteSquasher.unsquashFK(addedFkValue
|
|
18232
|
+
(addedFkValue) => SQLiteSquasher.unsquashFK(addedFkValue)
|
|
18256
18233
|
);
|
|
18257
18234
|
return columns.map((it) => {
|
|
18258
18235
|
const columnsWithReference = unsquashed.find(
|
|
@@ -18611,10 +18588,7 @@ var applySnapshotsDiff = async (json1, json2, tablesResolver, columnsResolver, d
|
|
|
18611
18588
|
return prepareCreateReferencesJson(it.name, it.foreignKeys);
|
|
18612
18589
|
}).flat();
|
|
18613
18590
|
const jsonReferencesForAllAlteredTables = allAltered.map((it) => {
|
|
18614
|
-
const forAdded = prepareCreateReferencesJson(
|
|
18615
|
-
it.name,
|
|
18616
|
-
it.addedForeignKeys
|
|
18617
|
-
);
|
|
18591
|
+
const forAdded = dialect5 !== "sqlite" ? prepareCreateReferencesJson(it.name, it.addedForeignKeys) : [];
|
|
18618
18592
|
const forAltered = prepareDropReferencesJson(
|
|
18619
18593
|
it.name,
|
|
18620
18594
|
it.deletedForeignKeys
|
|
@@ -18640,7 +18614,8 @@ var applySnapshotsDiff = async (json1, json2, tablesResolver, columnsResolver, d
|
|
|
18640
18614
|
jsonStatements.push(...jsonRenameTables);
|
|
18641
18615
|
jsonStatements.push(...jsonRenameColumnsStatements);
|
|
18642
18616
|
jsonStatements.push(...jsonAlterTables);
|
|
18643
|
-
|
|
18617
|
+
if (dialect5 !== "sqlite")
|
|
18618
|
+
jsonStatements.push(...jsonCreateReferences);
|
|
18644
18619
|
jsonStatements.push(...jsonAlterReferencesForAlteredTables);
|
|
18645
18620
|
jsonStatements.push(...jsonCreateIndexesForCreatedTables);
|
|
18646
18621
|
jsonStatements.push(...jsonCreateIndexesForAllAlteredTables);
|
|
@@ -19735,7 +19710,7 @@ var configSchema = objectType({
|
|
|
19735
19710
|
var optionsSchema = objectType({
|
|
19736
19711
|
schema: stringType().optional(),
|
|
19737
19712
|
out: stringType().optional(),
|
|
19738
|
-
dialect: enumType(["pg", "sqlite", "mysql"]),
|
|
19713
|
+
dialect: enumType(["pg", "sqlite", "mysql"]).optional(),
|
|
19739
19714
|
config: stringType().optional()
|
|
19740
19715
|
}).strict();
|
|
19741
19716
|
var migrationCommand = new Command("generate").alias("migrate").option(
|
|
@@ -19745,7 +19720,8 @@ var migrationCommand = new Command("generate").alias("migrate").option(
|
|
|
19745
19720
|
"--config <config>",
|
|
19746
19721
|
"Path to a config.json file, drizzle.config.json by default"
|
|
19747
19722
|
).action(async (options) => {
|
|
19748
|
-
const
|
|
19723
|
+
const oprtionsParsed = optionsSchema.parse(options);
|
|
19724
|
+
const result = prepareGenerateConfig(oprtionsParsed);
|
|
19749
19725
|
if (result instanceof Error) {
|
|
19750
19726
|
console.error(result);
|
|
19751
19727
|
return;
|