drizzle-kit 0.22.0-12a1bf8 → 0.22.0-25da1e6
Sign up to get free protection for your applications and to get access to all the features.
- package/bin.cjs +443 -230
- package/index.d.mts +1 -8
- package/index.d.ts +1 -8
- package/package.json +1 -1
- package/payload.d.mts +100 -18
- package/payload.d.ts +100 -18
- package/payload.js +299 -186
- package/payload.mjs +312 -197
- package/utils-studio.js +122 -8
- package/utils-studio.mjs +122 -8
- package/utils.js +23 -2
- package/utils.mjs +23 -2
package/bin.cjs
CHANGED
@@ -1092,7 +1092,7 @@ var init_views = __esm({
|
|
1092
1092
|
return source_default.grey(msg);
|
1093
1093
|
};
|
1094
1094
|
error = (error2, greyMsg = "") => {
|
1095
|
-
return `${source_default.
|
1095
|
+
return `${source_default.bgRed.bold(" Error ")} ${error2} ${greyMsg ? source_default.grey(greyMsg) : ""}`.trim();
|
1096
1096
|
};
|
1097
1097
|
schema = (schema5) => {
|
1098
1098
|
const tables = Object.values(schema5.tables);
|
@@ -1451,6 +1451,9 @@ Is ${source_default.bold.blue(
|
|
1451
1451
|
function assertUnreachable(x3) {
|
1452
1452
|
throw new Error("Didn't expect to get here");
|
1453
1453
|
}
|
1454
|
+
function softAssertUnreachable(x3) {
|
1455
|
+
return null;
|
1456
|
+
}
|
1454
1457
|
var originUUID, snapshotVersion, mapValues, mapKeys, mapEntries;
|
1455
1458
|
var init_global = __esm({
|
1456
1459
|
"src/global.ts"() {
|
@@ -5474,7 +5477,16 @@ var init_mysqlSchema = __esm({
|
|
5474
5477
|
objectType({ isDefaultAnExpression: booleanType().optional() }).optional()
|
5475
5478
|
)
|
5476
5479
|
}).optional()
|
5477
|
-
)
|
5480
|
+
).optional(),
|
5481
|
+
indexes: recordType(
|
5482
|
+
stringType(),
|
5483
|
+
objectType({
|
5484
|
+
columns: recordType(
|
5485
|
+
stringType(),
|
5486
|
+
objectType({ isExpression: booleanType().optional() }).optional()
|
5487
|
+
)
|
5488
|
+
}).optional()
|
5489
|
+
).optional()
|
5478
5490
|
}).optional();
|
5479
5491
|
dialect = literalType("mysql");
|
5480
5492
|
schemaHash = objectType({
|
@@ -6139,7 +6151,7 @@ var init_pgSchema = __esm({
|
|
6139
6151
|
});
|
6140
6152
|
|
6141
6153
|
// src/serializer/sqliteSchema.ts
|
6142
|
-
var index3, fk3, compositePK3, column3, tableV33, uniqueConstraint3, table3, dialect2, schemaHash3, schemaInternalV32, schemaInternalV42, schemaInternalV52, latestVersion, schemaInternal2, schemaV32, schemaV42, schemaV52, schema3, tableSquashed3, schemaSquashed2, SQLiteSquasher, squashSqliteScheme, drySQLite, sqliteSchemaV5, sqliteSchema, SQLiteSchemaSquashed, backwardCompatibleSqliteSchema;
|
6154
|
+
var index3, fk3, compositePK3, column3, tableV33, uniqueConstraint3, table3, dialect2, schemaHash3, schemaInternalV32, schemaInternalV42, schemaInternalV52, kitInternals3, latestVersion, schemaInternal2, schemaV32, schemaV42, schemaV52, schema3, tableSquashed3, schemaSquashed2, SQLiteSquasher, squashSqliteScheme, drySQLite, sqliteSchemaV5, sqliteSchema, SQLiteSchemaSquashed, backwardCompatibleSqliteSchema;
|
6143
6155
|
var init_sqliteSchema = __esm({
|
6144
6156
|
"src/serializer/sqliteSchema.ts"() {
|
6145
6157
|
"use strict";
|
@@ -6217,6 +6229,17 @@ var init_sqliteSchema = __esm({
|
|
6217
6229
|
columns: recordType(stringType(), stringType())
|
6218
6230
|
})
|
6219
6231
|
}).strict();
|
6232
|
+
kitInternals3 = objectType({
|
6233
|
+
indexes: recordType(
|
6234
|
+
stringType(),
|
6235
|
+
objectType({
|
6236
|
+
columns: recordType(
|
6237
|
+
stringType(),
|
6238
|
+
objectType({ isExpression: booleanType().optional() }).optional()
|
6239
|
+
)
|
6240
|
+
}).optional()
|
6241
|
+
).optional()
|
6242
|
+
}).optional();
|
6220
6243
|
latestVersion = literalType("6");
|
6221
6244
|
schemaInternal2 = objectType({
|
6222
6245
|
version: latestVersion,
|
@@ -6226,7 +6249,8 @@ var init_sqliteSchema = __esm({
|
|
6226
6249
|
_meta: objectType({
|
6227
6250
|
tables: recordType(stringType(), stringType()),
|
6228
6251
|
columns: recordType(stringType(), stringType())
|
6229
|
-
})
|
6252
|
+
}),
|
6253
|
+
internal: kitInternals3
|
6230
6254
|
}).strict();
|
6231
6255
|
schemaV32 = schemaInternalV32.merge(schemaHash3).strict();
|
6232
6256
|
schemaV42 = schemaInternalV42.merge(schemaHash3).strict();
|
@@ -7281,7 +7305,7 @@ var require_coerce = __commonJS({
|
|
7281
7305
|
var SemVer = require_semver();
|
7282
7306
|
var parse7 = require_parse();
|
7283
7307
|
var { safeRe: re2, t: t2 } = require_re();
|
7284
|
-
var
|
7308
|
+
var coerce2 = (version2, options) => {
|
7285
7309
|
if (version2 instanceof SemVer) {
|
7286
7310
|
return version2;
|
7287
7311
|
}
|
@@ -7316,7 +7340,7 @@ var require_coerce = __commonJS({
|
|
7316
7340
|
const build = options.includePrerelease && match2[6] ? `+${match2[6]}` : "";
|
7317
7341
|
return parse7(`${major}.${minor}.${patch}${prerelease}${build}`, options);
|
7318
7342
|
};
|
7319
|
-
module2.exports =
|
7343
|
+
module2.exports = coerce2;
|
7320
7344
|
}
|
7321
7345
|
});
|
7322
7346
|
|
@@ -8317,7 +8341,7 @@ var require_semver2 = __commonJS({
|
|
8317
8341
|
var gte = require_gte();
|
8318
8342
|
var lte = require_lte();
|
8319
8343
|
var cmp = require_cmp();
|
8320
|
-
var
|
8344
|
+
var coerce2 = require_coerce();
|
8321
8345
|
var Comparator = require_comparator();
|
8322
8346
|
var Range = require_range();
|
8323
8347
|
var satisfies = require_satisfies();
|
@@ -8355,7 +8379,7 @@ var require_semver2 = __commonJS({
|
|
8355
8379
|
gte,
|
8356
8380
|
lte,
|
8357
8381
|
cmp,
|
8358
|
-
coerce:
|
8382
|
+
coerce: coerce2,
|
8359
8383
|
Comparator,
|
8360
8384
|
Range,
|
8361
8385
|
satisfies,
|
@@ -8575,12 +8599,137 @@ var init_utils3 = __esm({
|
|
8575
8599
|
}
|
8576
8600
|
});
|
8577
8601
|
|
8602
|
+
// src/schemaValidator.ts
|
8603
|
+
var dialect3, commonSquashedSchema, commonSchema;
|
8604
|
+
var init_schemaValidator = __esm({
|
8605
|
+
"src/schemaValidator.ts"() {
|
8606
|
+
"use strict";
|
8607
|
+
init_lib();
|
8608
|
+
init_mysqlSchema();
|
8609
|
+
init_pgSchema();
|
8610
|
+
init_sqliteSchema();
|
8611
|
+
dialect3 = enumType(["postgresql", "mysql", "sqlite"]);
|
8612
|
+
commonSquashedSchema = unionType([
|
8613
|
+
pgSchemaSquashed,
|
8614
|
+
mysqlSchemaSquashed,
|
8615
|
+
SQLiteSchemaSquashed
|
8616
|
+
]);
|
8617
|
+
commonSchema = unionType([
|
8618
|
+
pgSchema,
|
8619
|
+
mysqlSchema,
|
8620
|
+
sqliteSchema
|
8621
|
+
]);
|
8622
|
+
}
|
8623
|
+
});
|
8624
|
+
|
8625
|
+
// src/cli/validations/common.ts
|
8626
|
+
var assertCollisions, sqliteDriversLiterals, sqliteDriver, postgresDriver, mysqlDriver, driver, configCommonSchema, casing, introspectParams, configIntrospectCliSchema, configGenerateSchema, configPushSchema, wrapParam;
|
8627
|
+
var init_common = __esm({
|
8628
|
+
"src/cli/validations/common.ts"() {
|
8629
|
+
"use strict";
|
8630
|
+
init_outputs();
|
8631
|
+
init_lib();
|
8632
|
+
init_schemaValidator();
|
8633
|
+
init_source();
|
8634
|
+
assertCollisions = (options, command, inputWhitelist = []) => {
|
8635
|
+
const { config, ...rest } = options;
|
8636
|
+
let atLeastOneParam = false;
|
8637
|
+
for (const key of Object.keys(rest)) {
|
8638
|
+
if (inputWhitelist.includes(key))
|
8639
|
+
continue;
|
8640
|
+
atLeastOneParam = true;
|
8641
|
+
}
|
8642
|
+
if (!atLeastOneParam && typeof config !== "undefined") {
|
8643
|
+
return "config";
|
8644
|
+
}
|
8645
|
+
if (typeof config === "undefined" && atLeastOneParam) {
|
8646
|
+
return "cli";
|
8647
|
+
}
|
8648
|
+
if (typeof config === "undefined" && !atLeastOneParam) {
|
8649
|
+
return "config";
|
8650
|
+
}
|
8651
|
+
console.log(outputs.common.ambiguousParams(command));
|
8652
|
+
process.exit(1);
|
8653
|
+
};
|
8654
|
+
sqliteDriversLiterals = [
|
8655
|
+
literalType("turso"),
|
8656
|
+
literalType("d1-http"),
|
8657
|
+
literalType("expo")
|
8658
|
+
];
|
8659
|
+
sqliteDriver = unionType(sqliteDriversLiterals);
|
8660
|
+
postgresDriver = literalType("aws-data-api");
|
8661
|
+
mysqlDriver = literalType("mysql2");
|
8662
|
+
driver = unionType([sqliteDriver, postgresDriver, mysqlDriver]);
|
8663
|
+
configCommonSchema = objectType({
|
8664
|
+
dialect: dialect3,
|
8665
|
+
schema: unionType([stringType(), stringType().array()]).optional(),
|
8666
|
+
out: stringType().optional(),
|
8667
|
+
breakpoints: booleanType().optional().default(true),
|
8668
|
+
driver: driver.optional(),
|
8669
|
+
tablesFilter: unionType([stringType(), stringType().array()]).optional(),
|
8670
|
+
schemaFilter: unionType([stringType(), stringType().array()]).default(["public"])
|
8671
|
+
});
|
8672
|
+
casing = unionType([literalType("camel"), literalType("preserve")]).default(
|
8673
|
+
"preserve"
|
8674
|
+
);
|
8675
|
+
introspectParams = objectType({
|
8676
|
+
schema: unionType([stringType(), stringType().array()]).optional(),
|
8677
|
+
out: stringType().optional().default("./drizzle"),
|
8678
|
+
breakpoints: booleanType().default(true),
|
8679
|
+
tablesFilter: unionType([stringType(), stringType().array()]).optional(),
|
8680
|
+
schemaFilter: unionType([stringType(), stringType().array()]).default(["public"]),
|
8681
|
+
introspect: objectType({
|
8682
|
+
casing
|
8683
|
+
}).default({ casing: "camel" })
|
8684
|
+
});
|
8685
|
+
configIntrospectCliSchema = objectType({
|
8686
|
+
schema: unionType([stringType(), stringType().array()]).optional(),
|
8687
|
+
out: stringType().optional().default("./drizzle"),
|
8688
|
+
breakpoints: booleanType().default(true),
|
8689
|
+
tablesFilter: unionType([stringType(), stringType().array()]).optional(),
|
8690
|
+
schemaFilter: unionType([stringType(), stringType().array()]).default(["public"]),
|
8691
|
+
introspectCasing: unionType([literalType("camel"), literalType("preserve")]).default(
|
8692
|
+
"camel"
|
8693
|
+
)
|
8694
|
+
});
|
8695
|
+
configGenerateSchema = objectType({
|
8696
|
+
schema: unionType([stringType(), stringType().array()]),
|
8697
|
+
out: stringType().optional().default("./drizzle"),
|
8698
|
+
breakpoints: booleanType().default(true)
|
8699
|
+
});
|
8700
|
+
configPushSchema = objectType({
|
8701
|
+
dialect: dialect3,
|
8702
|
+
schema: unionType([stringType(), stringType().array()]),
|
8703
|
+
tablesFilter: unionType([stringType(), stringType().array()]).optional(),
|
8704
|
+
schemaFilter: unionType([stringType(), stringType().array()]).default(["public"]),
|
8705
|
+
verbose: booleanType().default(false),
|
8706
|
+
strict: booleanType().default(false),
|
8707
|
+
out: stringType().optional()
|
8708
|
+
});
|
8709
|
+
wrapParam = (name, param, optional = false) => {
|
8710
|
+
const check = `[${source_default.green("\u2713")}]`;
|
8711
|
+
const cross = `[${source_default.red("x")}]`;
|
8712
|
+
if (typeof param === "string") {
|
8713
|
+
if (param.length === 0) {
|
8714
|
+
return ` ${cross} ${name}: ''`;
|
8715
|
+
}
|
8716
|
+
return ` ${check} ${name}: '${param}'`;
|
8717
|
+
}
|
8718
|
+
if (optional) {
|
8719
|
+
return source_default.gray(` ${name}?: `);
|
8720
|
+
}
|
8721
|
+
return ` ${cross} ${name}: ${source_default.gray("undefined")}`;
|
8722
|
+
};
|
8723
|
+
}
|
8724
|
+
});
|
8725
|
+
|
8578
8726
|
// src/cli/validations/outputs.ts
|
8579
8727
|
var withStyle, outputs;
|
8580
8728
|
var init_outputs = __esm({
|
8581
8729
|
"src/cli/validations/outputs.ts"() {
|
8582
8730
|
"use strict";
|
8583
8731
|
init_source();
|
8732
|
+
init_common();
|
8584
8733
|
withStyle = {
|
8585
8734
|
error: (str) => `${source_default.red(`${source_default.white.bgRed(" Invalid input ")} ${str}`)}`,
|
8586
8735
|
warning: (str) => `${source_default.white.bgGray(" Warning ")} ${str}`,
|
@@ -8630,14 +8779,17 @@ var init_outputs = __esm({
|
|
8630
8779
|
},
|
8631
8780
|
sqlite: {
|
8632
8781
|
connection: {
|
8633
|
-
driver: () =>
|
8634
|
-
|
8635
|
-
|
8636
|
-
|
8637
|
-
|
8782
|
+
driver: () => {
|
8783
|
+
const listOfDrivers = sqliteDriversLiterals.map((it) => `'${it.value}'`).join(", ");
|
8784
|
+
return withStyle.error(
|
8785
|
+
`Either ${listOfDrivers} are available options for 'driver' param`
|
8786
|
+
);
|
8787
|
+
},
|
8788
|
+
url: (driver3) => withStyle.error(
|
8789
|
+
`"url" is a required option for driver "${driver3}". You can read more about drizzle.config: https://orm.drizzle.team/kit-docs/config-reference`
|
8638
8790
|
),
|
8639
|
-
authToken: (
|
8640
|
-
`"authToken" is a required option for driver "${
|
8791
|
+
authToken: (driver3) => withStyle.error(
|
8792
|
+
`"authToken" is a required option for driver "${driver3}". You can read more about drizzle.config: https://orm.drizzle.team/kit-docs/config-reference`
|
8641
8793
|
)
|
8642
8794
|
},
|
8643
8795
|
introspect: {},
|
@@ -8654,13 +8806,15 @@ var init_mysql = __esm({
|
|
8654
8806
|
"use strict";
|
8655
8807
|
init_lib();
|
8656
8808
|
init_outputs();
|
8809
|
+
init_common();
|
8810
|
+
init_views();
|
8657
8811
|
mysqlCredentials = unionType([
|
8658
8812
|
objectType({
|
8659
|
-
host: stringType(),
|
8660
|
-
port: coerce.number().optional(),
|
8661
|
-
user: stringType().
|
8662
|
-
password: stringType().optional(),
|
8663
|
-
database: stringType(),
|
8813
|
+
host: stringType().min(1),
|
8814
|
+
port: coerce.number().min(1).optional(),
|
8815
|
+
user: stringType().min(1).optional(),
|
8816
|
+
password: stringType().min(1).optional(),
|
8817
|
+
database: stringType().min(1),
|
8664
8818
|
ssl: unionType([
|
8665
8819
|
stringType(),
|
8666
8820
|
objectType({
|
@@ -8676,35 +8830,47 @@ var init_mysql = __esm({
|
|
8676
8830
|
]).optional()
|
8677
8831
|
}),
|
8678
8832
|
objectType({
|
8679
|
-
url: stringType()
|
8833
|
+
url: stringType().min(1)
|
8680
8834
|
})
|
8681
8835
|
]);
|
8682
8836
|
printConfigConnectionIssues = (options) => {
|
8683
|
-
if (
|
8684
|
-
|
8685
|
-
|
8686
|
-
|
8687
|
-
|
8688
|
-
|
8837
|
+
if ("url" in options) {
|
8838
|
+
let text2 = `Please provide required params for MySQL driver:
|
8839
|
+
`;
|
8840
|
+
console.log(error(text2));
|
8841
|
+
console.log(wrapParam("url", options.url));
|
8842
|
+
process.exit(1);
|
8689
8843
|
}
|
8844
|
+
let text = `Please provide required params for MySQL driver:
|
8845
|
+
`;
|
8846
|
+
console.log(error(text));
|
8847
|
+
console.log(wrapParam("host", options.host));
|
8848
|
+
console.log(wrapParam("port", options.port, true));
|
8849
|
+
console.log(wrapParam("user", options.user, true));
|
8850
|
+
console.log(wrapParam("password", options.password, true));
|
8851
|
+
console.log(wrapParam("database", options.database));
|
8852
|
+
console.log(wrapParam("ssl", options.ssl, true));
|
8853
|
+
process.exit(1);
|
8690
8854
|
};
|
8691
8855
|
}
|
8692
8856
|
});
|
8693
8857
|
|
8694
|
-
// src/cli/validations/
|
8858
|
+
// src/cli/validations/postgres.ts
|
8695
8859
|
var postgresCredentials, printConfigConnectionIssues2;
|
8696
|
-
var
|
8697
|
-
"src/cli/validations/
|
8860
|
+
var init_postgres = __esm({
|
8861
|
+
"src/cli/validations/postgres.ts"() {
|
8698
8862
|
"use strict";
|
8699
8863
|
init_lib();
|
8700
|
-
|
8864
|
+
init_common();
|
8865
|
+
init_views();
|
8701
8866
|
postgresCredentials = unionType([
|
8702
8867
|
objectType({
|
8703
|
-
|
8704
|
-
|
8705
|
-
|
8706
|
-
|
8707
|
-
|
8868
|
+
driver: undefinedType(),
|
8869
|
+
host: stringType().min(1),
|
8870
|
+
port: coerce.number().min(1).optional(),
|
8871
|
+
user: stringType().min(1).optional(),
|
8872
|
+
password: stringType().min(1).optional(),
|
8873
|
+
database: stringType().min(1),
|
8708
8874
|
ssl: unionType([
|
8709
8875
|
literalType("require"),
|
8710
8876
|
literalType("allow"),
|
@@ -8712,26 +8878,60 @@ var init_pg = __esm({
|
|
8712
8878
|
literalType("verify-full"),
|
8713
8879
|
booleanType(),
|
8714
8880
|
objectType({}).passthrough()
|
8715
|
-
])
|
8881
|
+
]).optional()
|
8882
|
+
}).transform((o) => {
|
8883
|
+
delete o.driver;
|
8884
|
+
return o;
|
8716
8885
|
}),
|
8717
8886
|
objectType({
|
8718
|
-
|
8887
|
+
driver: undefinedType(),
|
8888
|
+
url: stringType().min(1)
|
8889
|
+
}).transform((o) => {
|
8890
|
+
delete o.driver;
|
8891
|
+
return o;
|
8719
8892
|
}),
|
8720
8893
|
objectType({
|
8721
8894
|
driver: literalType("aws-data-api"),
|
8722
|
-
database: stringType(),
|
8723
|
-
secretArn: stringType(),
|
8724
|
-
resourceArn: stringType()
|
8895
|
+
database: stringType().min(1),
|
8896
|
+
secretArn: stringType().min(1),
|
8897
|
+
resourceArn: stringType().min(1)
|
8725
8898
|
})
|
8726
8899
|
]);
|
8727
8900
|
printConfigConnectionIssues2 = (options) => {
|
8728
8901
|
if (options.driver === "aws-data-api") {
|
8729
|
-
|
8730
|
-
|
8902
|
+
let text = `Please provide required params for AWS Data API driver:
|
8903
|
+
`;
|
8904
|
+
console.log(error(text));
|
8905
|
+
console.log(wrapParam("database", options.database));
|
8906
|
+
console.log(wrapParam("secretArn", options.secretArn));
|
8907
|
+
console.log(wrapParam("resourceArn", options.resourceArn));
|
8908
|
+
process.exit(1);
|
8731
8909
|
}
|
8732
|
-
if (
|
8733
|
-
|
8910
|
+
if ("url" in options) {
|
8911
|
+
let text = `Please provide required params for Postgres driver:
|
8912
|
+
`;
|
8913
|
+
console.log(error(text));
|
8914
|
+
console.log(wrapParam("url", options.url));
|
8915
|
+
process.exit(1);
|
8916
|
+
}
|
8917
|
+
if ("host" in options || "database" in options) {
|
8918
|
+
let text = `Please provide required params for Postgres driver:
|
8919
|
+
`;
|
8920
|
+
console.log(error(text));
|
8921
|
+
console.log(wrapParam("host", options.host));
|
8922
|
+
console.log(wrapParam("port", options.port, true));
|
8923
|
+
console.log(wrapParam("user", options.user, true));
|
8924
|
+
console.log(wrapParam("password", options.password, true));
|
8925
|
+
console.log(wrapParam("database", options.database));
|
8926
|
+
console.log(wrapParam("ssl", options.ssl, true));
|
8927
|
+
process.exit(1);
|
8734
8928
|
}
|
8929
|
+
console.log(
|
8930
|
+
error(
|
8931
|
+
`Either connection "url" or "host", "database" are required for database connection`
|
8932
|
+
)
|
8933
|
+
);
|
8934
|
+
process.exit(1);
|
8735
8935
|
};
|
8736
8936
|
}
|
8737
8937
|
});
|
@@ -8742,154 +8942,77 @@ var init_sqlite = __esm({
|
|
8742
8942
|
"src/cli/validations/sqlite.ts"() {
|
8743
8943
|
"use strict";
|
8744
8944
|
init_lib();
|
8745
|
-
|
8945
|
+
init_common();
|
8946
|
+
init_views();
|
8947
|
+
init_global();
|
8746
8948
|
sqliteCredentials = unionType([
|
8747
8949
|
objectType({
|
8748
8950
|
driver: literalType("turso"),
|
8749
|
-
url: stringType(),
|
8750
|
-
authToken: stringType()
|
8951
|
+
url: stringType().min(1),
|
8952
|
+
authToken: stringType().min(1).optional()
|
8751
8953
|
}),
|
8752
8954
|
objectType({
|
8753
8955
|
driver: literalType("d1-http"),
|
8754
|
-
accountId: stringType(),
|
8755
|
-
databaseId: stringType(),
|
8756
|
-
token: stringType()
|
8956
|
+
accountId: stringType().min(1),
|
8957
|
+
databaseId: stringType().min(1),
|
8958
|
+
token: stringType().min(1)
|
8757
8959
|
}),
|
8758
8960
|
objectType({
|
8759
|
-
|
8961
|
+
driver: undefinedType(),
|
8962
|
+
url: stringType().min(1)
|
8963
|
+
}).transform((o) => {
|
8964
|
+
delete o.driver;
|
8965
|
+
return o;
|
8760
8966
|
})
|
8761
8967
|
]);
|
8762
|
-
printConfigConnectionIssues3 = (options) => {
|
8763
|
-
|
8764
|
-
|
8765
|
-
|
8766
|
-
|
8767
|
-
|
8768
|
-
|
8769
|
-
|
8770
|
-
|
8771
|
-
|
8772
|
-
|
8773
|
-
|
8774
|
-
|
8775
|
-
|
8776
|
-
|
8968
|
+
printConfigConnectionIssues3 = (options, command) => {
|
8969
|
+
const parsedDriver = sqliteDriver.safeParse(options.driver);
|
8970
|
+
const driver3 = parsedDriver.success ? parsedDriver.data : "";
|
8971
|
+
if (driver3 === "expo") {
|
8972
|
+
if (command === "migrate") {
|
8973
|
+
console.log(
|
8974
|
+
error(
|
8975
|
+
`You can't use 'migrate' command with Expo SQLite, please follow migration instructions in our docs - https://orm.drizzle.team/docs/get-started-sqlite#expo-sqlite`
|
8976
|
+
)
|
8977
|
+
);
|
8978
|
+
} else if (command === "studio") {
|
8979
|
+
console.log(
|
8980
|
+
error(
|
8981
|
+
`You can't use 'studio' command with Expo SQLite, please use Expo Plugin https://www.npmjs.com/package/expo-drizzle-studio-plugin`
|
8982
|
+
)
|
8983
|
+
);
|
8984
|
+
} else if (command === "pull") {
|
8985
|
+
console.log(error("You can't use 'pull' command with Expo SQLite"));
|
8986
|
+
} else if (command === "push") {
|
8987
|
+
console.log(error("You can't use 'push' command with Expo SQLite"));
|
8988
|
+
} else {
|
8989
|
+
console.log(error("Unexpected error with expo driver \u{1F914}"));
|
8777
8990
|
}
|
8991
|
+
process.exit(1);
|
8992
|
+
} else if (driver3 === "d1-http") {
|
8993
|
+
let text2 = `Please provide required params for D1 HTTP driver:
|
8994
|
+
`;
|
8995
|
+
console.log(error(text2));
|
8996
|
+
console.log(wrapParam("accountId", options.accountId));
|
8997
|
+
console.log(wrapParam("databaseId", options.databaseId));
|
8998
|
+
console.log(wrapParam("token", options.token));
|
8999
|
+
process.exit(1);
|
9000
|
+
} else if (driver3 === "turso") {
|
9001
|
+
let text2 = `Please provide required params for Turso driver:
|
9002
|
+
`;
|
9003
|
+
console.log(error(text2));
|
9004
|
+
console.log(wrapParam("url", options.url));
|
9005
|
+
console.log(wrapParam("authToken", options.authToken));
|
9006
|
+
return;
|
8778
9007
|
} else {
|
8779
|
-
|
8780
|
-
}
|
8781
|
-
};
|
8782
|
-
}
|
8783
|
-
});
|
8784
|
-
|
8785
|
-
// src/schemaValidator.ts
|
8786
|
-
var dialect3, commonSquashedSchema, commonSchema;
|
8787
|
-
var init_schemaValidator = __esm({
|
8788
|
-
"src/schemaValidator.ts"() {
|
8789
|
-
"use strict";
|
8790
|
-
init_lib();
|
8791
|
-
init_mysqlSchema();
|
8792
|
-
init_pgSchema();
|
8793
|
-
init_sqliteSchema();
|
8794
|
-
dialect3 = enumType(["postgresql", "mysql", "sqlite"]);
|
8795
|
-
commonSquashedSchema = unionType([
|
8796
|
-
pgSchemaSquashed,
|
8797
|
-
mysqlSchemaSquashed,
|
8798
|
-
SQLiteSchemaSquashed
|
8799
|
-
]);
|
8800
|
-
commonSchema = unionType([
|
8801
|
-
pgSchema,
|
8802
|
-
mysqlSchema,
|
8803
|
-
sqliteSchema
|
8804
|
-
]);
|
8805
|
-
}
|
8806
|
-
});
|
8807
|
-
|
8808
|
-
// src/cli/validations/common.ts
|
8809
|
-
var assertCollisions, sqliteDriver, postgresDriver, mysqlDriver, driver, configCommonSchema, casing, introspectParams, configIntrospectCliSchema, configGenerateSchema, configPushSchema;
|
8810
|
-
var init_common = __esm({
|
8811
|
-
"src/cli/validations/common.ts"() {
|
8812
|
-
"use strict";
|
8813
|
-
init_outputs();
|
8814
|
-
init_lib();
|
8815
|
-
init_schemaValidator();
|
8816
|
-
assertCollisions = (options, command, inputWhitelist = []) => {
|
8817
|
-
const { config, ...rest } = options;
|
8818
|
-
let atLeastOneParam = false;
|
8819
|
-
for (const key of Object.keys(rest)) {
|
8820
|
-
if (inputWhitelist.includes(key))
|
8821
|
-
continue;
|
8822
|
-
atLeastOneParam = true;
|
8823
|
-
}
|
8824
|
-
if (!atLeastOneParam && typeof config !== "undefined") {
|
8825
|
-
return "config";
|
9008
|
+
softAssertUnreachable(driver3);
|
8826
9009
|
}
|
8827
|
-
|
8828
|
-
|
8829
|
-
|
8830
|
-
|
8831
|
-
return "config";
|
8832
|
-
}
|
8833
|
-
console.log(outputs.common.ambiguousParams(command));
|
9010
|
+
let text = `Please provide required params:
|
9011
|
+
`;
|
9012
|
+
console.log(error(text));
|
9013
|
+
console.log(wrapParam("url", options.url));
|
8834
9014
|
process.exit(1);
|
8835
9015
|
};
|
8836
|
-
sqliteDriver = unionType([
|
8837
|
-
literalType("better-sqlite"),
|
8838
|
-
literalType("turso"),
|
8839
|
-
literalType("libsql"),
|
8840
|
-
literalType("d1"),
|
8841
|
-
literalType("d1-http"),
|
8842
|
-
literalType("expo")
|
8843
|
-
]);
|
8844
|
-
postgresDriver = literalType("aws-data-api");
|
8845
|
-
mysqlDriver = literalType("mysql2");
|
8846
|
-
driver = unionType([sqliteDriver, postgresDriver, mysqlDriver]);
|
8847
|
-
configCommonSchema = objectType({
|
8848
|
-
dialect: dialect3,
|
8849
|
-
schema: unionType([stringType(), stringType().array()]).optional(),
|
8850
|
-
out: stringType().optional(),
|
8851
|
-
breakpoints: booleanType().optional().default(true),
|
8852
|
-
driver: driver.optional(),
|
8853
|
-
tablesFilter: unionType([stringType(), stringType().array()]).optional(),
|
8854
|
-
schemaFilter: unionType([stringType(), stringType().array()]).default(["public"])
|
8855
|
-
});
|
8856
|
-
casing = unionType([literalType("camel"), literalType("preserve")]).default(
|
8857
|
-
"preserve"
|
8858
|
-
);
|
8859
|
-
introspectParams = objectType({
|
8860
|
-
schema: unionType([stringType(), stringType().array()]).optional(),
|
8861
|
-
out: stringType().optional().default("./drizzle"),
|
8862
|
-
breakpoints: booleanType().default(true),
|
8863
|
-
tablesFilter: unionType([stringType(), stringType().array()]).optional(),
|
8864
|
-
schemaFilter: unionType([stringType(), stringType().array()]).default(["public"]),
|
8865
|
-
introspect: objectType({
|
8866
|
-
casing
|
8867
|
-
}).default({ casing: "camel" })
|
8868
|
-
});
|
8869
|
-
configIntrospectCliSchema = objectType({
|
8870
|
-
schema: unionType([stringType(), stringType().array()]).optional(),
|
8871
|
-
out: stringType().optional().default("./drizzle"),
|
8872
|
-
breakpoints: booleanType().default(true),
|
8873
|
-
tablesFilter: unionType([stringType(), stringType().array()]).optional(),
|
8874
|
-
schemaFilter: unionType([stringType(), stringType().array()]).default(["public"]),
|
8875
|
-
introspectCasing: unionType([literalType("camel"), literalType("preserve")]).default(
|
8876
|
-
"camel"
|
8877
|
-
)
|
8878
|
-
});
|
8879
|
-
configGenerateSchema = objectType({
|
8880
|
-
schema: unionType([stringType(), stringType().array()]),
|
8881
|
-
out: stringType().optional().default("./drizzle"),
|
8882
|
-
breakpoints: booleanType().default(true)
|
8883
|
-
});
|
8884
|
-
configPushSchema = objectType({
|
8885
|
-
dialect: dialect3,
|
8886
|
-
schema: unionType([stringType(), stringType().array()]),
|
8887
|
-
tablesFilter: unionType([stringType(), stringType().array()]).optional(),
|
8888
|
-
schemaFilter: unionType([stringType(), stringType().array()]).default(["public"]),
|
8889
|
-
verbose: booleanType().default(false),
|
8890
|
-
strict: booleanType().default(false),
|
8891
|
-
out: stringType().optional()
|
8892
|
-
});
|
8893
9016
|
}
|
8894
9017
|
});
|
8895
9018
|
|
@@ -8951,7 +9074,7 @@ var init_studio = __esm({
|
|
8951
9074
|
init_mysql();
|
8952
9075
|
init_sqlite();
|
8953
9076
|
init_schemaValidator();
|
8954
|
-
|
9077
|
+
init_postgres();
|
8955
9078
|
credentials = intersectionType(
|
8956
9079
|
postgresCredentials,
|
8957
9080
|
mysqlCredentials,
|
@@ -9105,7 +9228,7 @@ var require_common = __commonJS({
|
|
9105
9228
|
function setup(env3) {
|
9106
9229
|
createDebug.debug = createDebug;
|
9107
9230
|
createDebug.default = createDebug;
|
9108
|
-
createDebug.coerce =
|
9231
|
+
createDebug.coerce = coerce2;
|
9109
9232
|
createDebug.disable = disable;
|
9110
9233
|
createDebug.enable = enable;
|
9111
9234
|
createDebug.enabled = enabled;
|
@@ -9246,7 +9369,7 @@ var require_common = __commonJS({
|
|
9246
9369
|
function toNamespace(regexp) {
|
9247
9370
|
return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*");
|
9248
9371
|
}
|
9249
|
-
function
|
9372
|
+
function coerce2(val2) {
|
9250
9373
|
if (val2 instanceof Error) {
|
9251
9374
|
return val2.stack || val2.message;
|
9252
9375
|
}
|
@@ -14601,7 +14724,7 @@ var init_utils4 = __esm({
|
|
14601
14724
|
import_hanji2 = __toESM(require_hanji());
|
14602
14725
|
init_global();
|
14603
14726
|
init_mysql();
|
14604
|
-
|
14727
|
+
init_postgres();
|
14605
14728
|
init_sqlite();
|
14606
14729
|
init_common();
|
14607
14730
|
init_schemaValidator();
|
@@ -14777,7 +14900,7 @@ var init_utils4 = __esm({
|
|
14777
14900
|
if (dialect7 === "sqlite") {
|
14778
14901
|
const parsed = sqliteCredentials.safeParse(config);
|
14779
14902
|
if (!parsed.success) {
|
14780
|
-
printConfigConnectionIssues3(config);
|
14903
|
+
printConfigConnectionIssues3(config, "pull");
|
14781
14904
|
process.exit(1);
|
14782
14905
|
}
|
14783
14906
|
return {
|
@@ -14852,7 +14975,7 @@ var init_utils4 = __esm({
|
|
14852
14975
|
if (dialect7 === "sqlite") {
|
14853
14976
|
const parsed = sqliteCredentials.safeParse(config);
|
14854
14977
|
if (!parsed.success) {
|
14855
|
-
printConfigConnectionIssues3(config);
|
14978
|
+
printConfigConnectionIssues3(config, "pull");
|
14856
14979
|
process.exit(1);
|
14857
14980
|
}
|
14858
14981
|
return {
|
@@ -14917,7 +15040,7 @@ var init_utils4 = __esm({
|
|
14917
15040
|
if (dialect7 === "sqlite") {
|
14918
15041
|
const parsed = sqliteCredentials.safeParse(flattened);
|
14919
15042
|
if (!parsed.success) {
|
14920
|
-
printConfigConnectionIssues3(flattened);
|
15043
|
+
printConfigConnectionIssues3(flattened, "studio");
|
14921
15044
|
process.exit(1);
|
14922
15045
|
}
|
14923
15046
|
const credentials2 = parsed.data;
|
@@ -14992,7 +15115,7 @@ var init_utils4 = __esm({
|
|
14992
15115
|
if (dialect7 === "sqlite") {
|
14993
15116
|
const parsed = sqliteCredentials.safeParse(flattened);
|
14994
15117
|
if (!parsed.success) {
|
14995
|
-
printConfigConnectionIssues3(flattened);
|
15118
|
+
printConfigConnectionIssues3(flattened, "migrate");
|
14996
15119
|
process.exit(1);
|
14997
15120
|
}
|
14998
15121
|
const credentials2 = parsed.data;
|
@@ -15053,8 +15176,9 @@ var init_utils4 = __esm({
|
|
15053
15176
|
unregister();
|
15054
15177
|
const res = configCommonSchema.safeParse(content);
|
15055
15178
|
if (!res.success) {
|
15056
|
-
|
15057
|
-
|
15179
|
+
if (!("dialect" in content)) {
|
15180
|
+
console.log(error("Please specify 'dialect' param"));
|
15181
|
+
}
|
15058
15182
|
process.exit(1);
|
15059
15183
|
}
|
15060
15184
|
return res.data;
|
@@ -15165,6 +15289,7 @@ var init_mysqlSerializer = __esm({
|
|
15165
15289
|
};
|
15166
15290
|
generateMySqlSnapshot = (tables) => {
|
15167
15291
|
const result = {};
|
15292
|
+
const internal = { tables: {}, indexes: {} };
|
15168
15293
|
for (const table4 of tables) {
|
15169
15294
|
const {
|
15170
15295
|
name: tableName,
|
@@ -15315,10 +15440,29 @@ The unique constraint ${source_default.underline.blue(
|
|
15315
15440
|
const columns2 = value.config.columns;
|
15316
15441
|
const name = value.config.name;
|
15317
15442
|
let indexColumns = columns2.map((it) => {
|
15443
|
+
var _a;
|
15318
15444
|
if ((0, import_drizzle_orm2.is)(it, import_drizzle_orm3.SQL)) {
|
15319
|
-
|
15445
|
+
const sql2 = dialect4.sqlToQuery(it, "indexes").sql;
|
15446
|
+
if (typeof internal.indexes[name] === "undefined") {
|
15447
|
+
internal.indexes[name] = {
|
15448
|
+
columns: {
|
15449
|
+
[sql2]: {
|
15450
|
+
isExpression: true
|
15451
|
+
}
|
15452
|
+
}
|
15453
|
+
};
|
15454
|
+
} else {
|
15455
|
+
if (typeof ((_a = internal.indexes[name]) == null ? void 0 : _a.columns[sql2]) === "undefined") {
|
15456
|
+
internal.indexes[name].columns[sql2] = {
|
15457
|
+
isExpression: true
|
15458
|
+
};
|
15459
|
+
} else {
|
15460
|
+
internal.indexes[name].columns[sql2].isExpression = true;
|
15461
|
+
}
|
15462
|
+
}
|
15463
|
+
return sql2;
|
15320
15464
|
} else {
|
15321
|
-
return it.name
|
15465
|
+
return `${it.name}`;
|
15322
15466
|
}
|
15323
15467
|
});
|
15324
15468
|
if (value.config.unique) {
|
@@ -15385,12 +15529,13 @@ We have encountered a collision between the index name on columns ${source_defau
|
|
15385
15529
|
_meta: {
|
15386
15530
|
tables: {},
|
15387
15531
|
columns: {}
|
15388
|
-
}
|
15532
|
+
},
|
15533
|
+
internal
|
15389
15534
|
};
|
15390
15535
|
};
|
15391
15536
|
fromDatabase = async (db2, inputSchema, tablesFilter = (table4) => true, progressCallback) => {
|
15392
15537
|
const result = {};
|
15393
|
-
const internals = { tables: {} };
|
15538
|
+
const internals = { tables: {}, indexes: {} };
|
15394
15539
|
const columns = await db2.query(`select * from information_schema.columns
|
15395
15540
|
where table_schema = '${inputSchema}' and table_name != '__drizzle_migrations'
|
15396
15541
|
order by table_name, ordinal_position;`);
|
@@ -16605,6 +16750,7 @@ var init_sqliteSerializer = __esm({
|
|
16605
16750
|
dialect6 = new import_sqlite_core2.SQLiteSyncDialect();
|
16606
16751
|
generateSqliteSnapshot = (tables) => {
|
16607
16752
|
const result = {};
|
16753
|
+
const internal = { indexes: {} };
|
16608
16754
|
for (const table4 of tables) {
|
16609
16755
|
const columnsObject = {};
|
16610
16756
|
const indexesObject = {};
|
@@ -16690,8 +16836,27 @@ ${withStyle.errorWarning(`We've found duplicated unique constraint names in ${so
|
|
16690
16836
|
const columns2 = value.config.columns;
|
16691
16837
|
const name = value.config.name;
|
16692
16838
|
let indexColumns = columns2.map((it) => {
|
16839
|
+
var _a;
|
16693
16840
|
if ((0, import_drizzle_orm7.is)(it, import_drizzle_orm7.SQL)) {
|
16694
|
-
|
16841
|
+
const sql2 = dialect6.sqlToQuery(it, "indexes").sql;
|
16842
|
+
if (typeof internal.indexes[name] === "undefined") {
|
16843
|
+
internal.indexes[name] = {
|
16844
|
+
columns: {
|
16845
|
+
[sql2]: {
|
16846
|
+
isExpression: true
|
16847
|
+
}
|
16848
|
+
}
|
16849
|
+
};
|
16850
|
+
} else {
|
16851
|
+
if (typeof ((_a = internal.indexes[name]) == null ? void 0 : _a.columns[sql2]) === "undefined") {
|
16852
|
+
internal.indexes[name].columns[sql2] = {
|
16853
|
+
isExpression: true
|
16854
|
+
};
|
16855
|
+
} else {
|
16856
|
+
internal.indexes[name].columns[sql2].isExpression = true;
|
16857
|
+
}
|
16858
|
+
}
|
16859
|
+
return sql2;
|
16695
16860
|
} else {
|
16696
16861
|
return it.name;
|
16697
16862
|
}
|
@@ -16765,7 +16930,8 @@ The unique constraint ${source_default.underline.blue(
|
|
16765
16930
|
_meta: {
|
16766
16931
|
tables: {},
|
16767
16932
|
columns: {}
|
16768
|
-
}
|
16933
|
+
},
|
16934
|
+
internal
|
16769
16935
|
};
|
16770
16936
|
};
|
16771
16937
|
fromDatabase3 = async (db2, tablesFilter = (table4) => true, progressCallback) => {
|
@@ -17268,7 +17434,14 @@ var init_sqlgenerator = __esm({
|
|
17268
17434
|
return statement.type === "create_table" && dialect7 === "mysql";
|
17269
17435
|
}
|
17270
17436
|
convert(st) {
|
17271
|
-
const {
|
17437
|
+
const {
|
17438
|
+
tableName,
|
17439
|
+
columns,
|
17440
|
+
schema: schema5,
|
17441
|
+
compositePKs,
|
17442
|
+
uniqueConstraints,
|
17443
|
+
internals
|
17444
|
+
} = st;
|
17272
17445
|
let statement = "";
|
17273
17446
|
statement += `CREATE TABLE \`${tableName}\` (
|
17274
17447
|
`;
|
@@ -17291,7 +17464,11 @@ var init_sqlgenerator = __esm({
|
|
17291
17464
|
for (const uniqueConstraint4 of uniqueConstraints) {
|
17292
17465
|
statement += ",\n";
|
17293
17466
|
const unsquashedUnique = MySqlSquasher.unsquashUnique(uniqueConstraint4);
|
17294
|
-
|
17467
|
+
const uniqueString = unsquashedUnique.columns.map((it) => {
|
17468
|
+
var _a, _b;
|
17469
|
+
return (internals == null ? void 0 : internals.indexes) ? ((_b = (_a = internals == null ? void 0 : internals.indexes[unsquashedUnique.name]) == null ? void 0 : _a.columns[it]) == null ? void 0 : _b.isExpression) ? it : `\`${it}\`` : `\`${it}\``;
|
17470
|
+
}).join(",");
|
17471
|
+
statement += ` CONSTRAINT \`${unsquashedUnique.name}\` UNIQUE(${uniqueString})`;
|
17295
17472
|
}
|
17296
17473
|
}
|
17297
17474
|
statement += `
|
@@ -18220,8 +18397,11 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT ${statement.newCo
|
|
18220
18397
|
statement.data
|
18221
18398
|
);
|
18222
18399
|
const indexPart = isUnique ? "UNIQUE INDEX" : "INDEX";
|
18223
|
-
const
|
18224
|
-
|
18400
|
+
const uniqueString = columns.map((it) => {
|
18401
|
+
var _a, _b, _c, _d;
|
18402
|
+
return ((_a = statement.internal) == null ? void 0 : _a.indexes) ? ((_d = (_c = (_b = statement.internal) == null ? void 0 : _b.indexes[name]) == null ? void 0 : _c.columns[it]) == null ? void 0 : _d.isExpression) ? it : `\`${it}\`` : `\`${it}\``;
|
18403
|
+
}).join(",");
|
18404
|
+
return `CREATE ${indexPart} \`${name}\` ON \`${statement.tableName}\` (${uniqueString});`;
|
18225
18405
|
}
|
18226
18406
|
};
|
18227
18407
|
CreateSqliteIndexConvertor = class extends Convertor {
|
@@ -18234,8 +18414,11 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT ${statement.newCo
|
|
18234
18414
|
);
|
18235
18415
|
const indexPart = isUnique ? "UNIQUE INDEX" : "INDEX";
|
18236
18416
|
const whereStatement = where ? ` WHERE ${where}` : "";
|
18237
|
-
const
|
18238
|
-
|
18417
|
+
const uniqueString = columns.map((it) => {
|
18418
|
+
var _a, _b, _c, _d;
|
18419
|
+
return ((_a = statement.internal) == null ? void 0 : _a.indexes) ? ((_d = (_c = (_b = statement.internal) == null ? void 0 : _b.indexes[name]) == null ? void 0 : _c.columns[it]) == null ? void 0 : _d.isExpression) ? it : `\`${it}\`` : `\`${it}\``;
|
18420
|
+
}).join(",");
|
18421
|
+
return `CREATE ${indexPart} \`${name}\` ON \`${statement.tableName}\` (${uniqueString})${whereStatement};`;
|
18239
18422
|
}
|
18240
18423
|
};
|
18241
18424
|
PgDropIndexConvertor = class extends Convertor {
|
@@ -18883,7 +19066,7 @@ var init_jsonStatements = __esm({
|
|
18883
19066
|
uniqueConstraints: Object.values(uniqueConstraints)
|
18884
19067
|
};
|
18885
19068
|
};
|
18886
|
-
prepareMySqlCreateTableJson = (table4, json2) => {
|
19069
|
+
prepareMySqlCreateTableJson = (table4, json2, internals) => {
|
18887
19070
|
const { name, schema: schema5, columns, compositePrimaryKeys, uniqueConstraints } = table4;
|
18888
19071
|
return {
|
18889
19072
|
type: "create_table",
|
@@ -18892,7 +19075,8 @@ var init_jsonStatements = __esm({
|
|
18892
19075
|
columns: Object.values(columns),
|
18893
19076
|
compositePKs: Object.values(compositePrimaryKeys),
|
18894
19077
|
compositePkName: Object.values(compositePrimaryKeys).length > 0 ? json2.tables[name].compositePrimaryKeys[MySqlSquasher.unsquashPK(Object.values(compositePrimaryKeys)[0]).name].name : "",
|
18895
|
-
uniqueConstraints: Object.values(uniqueConstraints)
|
19078
|
+
uniqueConstraints: Object.values(uniqueConstraints),
|
19079
|
+
internals
|
18896
19080
|
};
|
18897
19081
|
};
|
18898
19082
|
prepareSQLiteCreateTable = (table4) => {
|
@@ -19649,13 +19833,14 @@ var init_jsonStatements = __esm({
|
|
19649
19833
|
};
|
19650
19834
|
});
|
19651
19835
|
};
|
19652
|
-
prepareCreateIndexesJson = (tableName, schema5, indexes) => {
|
19836
|
+
prepareCreateIndexesJson = (tableName, schema5, indexes, internal) => {
|
19653
19837
|
return Object.values(indexes).map((indexData) => {
|
19654
19838
|
return {
|
19655
19839
|
type: "create_index",
|
19656
19840
|
tableName,
|
19657
19841
|
data: indexData,
|
19658
|
-
schema: schema5
|
19842
|
+
schema: schema5,
|
19843
|
+
internal
|
19659
19844
|
};
|
19660
19845
|
});
|
19661
19846
|
};
|
@@ -20560,7 +20745,12 @@ var init_snapshotsDiffer = __esm({
|
|
20560
20745
|
const typedResult = diffResultSchemeMysql.parse(diffResult);
|
20561
20746
|
const jsonStatements = [];
|
20562
20747
|
const jsonCreateIndexesForCreatedTables = createdTables.map((it) => {
|
20563
|
-
return prepareCreateIndexesJson(
|
20748
|
+
return prepareCreateIndexesJson(
|
20749
|
+
it.name,
|
20750
|
+
it.schema,
|
20751
|
+
it.indexes,
|
20752
|
+
curFull.internal
|
20753
|
+
);
|
20564
20754
|
}).flat();
|
20565
20755
|
const jsonDropTables = deletedTables.map((it) => {
|
20566
20756
|
return prepareDropTableJson(it);
|
@@ -20659,7 +20849,8 @@ var init_snapshotsDiffer = __esm({
|
|
20659
20849
|
return prepareCreateIndexesJson(
|
20660
20850
|
it.name,
|
20661
20851
|
it.schema,
|
20662
|
-
it.addedIndexes || {}
|
20852
|
+
it.addedIndexes || {},
|
20853
|
+
curFull.internal
|
20663
20854
|
);
|
20664
20855
|
}).flat();
|
20665
20856
|
const jsonDropIndexesForAllAlteredTables = alteredTables.map((it) => {
|
@@ -20719,7 +20910,11 @@ var init_snapshotsDiffer = __esm({
|
|
20719
20910
|
(t2) => t2.type === "delete_reference"
|
20720
20911
|
);
|
20721
20912
|
const jsonMySqlCreateTables = createdTables.map((it) => {
|
20722
|
-
return prepareMySqlCreateTableJson(
|
20913
|
+
return prepareMySqlCreateTableJson(
|
20914
|
+
it,
|
20915
|
+
curFull,
|
20916
|
+
curFull.internal
|
20917
|
+
);
|
20723
20918
|
});
|
20724
20919
|
jsonStatements.push(...jsonMySqlCreateTables);
|
20725
20920
|
jsonStatements.push(...jsonDropTables);
|
@@ -20759,7 +20954,7 @@ var init_snapshotsDiffer = __esm({
|
|
20759
20954
|
_meta
|
20760
20955
|
};
|
20761
20956
|
};
|
20762
|
-
applySqliteSnapshotsDiff = async (json1, json2, tablesResolver2, columnsResolver2) => {
|
20957
|
+
applySqliteSnapshotsDiff = async (json1, json2, tablesResolver2, columnsResolver2, prevFull, curFull) => {
|
20763
20958
|
const tablesDiff = diffSchemasOrTables(json1.tables, json2.tables);
|
20764
20959
|
const {
|
20765
20960
|
created: createdTables,
|
@@ -20839,7 +21034,12 @@ var init_snapshotsDiffer = __esm({
|
|
20839
21034
|
return prepareSQLiteCreateTable(it);
|
20840
21035
|
});
|
20841
21036
|
const jsonCreateIndexesForCreatedTables = createdTables.map((it) => {
|
20842
|
-
return prepareCreateIndexesJson(
|
21037
|
+
return prepareCreateIndexesJson(
|
21038
|
+
it.name,
|
21039
|
+
it.schema,
|
21040
|
+
it.indexes,
|
21041
|
+
curFull.internal
|
21042
|
+
);
|
20843
21043
|
}).flat();
|
20844
21044
|
const jsonDropTables = deletedTables.map((it) => {
|
20845
21045
|
return prepareDropTableJson(it);
|
@@ -20941,7 +21141,8 @@ var init_snapshotsDiffer = __esm({
|
|
20941
21141
|
return prepareCreateIndexesJson(
|
20942
21142
|
it.name,
|
20943
21143
|
it.schema,
|
20944
|
-
it.addedIndexes || {}
|
21144
|
+
it.addedIndexes || {},
|
21145
|
+
curFull.internal
|
20945
21146
|
);
|
20946
21147
|
}).flat();
|
20947
21148
|
const jsonDropIndexesForAllAlteredTables = allAltered.map((it) => {
|
@@ -22632,7 +22833,9 @@ var init_migrate = __esm({
|
|
22632
22833
|
squashedPrev,
|
22633
22834
|
squashedCur,
|
22634
22835
|
tablesResolver,
|
22635
|
-
columnsResolver
|
22836
|
+
columnsResolver,
|
22837
|
+
validatedPrev,
|
22838
|
+
validatedCur
|
22636
22839
|
);
|
22637
22840
|
writeResult({
|
22638
22841
|
cur,
|
@@ -22658,7 +22861,9 @@ var init_migrate = __esm({
|
|
22658
22861
|
squashedPrev,
|
22659
22862
|
squashedCur,
|
22660
22863
|
tablesResolver,
|
22661
|
-
columnsResolver
|
22864
|
+
columnsResolver,
|
22865
|
+
validatedPrev,
|
22866
|
+
validatedCur
|
22662
22867
|
);
|
22663
22868
|
return {
|
22664
22869
|
sqlStatements,
|
@@ -24928,14 +25133,14 @@ var require_to_regex_range = __commonJS({
|
|
24928
25133
|
}
|
24929
25134
|
return tokens;
|
24930
25135
|
}
|
24931
|
-
function filterPatterns(arr, comparison, prefix,
|
25136
|
+
function filterPatterns(arr, comparison, prefix, intersection, options) {
|
24932
25137
|
let result = [];
|
24933
25138
|
for (let ele of arr) {
|
24934
25139
|
let { string } = ele;
|
24935
|
-
if (!
|
25140
|
+
if (!intersection && !contains(comparison, "string", string)) {
|
24936
25141
|
result.push(prefix + string);
|
24937
25142
|
}
|
24938
|
-
if (
|
25143
|
+
if (intersection && contains(comparison, "string", string)) {
|
24939
25144
|
result.push(prefix + string);
|
24940
25145
|
}
|
24941
25146
|
}
|
@@ -111934,11 +112139,11 @@ var init_connections = __esm({
|
|
111934
112139
|
);
|
111935
112140
|
process.exit(1);
|
111936
112141
|
};
|
111937
|
-
prepareSqliteParams = (params,
|
112142
|
+
prepareSqliteParams = (params, driver3) => {
|
111938
112143
|
return params.map((param) => {
|
111939
112144
|
if (param && typeof param === "object" && "type" in param && "value" in param && param.type === "binary") {
|
111940
112145
|
const value = typeof param.value === "object" ? JSON.stringify(param.value) : param.value;
|
111941
|
-
if (
|
112146
|
+
if (driver3 === "d1-http") {
|
111942
112147
|
return value;
|
111943
112148
|
}
|
111944
112149
|
return Buffer.from(value);
|
@@ -111948,8 +112153,8 @@ var init_connections = __esm({
|
|
111948
112153
|
};
|
111949
112154
|
connectToSQLite = async (credentials2) => {
|
111950
112155
|
if ("driver" in credentials2) {
|
111951
|
-
const { driver:
|
111952
|
-
if (
|
112156
|
+
const { driver: driver3 } = credentials2;
|
112157
|
+
if (driver3 === "turso") {
|
111953
112158
|
assertPackages("@libsql/client");
|
111954
112159
|
const { createClient: createClient2 } = await import("@libsql/client");
|
111955
112160
|
const { drizzle } = await import("drizzle-orm/libsql");
|
@@ -111986,7 +112191,7 @@ var init_connections = __esm({
|
|
111986
112191
|
}
|
111987
112192
|
};
|
111988
112193
|
return { ...db2, ...proxy, migrate: migrateFn };
|
111989
|
-
} else if (
|
112194
|
+
} else if (driver3 === "d1-http") {
|
111990
112195
|
const { drizzle } = await import("drizzle-orm/sqlite-proxy");
|
111991
112196
|
const { migrate } = await import("drizzle-orm/sqlite-proxy/migrator");
|
111992
112197
|
const remoteCallback = async (sql2, params, method) => {
|
@@ -112046,7 +112251,7 @@ var init_connections = __esm({
|
|
112046
112251
|
};
|
112047
112252
|
return { ...db2, ...proxy, migrate: migrateFn };
|
112048
112253
|
} else {
|
112049
|
-
assertUnreachable(
|
112254
|
+
assertUnreachable(driver3);
|
112050
112255
|
}
|
112051
112256
|
}
|
112052
112257
|
if (await checkPackage("@libsql/client")) {
|
@@ -116820,7 +117025,9 @@ var init_introspect = __esm({
|
|
116820
117025
|
squashSqliteScheme(drySQLite),
|
116821
117026
|
squashSqliteScheme(schema5),
|
116822
117027
|
tablesResolver,
|
116823
|
-
columnsResolver
|
117028
|
+
columnsResolver,
|
117029
|
+
drySQLite,
|
117030
|
+
schema5
|
116824
117031
|
);
|
116825
117032
|
writeResult({
|
116826
117033
|
cur: schema5,
|
@@ -120347,13 +120554,13 @@ var init_studio2 = __esm({
|
|
120347
120554
|
const customDefaults = getCustomDefaults(sqliteSchema2);
|
120348
120555
|
let dbUrl;
|
120349
120556
|
if ("driver" in credentials2) {
|
120350
|
-
const { driver:
|
120351
|
-
if (
|
120557
|
+
const { driver: driver3 } = credentials2;
|
120558
|
+
if (driver3 === "d1-http") {
|
120352
120559
|
dbUrl = `d1-http://${credentials2.accountId}/${credentials2.databaseId}/${credentials2.token}`;
|
120353
|
-
} else if (
|
120560
|
+
} else if (driver3 === "turso") {
|
120354
120561
|
dbUrl = `turso://${credentials2.url}/${credentials2.authToken}`;
|
120355
120562
|
} else {
|
120356
|
-
assertUnreachable(
|
120563
|
+
assertUnreachable(driver3);
|
120357
120564
|
}
|
120358
120565
|
} else {
|
120359
120566
|
dbUrl = credentials2.url;
|
@@ -120465,7 +120672,7 @@ var init_studio2 = __esm({
|
|
120465
120672
|
};
|
120466
120673
|
prepareServer = async ({
|
120467
120674
|
dialect: dialect7,
|
120468
|
-
driver:
|
120675
|
+
driver: driver3,
|
120469
120676
|
proxy,
|
120470
120677
|
customDefaults,
|
120471
120678
|
schema: drizzleSchema,
|
@@ -120515,7 +120722,7 @@ var init_studio2 = __esm({
|
|
120515
120722
|
return c.json({
|
120516
120723
|
version: "6",
|
120517
120724
|
dialect: dialect7,
|
120518
|
-
driver:
|
120725
|
+
driver: driver3,
|
120519
120726
|
schemaFiles,
|
120520
120727
|
customDefaults: preparedDefaults,
|
120521
120728
|
relations: extractRelations(relationsConfig),
|
@@ -121969,7 +122176,10 @@ var migrateCommand = new import_commander.Command("migrate").option(
|
|
121969
122176
|
var pushCommand = new import_commander.Command("push").option(
|
121970
122177
|
"--config <config>",
|
121971
122178
|
"Path to a config.json file, drizzle.config.ts by default"
|
121972
|
-
).option("--dialect <dialect>", "Database dialect").option("--schema <schema...>", "Path to a schema file or folder").option("--tablesFilter", `Table name filters`).option("--schemaFilters", `Schema name filters`).option(
|
122179
|
+
).option("--dialect <dialect>", "Database dialect").option("--schema <schema...>", "Path to a schema file or folder").option("--tablesFilter", `Table name filters`).option("--schemaFilters", `Schema name filters`).option(
|
122180
|
+
"--extensionsFilters",
|
122181
|
+
`Database extensions internal database filters`
|
122182
|
+
).option("--url <url>", "Database connection URL").option("--host <host>", "Database host").option("--port <port>", "Database port").option("--user <user>", "Database user").option("--password <password>", "Database password").option("--database <database>", "Database name").option("--ssl <ssl>", "ssl mode").option("--auth-token <authToken>", "Database auth token [Turso]").option("--driver <driver>", "Driver used for querying the database").option("--verbose", "Print all statements for each push").option("--strict", "Always ask for confirmation").action(async (options) => {
|
121973
122183
|
await printVersions();
|
121974
122184
|
await assertPackages("drizzle-orm");
|
121975
122185
|
await assertOrmCoreVersion();
|
@@ -122052,7 +122262,10 @@ var upCommand = new import_commander.Command("up").option("--config <config>", `
|
|
122052
122262
|
var pullCommand = new import_commander.Command("introspect").option("--config <config>", `Config path [default=drizzle.config.ts]`).option("--out <out>", `Migrations folder`).option("--dialect <dialect>", "Database dialect").option("--breakpoints", `Prepare SQL statements with breakpoints`).option(
|
122053
122263
|
"--introspect-casing <introspectCasing>",
|
122054
122264
|
"Column object keys naming strategy"
|
122055
|
-
).option("--tablesFilter", `Table name filters`).option(
|
122265
|
+
).option("--tablesFilter", `Table name filters`).option(
|
122266
|
+
"--extensionsFilters",
|
122267
|
+
`Database extensions internal database filters`
|
122268
|
+
).option("--schemaFilter", `Schema name filters`).option("--url <url>", "Database connection URL").option("--host <host>", "Database host").option("--port <port>", "Database port").option("--user <user>", "Database user").option("--password <password>", "Database password").option("--database <database>", "Database database name").option("--ssl <ssl>", "Database ssl").option("--auth-token <authToken>", "Database auth token [Turso]").option("--driver <driver>", "Driver used for querying the database").action(async (options) => {
|
122056
122269
|
await printVersions();
|
122057
122270
|
await assertPackages("drizzle-orm");
|
122058
122271
|
await assertOrmCoreVersion();
|