drizzle-kit 0.30.0 → 0.30.1-019d9b0
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/api.js +323 -209
- package/api.mjs +323 -209
- package/bin.cjs +211 -8
- package/package.json +1 -1
package/bin.cjs
CHANGED
@@ -28892,7 +28892,8 @@ var init_common = __esm({
|
|
28892
28892
|
schemaFilter: unionType([stringType(), stringType().array()]).default(["public"]),
|
28893
28893
|
migrations: configMigrations,
|
28894
28894
|
dbCredentials: anyType().optional(),
|
28895
|
-
casing: casingType.optional()
|
28895
|
+
casing: casingType.optional(),
|
28896
|
+
sql: booleanType().default(true)
|
28896
28897
|
}).passthrough();
|
28897
28898
|
casing = unionType([literalType("camel"), literalType("preserve")]).default(
|
28898
28899
|
"camel"
|
@@ -34995,7 +34996,7 @@ var require_node2 = __commonJS({
|
|
34995
34996
|
});
|
34996
34997
|
|
34997
34998
|
// src/cli/commands/utils.ts
|
34998
|
-
var import_fs3, import_hanji2, import_path3, assertES5, safeRegister, prepareCheckParams, prepareDropParams, prepareGenerateConfig, flattenDatabaseCredentials, flattenPull, preparePushConfig, preparePullConfig, prepareStudioConfig, migrateConfig, prepareMigrateConfig, drizzleConfigFromFile;
|
34999
|
+
var import_fs3, import_hanji2, import_path3, assertES5, safeRegister, prepareCheckParams, prepareDropParams, prepareGenerateConfig, prepareExportConfig, flattenDatabaseCredentials, flattenPull, preparePushConfig, preparePullConfig, prepareStudioConfig, migrateConfig, prepareMigrateConfig, drizzleConfigFromFile;
|
34999
35000
|
var init_utils3 = __esm({
|
35000
35001
|
"src/cli/commands/utils.ts"() {
|
35001
35002
|
"use strict";
|
@@ -35104,6 +35105,26 @@ var init_utils3 = __esm({
|
|
35104
35105
|
driver: driver2
|
35105
35106
|
};
|
35106
35107
|
};
|
35108
|
+
prepareExportConfig = async (options, from) => {
|
35109
|
+
const config = from === "config" ? await drizzleConfigFromFile(options.config, true) : options;
|
35110
|
+
const { schema: schema6, dialect: dialect6, sql } = config;
|
35111
|
+
if (!schema6 || !dialect6) {
|
35112
|
+
console.log(error("Please provide required params:"));
|
35113
|
+
console.log(wrapParam("schema", schema6));
|
35114
|
+
console.log(wrapParam("dialect", dialect6));
|
35115
|
+
process.exit(1);
|
35116
|
+
}
|
35117
|
+
const fileNames = prepareFilenames(schema6);
|
35118
|
+
if (fileNames.length === 0) {
|
35119
|
+
(0, import_hanji2.render)(`[${source_default.blue("i")}] No schema file in ${schema6} was found`);
|
35120
|
+
process.exit(0);
|
35121
|
+
}
|
35122
|
+
return {
|
35123
|
+
dialect: dialect6,
|
35124
|
+
schema: schema6,
|
35125
|
+
sql
|
35126
|
+
};
|
35127
|
+
};
|
35107
35128
|
flattenDatabaseCredentials = (config) => {
|
35108
35129
|
if ("dbCredentials" in config) {
|
35109
35130
|
const { dbCredentials, ...rest } = config;
|
@@ -35544,7 +35565,7 @@ var init_utils3 = __esm({
|
|
35544
35565
|
}
|
35545
35566
|
assertUnreachable(dialect6);
|
35546
35567
|
};
|
35547
|
-
drizzleConfigFromFile = async (configPath) => {
|
35568
|
+
drizzleConfigFromFile = async (configPath, isExport) => {
|
35548
35569
|
const prefix2 = process.env.TEST_CONFIG_PATH_PREFIX || "";
|
35549
35570
|
const defaultTsConfigExists = (0, import_fs3.existsSync)((0, import_path3.resolve)((0, import_path3.join)(prefix2, "drizzle.config.ts")));
|
35550
35571
|
const defaultJsConfigExists = (0, import_fs3.existsSync)((0, import_path3.resolve)((0, import_path3.join)(prefix2, "drizzle.config.js")));
|
@@ -35552,7 +35573,7 @@ var init_utils3 = __esm({
|
|
35552
35573
|
(0, import_path3.join)((0, import_path3.resolve)("drizzle.config.json"))
|
35553
35574
|
);
|
35554
35575
|
const defaultConfigPath = defaultTsConfigExists ? "drizzle.config.ts" : defaultJsConfigExists ? "drizzle.config.js" : "drizzle.config.json";
|
35555
|
-
if (!configPath) {
|
35576
|
+
if (!configPath && !isExport) {
|
35556
35577
|
console.log(
|
35557
35578
|
source_default.gray(
|
35558
35579
|
`No config path provided, using default '${defaultConfigPath}'`
|
@@ -35564,7 +35585,8 @@ var init_utils3 = __esm({
|
|
35564
35585
|
console.log(`${path5} file does not exist`);
|
35565
35586
|
process.exit(1);
|
35566
35587
|
}
|
35567
|
-
|
35588
|
+
if (!isExport)
|
35589
|
+
console.log(source_default.grey(`Reading config file '${path5}'`));
|
35568
35590
|
const { unregister } = await safeRegister();
|
35569
35591
|
const required = require(`${path5}`);
|
35570
35592
|
const content = required.default ?? required;
|
@@ -51418,6 +51440,11 @@ __export(migrate_exports, {
|
|
51418
51440
|
indPolicyResolver: () => indPolicyResolver,
|
51419
51441
|
mySqlViewsResolver: () => mySqlViewsResolver,
|
51420
51442
|
policyResolver: () => policyResolver,
|
51443
|
+
prepareAndExportLibSQL: () => prepareAndExportLibSQL,
|
51444
|
+
prepareAndExportMysql: () => prepareAndExportMysql,
|
51445
|
+
prepareAndExportPg: () => prepareAndExportPg,
|
51446
|
+
prepareAndExportSinglestore: () => prepareAndExportSinglestore,
|
51447
|
+
prepareAndExportSqlite: () => prepareAndExportSqlite,
|
51421
51448
|
prepareAndMigrateLibSQL: () => prepareAndMigrateLibSQL,
|
51422
51449
|
prepareAndMigrateMysql: () => prepareAndMigrateMysql,
|
51423
51450
|
prepareAndMigratePg: () => prepareAndMigratePg,
|
@@ -51441,7 +51468,7 @@ __export(migrate_exports, {
|
|
51441
51468
|
viewsResolver: () => viewsResolver,
|
51442
51469
|
writeResult: () => writeResult
|
51443
51470
|
});
|
51444
|
-
var import_fs6, import_hanji3, import_path5, schemasResolver, tablesResolver, viewsResolver, mySqlViewsResolver, sqliteViewsResolver, sequencesResolver, roleResolver, policyResolver, indPolicyResolver, enumsResolver, columnsResolver, prepareAndMigratePg, preparePgPush, prepareMySQLPush, prepareAndMigrateMysql, prepareSingleStorePush, prepareAndMigrateSingleStore, prepareAndMigrateSqlite, prepareAndMigrateLibSQL, prepareSQLitePush, prepareLibSQLPush, promptColumnsConflicts, promptNamedConflict, promptNamedWithSchemasConflict, promptSchemasConflict, BREAKPOINT, writeResult, embeddedMigrations, prepareSnapshotFolderName, two;
|
51471
|
+
var import_fs6, import_hanji3, import_path5, schemasResolver, tablesResolver, viewsResolver, mySqlViewsResolver, sqliteViewsResolver, sequencesResolver, roleResolver, policyResolver, indPolicyResolver, enumsResolver, columnsResolver, prepareAndMigratePg, prepareAndExportPg, preparePgPush, prepareMySQLPush, prepareAndMigrateMysql, prepareSingleStorePush, prepareAndMigrateSingleStore, prepareAndExportSinglestore, prepareAndExportMysql, prepareAndMigrateSqlite, prepareAndExportSqlite, prepareAndMigrateLibSQL, prepareAndExportLibSQL, prepareSQLitePush, prepareLibSQLPush, promptColumnsConflicts, promptNamedConflict, promptNamedWithSchemasConflict, promptSchemasConflict, BREAKPOINT, writeResult, embeddedMigrations, prepareSnapshotFolderName, two;
|
51445
51472
|
var init_migrate = __esm({
|
51446
51473
|
"src/cli/commands/migrate.ts"() {
|
51447
51474
|
"use strict";
|
@@ -51691,6 +51718,39 @@ var init_migrate = __esm({
|
|
51691
51718
|
console.error(e2);
|
51692
51719
|
}
|
51693
51720
|
};
|
51721
|
+
prepareAndExportPg = async (config) => {
|
51722
|
+
const schemaPath = config.schema;
|
51723
|
+
try {
|
51724
|
+
const { prev, cur } = await preparePgMigrationSnapshot(
|
51725
|
+
[],
|
51726
|
+
// no snapshots before
|
51727
|
+
schemaPath,
|
51728
|
+
void 0
|
51729
|
+
);
|
51730
|
+
const validatedPrev = pgSchema.parse(prev);
|
51731
|
+
const validatedCur = pgSchema.parse(cur);
|
51732
|
+
const squashedPrev = squashPgScheme(validatedPrev);
|
51733
|
+
const squashedCur = squashPgScheme(validatedCur);
|
51734
|
+
const { sqlStatements } = await applyPgSnapshotsDiff(
|
51735
|
+
squashedPrev,
|
51736
|
+
squashedCur,
|
51737
|
+
schemasResolver,
|
51738
|
+
enumsResolver,
|
51739
|
+
sequencesResolver,
|
51740
|
+
policyResolver,
|
51741
|
+
indPolicyResolver,
|
51742
|
+
roleResolver,
|
51743
|
+
tablesResolver,
|
51744
|
+
columnsResolver,
|
51745
|
+
viewsResolver,
|
51746
|
+
validatedPrev,
|
51747
|
+
validatedCur
|
51748
|
+
);
|
51749
|
+
console.log(sqlStatements.join("\n"));
|
51750
|
+
} catch (e2) {
|
51751
|
+
console.error(e2);
|
51752
|
+
}
|
51753
|
+
};
|
51694
51754
|
preparePgPush = async (cur, prev) => {
|
51695
51755
|
const validatedPrev = pgSchema.parse(prev);
|
51696
51756
|
const validatedCur = pgSchema.parse(cur);
|
@@ -51872,6 +51932,58 @@ var init_migrate = __esm({
|
|
51872
51932
|
console.error(e2);
|
51873
51933
|
}
|
51874
51934
|
};
|
51935
|
+
prepareAndExportSinglestore = async (config) => {
|
51936
|
+
const schemaPath = config.schema;
|
51937
|
+
try {
|
51938
|
+
const { prev, cur } = await prepareSingleStoreMigrationSnapshot(
|
51939
|
+
[],
|
51940
|
+
schemaPath,
|
51941
|
+
void 0
|
51942
|
+
);
|
51943
|
+
const validatedPrev = singlestoreSchema.parse(prev);
|
51944
|
+
const validatedCur = singlestoreSchema.parse(cur);
|
51945
|
+
const squashedPrev = squashSingleStoreScheme(validatedPrev);
|
51946
|
+
const squashedCur = squashSingleStoreScheme(validatedCur);
|
51947
|
+
const { sqlStatements, _meta } = await applySingleStoreSnapshotsDiff(
|
51948
|
+
squashedPrev,
|
51949
|
+
squashedCur,
|
51950
|
+
tablesResolver,
|
51951
|
+
columnsResolver,
|
51952
|
+
/* singleStoreViewsResolver, */
|
51953
|
+
validatedPrev,
|
51954
|
+
validatedCur
|
51955
|
+
);
|
51956
|
+
console.log(sqlStatements.join("\n"));
|
51957
|
+
} catch (e2) {
|
51958
|
+
console.error(e2);
|
51959
|
+
}
|
51960
|
+
};
|
51961
|
+
prepareAndExportMysql = async (config) => {
|
51962
|
+
const schemaPath = config.schema;
|
51963
|
+
try {
|
51964
|
+
const { prev, cur, custom: custom2 } = await prepareMySqlMigrationSnapshot(
|
51965
|
+
[],
|
51966
|
+
schemaPath,
|
51967
|
+
void 0
|
51968
|
+
);
|
51969
|
+
const validatedPrev = mysqlSchema.parse(prev);
|
51970
|
+
const validatedCur = mysqlSchema.parse(cur);
|
51971
|
+
const squashedPrev = squashMysqlScheme(validatedPrev);
|
51972
|
+
const squashedCur = squashMysqlScheme(validatedCur);
|
51973
|
+
const { sqlStatements, statements, _meta } = await applyMysqlSnapshotsDiff(
|
51974
|
+
squashedPrev,
|
51975
|
+
squashedCur,
|
51976
|
+
tablesResolver,
|
51977
|
+
columnsResolver,
|
51978
|
+
mySqlViewsResolver,
|
51979
|
+
validatedPrev,
|
51980
|
+
validatedCur
|
51981
|
+
);
|
51982
|
+
console.log(sqlStatements.join("\n"));
|
51983
|
+
} catch (e2) {
|
51984
|
+
console.error(e2);
|
51985
|
+
}
|
51986
|
+
};
|
51875
51987
|
prepareAndMigrateSqlite = async (config) => {
|
51876
51988
|
const outFolder = config.out;
|
51877
51989
|
const schemaPath = config.schema;
|
@@ -51927,6 +52039,32 @@ var init_migrate = __esm({
|
|
51927
52039
|
console.error(e2);
|
51928
52040
|
}
|
51929
52041
|
};
|
52042
|
+
prepareAndExportSqlite = async (config) => {
|
52043
|
+
const schemaPath = config.schema;
|
52044
|
+
try {
|
52045
|
+
const { prev, cur } = await prepareSqliteMigrationSnapshot(
|
52046
|
+
[],
|
52047
|
+
schemaPath,
|
52048
|
+
void 0
|
52049
|
+
);
|
52050
|
+
const validatedPrev = sqliteSchema.parse(prev);
|
52051
|
+
const validatedCur = sqliteSchema.parse(cur);
|
52052
|
+
const squashedPrev = squashSqliteScheme(validatedPrev);
|
52053
|
+
const squashedCur = squashSqliteScheme(validatedCur);
|
52054
|
+
const { sqlStatements, _meta } = await applySqliteSnapshotsDiff(
|
52055
|
+
squashedPrev,
|
52056
|
+
squashedCur,
|
52057
|
+
tablesResolver,
|
52058
|
+
columnsResolver,
|
52059
|
+
sqliteViewsResolver,
|
52060
|
+
validatedPrev,
|
52061
|
+
validatedCur
|
52062
|
+
);
|
52063
|
+
console.log(sqlStatements.join("\n"));
|
52064
|
+
} catch (e2) {
|
52065
|
+
console.error(e2);
|
52066
|
+
}
|
52067
|
+
};
|
51930
52068
|
prepareAndMigrateLibSQL = async (config) => {
|
51931
52069
|
const outFolder = config.out;
|
51932
52070
|
const schemaPath = config.schema;
|
@@ -51981,6 +52119,32 @@ var init_migrate = __esm({
|
|
51981
52119
|
console.error(e2);
|
51982
52120
|
}
|
51983
52121
|
};
|
52122
|
+
prepareAndExportLibSQL = async (config) => {
|
52123
|
+
const schemaPath = config.schema;
|
52124
|
+
try {
|
52125
|
+
const { prev, cur, custom: custom2 } = await prepareSqliteMigrationSnapshot(
|
52126
|
+
[],
|
52127
|
+
schemaPath,
|
52128
|
+
void 0
|
52129
|
+
);
|
52130
|
+
const validatedPrev = sqliteSchema.parse(prev);
|
52131
|
+
const validatedCur = sqliteSchema.parse(cur);
|
52132
|
+
const squashedPrev = squashSqliteScheme(validatedPrev);
|
52133
|
+
const squashedCur = squashSqliteScheme(validatedCur);
|
52134
|
+
const { sqlStatements, _meta } = await applyLibSQLSnapshotsDiff(
|
52135
|
+
squashedPrev,
|
52136
|
+
squashedCur,
|
52137
|
+
tablesResolver,
|
52138
|
+
columnsResolver,
|
52139
|
+
sqliteViewsResolver,
|
52140
|
+
validatedPrev,
|
52141
|
+
validatedCur
|
52142
|
+
);
|
52143
|
+
console.log(sqlStatements.join("\n"));
|
52144
|
+
} catch (e2) {
|
52145
|
+
console.error(e2);
|
52146
|
+
}
|
52147
|
+
};
|
51984
52148
|
prepareSQLitePush = async (schemaPath, snapshot, casing2) => {
|
51985
52149
|
const { prev, cur } = await prepareSQLiteDbPushSnapshot(snapshot, schemaPath, casing2);
|
51986
52150
|
const validatedPrev = sqliteSchema.parse(prev);
|
@@ -92400,13 +92564,52 @@ Drizzle Studio is up and running on ${source_default.blue(
|
|
92400
92564
|
}
|
92401
92565
|
}
|
92402
92566
|
});
|
92567
|
+
var exportRaw = command2({
|
92568
|
+
name: "export",
|
92569
|
+
desc: "Generate diff between current state and empty state in specified formats: sql",
|
92570
|
+
options: {
|
92571
|
+
sql: boolean("sql").default(true).desc("Generate as sql"),
|
92572
|
+
config: optionConfig,
|
92573
|
+
dialect: optionDialect,
|
92574
|
+
schema: string().desc("Path to a schema file or folder")
|
92575
|
+
},
|
92576
|
+
transform: async (opts) => {
|
92577
|
+
const from = assertCollisions("export", opts, ["sql"], ["dialect", "schema"]);
|
92578
|
+
return prepareExportConfig(opts, from);
|
92579
|
+
},
|
92580
|
+
handler: async (opts) => {
|
92581
|
+
await assertOrmCoreVersion();
|
92582
|
+
await assertPackages("drizzle-orm");
|
92583
|
+
const {
|
92584
|
+
prepareAndExportPg: prepareAndExportPg2,
|
92585
|
+
prepareAndExportMysql: prepareAndExportMysql2,
|
92586
|
+
prepareAndExportSqlite: prepareAndExportSqlite2,
|
92587
|
+
prepareAndExportLibSQL: prepareAndExportLibSQL2,
|
92588
|
+
prepareAndExportSinglestore: prepareAndExportSinglestore2
|
92589
|
+
} = await Promise.resolve().then(() => (init_migrate(), migrate_exports));
|
92590
|
+
const dialect6 = opts.dialect;
|
92591
|
+
if (dialect6 === "postgresql") {
|
92592
|
+
await prepareAndExportPg2(opts);
|
92593
|
+
} else if (dialect6 === "mysql") {
|
92594
|
+
await prepareAndExportMysql2(opts);
|
92595
|
+
} else if (dialect6 === "sqlite") {
|
92596
|
+
await prepareAndExportSqlite2(opts);
|
92597
|
+
} else if (dialect6 === "turso") {
|
92598
|
+
await prepareAndExportLibSQL2(opts);
|
92599
|
+
} else if (dialect6 === "singlestore") {
|
92600
|
+
await prepareAndExportSinglestore2(opts);
|
92601
|
+
} else {
|
92602
|
+
assertUnreachable(dialect6);
|
92603
|
+
}
|
92604
|
+
}
|
92605
|
+
});
|
92403
92606
|
|
92404
92607
|
// src/cli/index.ts
|
92405
92608
|
init_utils5();
|
92406
92609
|
var version2 = async () => {
|
92407
92610
|
const { npmVersion } = await ormCoreVersions();
|
92408
92611
|
const ormVersion = npmVersion ? `drizzle-orm: v${npmVersion}` : "";
|
92409
|
-
const envVersion = "0.30.
|
92612
|
+
const envVersion = "0.30.1-019d9b0";
|
92410
92613
|
const kitVersion = envVersion ? `v${envVersion}` : "--";
|
92411
92614
|
const versions = `drizzle-kit: ${kitVersion}
|
92412
92615
|
${ormVersion}`;
|
@@ -92440,7 +92643,7 @@ var legacy = [
|
|
92440
92643
|
legacyCommand("check:mysql", "check"),
|
92441
92644
|
legacyCommand("check:sqlite", "check")
|
92442
92645
|
];
|
92443
|
-
run([generate, migrate, pull, push, studio, up, check, drop, ...legacy], {
|
92646
|
+
run([generate, migrate, pull, push, studio, up, check, drop, exportRaw, ...legacy], {
|
92444
92647
|
name: "drizzle-kit",
|
92445
92648
|
version: version2
|
92446
92649
|
});
|