drizzle-kit 0.19.6 → 0.19.7
Sign up to get free protection for your applications and to get access to all the features.
- package/index.cjs +119 -71
- package/package.json +1 -1
- package/utils.js +13 -1
package/index.cjs
CHANGED
@@ -4551,7 +4551,7 @@ var init_global = __esm({
|
|
4551
4551
|
});
|
4552
4552
|
|
4553
4553
|
// src/serializer/mysqlSchema.ts
|
4554
|
-
var index, fk, column, tableV3, compositePK, uniqueConstraint, tableV4, table, dialect, schemaHash, schemaInternalV3, schemaInternalV4, schemaInternal, schemaV3, schemaV4, schema2, tableSquashedV4, tableSquashed, schemaSquashed, schemaSquashedV4, MySqlSquasher, squashMysqlSchemeV4, squashMysqlScheme, mysqlSchema, mysqlSchemaV4, mysqlSchemaV3, backwardCompatibleMysqlSchema, dryMySql;
|
4554
|
+
var index, fk, column, tableV3, compositePK, uniqueConstraint, tableV4, table, dialect, schemaHash, schemaInternalV3, schemaInternalV4, kitInternals, schemaInternal, schemaV3, schemaV4, schema2, tableSquashedV4, tableSquashed, schemaSquashed, schemaSquashedV4, MySqlSquasher, squashMysqlSchemeV4, squashMysqlScheme, mysqlSchema, mysqlSchemaV4, mysqlSchemaV3, backwardCompatibleMysqlSchema, dryMySql;
|
4555
4555
|
var init_mysqlSchema = __esm({
|
4556
4556
|
"src/serializer/mysqlSchema.ts"() {
|
4557
4557
|
init_global();
|
@@ -4629,6 +4629,17 @@ var init_mysqlSchema = __esm({
|
|
4629
4629
|
tables: recordType(stringType(), tableV4),
|
4630
4630
|
schemas: recordType(stringType(), stringType())
|
4631
4631
|
}).strict();
|
4632
|
+
kitInternals = objectType({
|
4633
|
+
tables: recordType(
|
4634
|
+
stringType(),
|
4635
|
+
objectType({
|
4636
|
+
columns: recordType(
|
4637
|
+
stringType(),
|
4638
|
+
objectType({ isDefaultAnExpression: booleanType().optional() }).optional()
|
4639
|
+
)
|
4640
|
+
}).optional()
|
4641
|
+
)
|
4642
|
+
}).optional();
|
4632
4643
|
schemaInternal = objectType({
|
4633
4644
|
version: literalType("5"),
|
4634
4645
|
dialect,
|
@@ -4638,7 +4649,8 @@ var init_mysqlSchema = __esm({
|
|
4638
4649
|
schemas: recordType(stringType(), stringType()),
|
4639
4650
|
tables: recordType(stringType(), stringType()),
|
4640
4651
|
columns: recordType(stringType(), stringType())
|
4641
|
-
})
|
4652
|
+
}),
|
4653
|
+
internal: kitInternals
|
4642
4654
|
}).strict();
|
4643
4655
|
schemaV3 = schemaInternalV3.merge(schemaHash);
|
4644
4656
|
schemaV4 = schemaInternalV4.merge(schemaHash);
|
@@ -4767,9 +4779,12 @@ var init_mysqlSchema = __esm({
|
|
4767
4779
|
const squashedPKs = mapValues(it[1].compositePrimaryKeys, (pk) => {
|
4768
4780
|
return MySqlSquasher.squashPK(pk);
|
4769
4781
|
});
|
4770
|
-
const squashedUniqueConstraints = mapValues(
|
4771
|
-
|
4772
|
-
|
4782
|
+
const squashedUniqueConstraints = mapValues(
|
4783
|
+
it[1].uniqueConstraints,
|
4784
|
+
(unq) => {
|
4785
|
+
return MySqlSquasher.squashUnique(unq);
|
4786
|
+
}
|
4787
|
+
);
|
4773
4788
|
return [
|
4774
4789
|
it[0],
|
4775
4790
|
{
|
@@ -11467,12 +11482,12 @@ function clearDefaults(defaultValue, collate) {
|
|
11467
11482
|
if (defaultValue.startsWith(collate)) {
|
11468
11483
|
resultDefault = resultDefault.substring(collate.length, defaultValue.length).replace(/\\/g, "");
|
11469
11484
|
if (resultDefault.startsWith("'") && resultDefault.endsWith("'")) {
|
11470
|
-
return `
|
11485
|
+
return `'${resultDefault.substring(1, resultDefault.length - 1)}'`;
|
11471
11486
|
} else {
|
11472
|
-
return `
|
11487
|
+
return `'${resultDefault}'`;
|
11473
11488
|
}
|
11474
11489
|
} else {
|
11475
|
-
return
|
11490
|
+
return `${resultDefault}`;
|
11476
11491
|
}
|
11477
11492
|
}
|
11478
11493
|
var import_mysql_core2, import_drizzle_orm2, import_mysql_core3, import_drizzle_orm3, dialect3, indexName, generateMySqlSnapshot, fromDatabase;
|
@@ -11517,14 +11532,6 @@ var init_mysqlSerializer = __esm({
|
|
11517
11532
|
notNull,
|
11518
11533
|
autoincrement: typeof column7.autoIncrement === "undefined" ? false : column7.autoIncrement,
|
11519
11534
|
onUpdate: column7.hasOnUpdateNow
|
11520
|
-
// autoincrement:
|
11521
|
-
// column instanceof MySqlColumnWithAutoIncrement
|
11522
|
-
// ? column.autoIncrement
|
11523
|
-
// : false,
|
11524
|
-
// onUpdate:
|
11525
|
-
// column instanceof MySqlDateBaseColumn
|
11526
|
-
// ? column.hasOnUpdateNow
|
11527
|
-
// : undefined,
|
11528
11535
|
};
|
11529
11536
|
if (column7.isUnique) {
|
11530
11537
|
const existingUnique = uniqueConstraintObject[column7.uniqueName];
|
@@ -11667,6 +11674,22 @@ The unique index ${source_default.underline.blue(
|
|
11667
11674
|
);
|
11668
11675
|
process.exit(1);
|
11669
11676
|
}
|
11677
|
+
} else {
|
11678
|
+
if (typeof foreignKeysObject[name] !== "undefined") {
|
11679
|
+
console.log(
|
11680
|
+
`
|
11681
|
+
${withStyle.errorWarning(`In MySQL, when creating a foreign key, an index is automatically generated with the same name as the foreign key constraint.
|
11682
|
+
|
11683
|
+
We have encountered a collision between the index name on columns ${source_default.underline.blue(
|
11684
|
+
indexColumns.join(",")
|
11685
|
+
)} and the foreign key on columns ${source_default.underline.blue(
|
11686
|
+
foreignKeysObject[name].columnsFrom.join(",")
|
11687
|
+
)}. Please change either the index name or the foreign key name. For more information, please refer to https://dev.mysql.com/doc/refman/8.0/en/constraint-foreign-key.html
|
11688
|
+
|
11689
|
+
`)}`
|
11690
|
+
);
|
11691
|
+
process.exit(1);
|
11692
|
+
}
|
11670
11693
|
}
|
11671
11694
|
indexesObject[name] = {
|
11672
11695
|
name,
|
@@ -11704,6 +11727,7 @@ The unique index ${source_default.underline.blue(
|
|
11704
11727
|
};
|
11705
11728
|
fromDatabase = async (db, inputSchema, tablesFilter = (table4) => true, progressCallback) => {
|
11706
11729
|
const result = {};
|
11730
|
+
const internals = { tables: {} };
|
11707
11731
|
const columns = await db.execute(`select * from information_schema.columns
|
11708
11732
|
where table_schema = '${inputSchema}' and table_name != '__drizzle_migrations'
|
11709
11733
|
order by table_name, ordinal_position;`);
|
@@ -11762,6 +11786,25 @@ The unique index ${source_default.underline.blue(
|
|
11762
11786
|
notNull: !isNullable,
|
11763
11787
|
onUpdate
|
11764
11788
|
};
|
11789
|
+
if (isDefaultAnExpression) {
|
11790
|
+
if (typeof internals.tables[tableName] === "undefined") {
|
11791
|
+
internals.tables[tableName] = {
|
11792
|
+
columns: {
|
11793
|
+
[columnName]: {
|
11794
|
+
isDefaultAnExpression: true
|
11795
|
+
}
|
11796
|
+
}
|
11797
|
+
};
|
11798
|
+
} else {
|
11799
|
+
if (typeof internals.tables[tableName].columns[columnName] === "undefined") {
|
11800
|
+
internals.tables[tableName].columns[columnName] = {
|
11801
|
+
isDefaultAnExpression: true
|
11802
|
+
};
|
11803
|
+
} else {
|
11804
|
+
internals.tables[tableName].columns[columnName].isDefaultAnExpression = true;
|
11805
|
+
}
|
11806
|
+
}
|
11807
|
+
}
|
11765
11808
|
if (!table4) {
|
11766
11809
|
result[tableName] = {
|
11767
11810
|
name: tableName,
|
@@ -11784,8 +11827,9 @@ The unique index ${source_default.underline.blue(
|
|
11784
11827
|
LEFT JOIN information_schema.key_column_usage k
|
11785
11828
|
USING(constraint_name,table_schema,table_name)
|
11786
11829
|
WHERE t.constraint_type='PRIMARY KEY'
|
11787
|
-
|
11788
|
-
|
11830
|
+
and table_name != '__drizzle_migrations'
|
11831
|
+
AND t.table_schema = ?`,
|
11832
|
+
[inputSchema]
|
11789
11833
|
);
|
11790
11834
|
const tableToPk = {};
|
11791
11835
|
const tableToPkRows = tablePks[0];
|
@@ -11903,14 +11947,16 @@ The unique index ${source_default.underline.blue(
|
|
11903
11947
|
};
|
11904
11948
|
}
|
11905
11949
|
} else {
|
11906
|
-
if (typeof tableInResult.
|
11907
|
-
tableInResult.indexes[constraintName]
|
11908
|
-
|
11909
|
-
|
11910
|
-
|
11911
|
-
|
11912
|
-
|
11913
|
-
|
11950
|
+
if (typeof tableInResult.foreignKeys[constraintName] === "undefined") {
|
11951
|
+
if (typeof tableInResult.indexes[constraintName] !== "undefined") {
|
11952
|
+
tableInResult.indexes[constraintName].columns.push(columnName);
|
11953
|
+
} else {
|
11954
|
+
tableInResult.indexes[constraintName] = {
|
11955
|
+
name: constraintName,
|
11956
|
+
columns: [columnName],
|
11957
|
+
isUnique
|
11958
|
+
};
|
11959
|
+
}
|
11914
11960
|
}
|
11915
11961
|
}
|
11916
11962
|
}
|
@@ -11928,7 +11974,8 @@ The unique index ${source_default.underline.blue(
|
|
11928
11974
|
schemas: {},
|
11929
11975
|
tables: {},
|
11930
11976
|
columns: {}
|
11931
|
-
}
|
11977
|
+
},
|
11978
|
+
internal: internals
|
11932
11979
|
};
|
11933
11980
|
};
|
11934
11981
|
}
|
@@ -35797,8 +35844,8 @@ var init_mysql_introspect = __esm({
|
|
35797
35844
|
`;
|
35798
35845
|
}).join();
|
35799
35846
|
const tableStatements = Object.values(schema4.tables).map((table4) => {
|
35800
|
-
const
|
35801
|
-
const func =
|
35847
|
+
const tableSchema = schemas[table4.schema];
|
35848
|
+
const func = tableSchema ? tableSchema : "mysqlTable";
|
35802
35849
|
let statement = "";
|
35803
35850
|
if (imports.mysql.includes(withCasing(table4.name, casing))) {
|
35804
35851
|
statement = `// Table name is in conflict with ${withCasing(
|
@@ -35813,7 +35860,9 @@ var init_mysql_introspect = __esm({
|
|
35813
35860
|
statement += createTableColumns(
|
35814
35861
|
Object.values(table4.columns),
|
35815
35862
|
Object.values(table4.foreignKeys),
|
35816
|
-
casing
|
35863
|
+
casing,
|
35864
|
+
table4.name,
|
35865
|
+
schema4
|
35817
35866
|
);
|
35818
35867
|
statement += "}";
|
35819
35868
|
const filteredFKs = Object.values(table4.foreignKeys).filter((it) => {
|
@@ -35868,8 +35917,8 @@ import { sql } from "drizzle-orm"
|
|
35868
35917
|
isSelf = (fk4) => {
|
35869
35918
|
return fk4.tableFrom === fk4.tableTo;
|
35870
35919
|
};
|
35871
|
-
mapColumnDefault = (defaultValue) => {
|
35872
|
-
if (
|
35920
|
+
mapColumnDefault = (defaultValue, isExpression) => {
|
35921
|
+
if (isExpression) {
|
35873
35922
|
return `sql\`${defaultValue}\``;
|
35874
35923
|
}
|
35875
35924
|
return defaultValue;
|
@@ -35880,7 +35929,7 @@ import { sql } from "drizzle-orm"
|
|
35880
35929
|
}
|
35881
35930
|
return defaultValue;
|
35882
35931
|
};
|
35883
|
-
column4 = (type, name, defaultValue, autoincrement, onUpdate, casing) => {
|
35932
|
+
column4 = (type, name, defaultValue, autoincrement, onUpdate, casing, isExpression) => {
|
35884
35933
|
let lowered = type;
|
35885
35934
|
if (!type.startsWith("enum(")) {
|
35886
35935
|
lowered = type.toLowerCase();
|
@@ -35891,25 +35940,25 @@ import { sql } from "drizzle-orm"
|
|
35891
35940
|
if (lowered.startsWith("int")) {
|
35892
35941
|
let out = `${withCasing(name, casing)}: int("${name}")`;
|
35893
35942
|
out += autoincrement ? `.autoincrement()` : "";
|
35894
|
-
out += typeof defaultValue !== "undefined" ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
35943
|
+
out += typeof defaultValue !== "undefined" ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35895
35944
|
return out;
|
35896
35945
|
}
|
35897
35946
|
if (lowered.startsWith("tinyint")) {
|
35898
35947
|
let out = `${withCasing(name, casing)}: tinyint("${name}")`;
|
35899
35948
|
out += autoincrement ? `.autoincrement()` : "";
|
35900
|
-
out += typeof defaultValue !== "undefined" ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
35949
|
+
out += typeof defaultValue !== "undefined" ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35901
35950
|
return out;
|
35902
35951
|
}
|
35903
35952
|
if (lowered.startsWith("smallint")) {
|
35904
35953
|
let out = `${withCasing(name, casing)}: smallint("${name}")`;
|
35905
35954
|
out += autoincrement ? `.autoincrement()` : "";
|
35906
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
35955
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35907
35956
|
return out;
|
35908
35957
|
}
|
35909
35958
|
if (lowered.startsWith("mediumint")) {
|
35910
35959
|
let out = `${withCasing(name, casing)}: mediumint("${name}")`;
|
35911
35960
|
out += autoincrement ? `.autoincrement()` : "";
|
35912
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
35961
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35913
35962
|
return out;
|
35914
35963
|
}
|
35915
35964
|
if (lowered.startsWith("bigint")) {
|
@@ -35918,12 +35967,12 @@ import { sql } from "drizzle-orm"
|
|
35918
35967
|
casing
|
35919
35968
|
)}: bigint("${name}", { mode: "number" })`;
|
35920
35969
|
out += autoincrement ? `.autoincrement()` : "";
|
35921
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
35970
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35922
35971
|
return out;
|
35923
35972
|
}
|
35924
35973
|
if (lowered === "boolean") {
|
35925
35974
|
let out = `${withCasing(name, casing)}: boolean("${name}")`;
|
35926
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
35975
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35927
35976
|
return out;
|
35928
35977
|
}
|
35929
35978
|
if (lowered.startsWith("double")) {
|
@@ -35933,17 +35982,17 @@ import { sql } from "drizzle-orm"
|
|
35933
35982
|
params = { precision, scale };
|
35934
35983
|
}
|
35935
35984
|
let out = params ? `${withCasing(name, casing)}: double("${name}", ${timeConfig(params)})` : `${withCasing(name, casing)}: double("${name}")`;
|
35936
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
35985
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35937
35986
|
return out;
|
35938
35987
|
}
|
35939
35988
|
if (lowered === "float") {
|
35940
35989
|
let out = `${withCasing(name, casing)}: float("${name}")`;
|
35941
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
35990
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35942
35991
|
return out;
|
35943
35992
|
}
|
35944
35993
|
if (lowered === "real") {
|
35945
35994
|
let out = `${withCasing(name, casing)}: real("${name}")`;
|
35946
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
35995
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35947
35996
|
return out;
|
35948
35997
|
}
|
35949
35998
|
if (lowered.startsWith("timestamp")) {
|
@@ -35952,7 +36001,7 @@ import { sql } from "drizzle-orm"
|
|
35952
36001
|
fsp = fsp ? fsp : null;
|
35953
36002
|
const params = timeConfig({ fsp, mode: "'string'" });
|
35954
36003
|
let out = params ? `${withCasing(name, casing)}: timestamp("${name}", ${params})` : `${withCasing(name, casing)}: timestamp("${name}")`;
|
35955
|
-
defaultValue = defaultValue === "now()" || defaultValue === "(CURRENT_TIMESTAMP)" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36004
|
+
defaultValue = defaultValue === "now()" || defaultValue === "(CURRENT_TIMESTAMP)" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35956
36005
|
out += defaultValue;
|
35957
36006
|
let onUpdateNow = onUpdate ? ".onUpdateNow()" : "";
|
35958
36007
|
out += onUpdateNow;
|
@@ -35964,7 +36013,7 @@ import { sql } from "drizzle-orm"
|
|
35964
36013
|
fsp = fsp ? fsp : null;
|
35965
36014
|
const params = timeConfig({ fsp });
|
35966
36015
|
let out = params ? `${withCasing(name, casing)}: time("${name}", ${params})` : `${withCasing(name, casing)}: time("${name}")`;
|
35967
|
-
defaultValue = defaultValue === "now()" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36016
|
+
defaultValue = defaultValue === "now()" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35968
36017
|
out += defaultValue;
|
35969
36018
|
return out;
|
35970
36019
|
}
|
@@ -35974,33 +36023,33 @@ import { sql } from "drizzle-orm"
|
|
35974
36023
|
name,
|
35975
36024
|
casing
|
35976
36025
|
)}: date("${name}", { mode: 'string' })`;
|
35977
|
-
defaultValue = defaultValue === "now()" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36026
|
+
defaultValue = defaultValue === "now()" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35978
36027
|
out += defaultValue;
|
35979
36028
|
return out;
|
35980
36029
|
}
|
35981
36030
|
if (lowered === "text") {
|
35982
36031
|
let out = `${withCasing(name, casing)}: text("${name}")`;
|
35983
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36032
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35984
36033
|
return out;
|
35985
36034
|
}
|
35986
36035
|
if (lowered === "tinytext") {
|
35987
36036
|
let out = `${withCasing(name, casing)}: tinytext("${name}")`;
|
35988
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36037
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35989
36038
|
return out;
|
35990
36039
|
}
|
35991
36040
|
if (lowered === "mediumtext") {
|
35992
36041
|
let out = `${withCasing(name, casing)}: mediumtext("${name}")`;
|
35993
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36042
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35994
36043
|
return out;
|
35995
36044
|
}
|
35996
36045
|
if (lowered === "longtext") {
|
35997
36046
|
let out = `${withCasing(name, casing)}: longtext("${name}")`;
|
35998
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36047
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
35999
36048
|
return out;
|
36000
36049
|
}
|
36001
36050
|
if (lowered === "year") {
|
36002
36051
|
let out = `${withCasing(name, casing)}: year("${name}")`;
|
36003
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36052
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
36004
36053
|
return out;
|
36005
36054
|
}
|
36006
36055
|
if (lowered === "json") {
|
@@ -36016,7 +36065,7 @@ import { sql } from "drizzle-orm"
|
|
36016
36065
|
"varchar".length + 1,
|
36017
36066
|
lowered.length - 1
|
36018
36067
|
)} })`;
|
36019
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36068
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
36020
36069
|
return out;
|
36021
36070
|
}
|
36022
36071
|
if (lowered.startsWith("char")) {
|
@@ -36027,7 +36076,7 @@ import { sql } from "drizzle-orm"
|
|
36027
36076
|
"char".length + 1,
|
36028
36077
|
lowered.length - 1
|
36029
36078
|
)} })`;
|
36030
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36079
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
36031
36080
|
return out;
|
36032
36081
|
}
|
36033
36082
|
if (lowered.startsWith("datetime")) {
|
@@ -36041,7 +36090,7 @@ import { sql } from "drizzle-orm"
|
|
36041
36090
|
"datetime".length + 1,
|
36042
36091
|
lowered.length - 1
|
36043
36092
|
)} })` : `${withCasing(name, casing)}: datetime("${name}", { mode: 'string'})`;
|
36044
|
-
defaultValue = defaultValue === "now()" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36093
|
+
defaultValue = defaultValue === "now()" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
36045
36094
|
out += defaultValue;
|
36046
36095
|
return out;
|
36047
36096
|
}
|
@@ -36052,7 +36101,7 @@ import { sql } from "drizzle-orm"
|
|
36052
36101
|
params = { precision, scale };
|
36053
36102
|
}
|
36054
36103
|
let out = params ? `${withCasing(name, casing)}: decimal("${name}", ${timeConfig(params)})` : `${withCasing(name, casing)}: decimal("${name}")`;
|
36055
|
-
defaultValue = typeof defaultValue !== "undefined" ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36104
|
+
defaultValue = typeof defaultValue !== "undefined" ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
36056
36105
|
out += defaultValue;
|
36057
36106
|
return out;
|
36058
36107
|
}
|
@@ -36062,14 +36111,14 @@ import { sql } from "drizzle-orm"
|
|
36062
36111
|
length = length ? length : null;
|
36063
36112
|
const params = binaryConfig({ length });
|
36064
36113
|
let out = params ? `${withCasing(name, casing)}: binary("${name}", ${params})` : `${withCasing(name, casing)}: binary("${name}")`;
|
36065
|
-
defaultValue = defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36114
|
+
defaultValue = defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
36066
36115
|
out += defaultValue;
|
36067
36116
|
return out;
|
36068
36117
|
}
|
36069
36118
|
if (lowered.startsWith("enum")) {
|
36070
36119
|
const values = lowered.substring("enum".length + 1, lowered.length - 1);
|
36071
36120
|
let out = `${withCasing(name, casing)}: mysqlEnum("${name}", [${values}])`;
|
36072
|
-
out += defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36121
|
+
out += defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
36073
36122
|
return out;
|
36074
36123
|
}
|
36075
36124
|
if (lowered.startsWith("varbinary")) {
|
@@ -36078,7 +36127,7 @@ import { sql } from "drizzle-orm"
|
|
36078
36127
|
length = length ? length : null;
|
36079
36128
|
const params = binaryConfig({ length });
|
36080
36129
|
let out = params ? `${withCasing(name, casing)}: varbinary("${name}", ${params})` : `${withCasing(name, casing)}: varbinary("${name}")`;
|
36081
|
-
defaultValue = defaultValue ? `.default(${mapColumnDefault(defaultValue)})` : "";
|
36130
|
+
defaultValue = defaultValue ? `.default(${mapColumnDefault(defaultValue, isExpression)})` : "";
|
36082
36131
|
out += defaultValue;
|
36083
36132
|
return out;
|
36084
36133
|
}
|
@@ -36086,7 +36135,7 @@ import { sql } from "drizzle-orm"
|
|
36086
36135
|
return `// Warning: Can't parse ${type} from database
|
36087
36136
|
// ${type}Type: ${type}("${name}")`;
|
36088
36137
|
};
|
36089
|
-
createTableColumns = (columns, fks, casing) => {
|
36138
|
+
createTableColumns = (columns, fks, casing, tableName, schema4) => {
|
36090
36139
|
let statement = "";
|
36091
36140
|
const oneColumnsFKs = Object.values(fks).filter((it) => {
|
36092
36141
|
return !isSelf(it);
|
@@ -36098,6 +36147,7 @@ import { sql } from "drizzle-orm"
|
|
36098
36147
|
return res;
|
36099
36148
|
}, {});
|
36100
36149
|
columns.forEach((it) => {
|
36150
|
+
var _a, _b, _c;
|
36101
36151
|
statement += " ";
|
36102
36152
|
statement += column4(
|
36103
36153
|
it.type,
|
@@ -36105,7 +36155,8 @@ import { sql } from "drizzle-orm"
|
|
36105
36155
|
it.default,
|
36106
36156
|
it.autoincrement,
|
36107
36157
|
it.onUpdate,
|
36108
|
-
casing
|
36158
|
+
casing,
|
36159
|
+
((_c = (_b = (_a = schema4.internal) == null ? void 0 : _a.tables[tableName]) == null ? void 0 : _b.columns[it.name]) == null ? void 0 : _c.isDefaultAnExpression) ?? false
|
36109
36160
|
);
|
36110
36161
|
statement += it.primaryKey ? ".primaryKey()" : "";
|
36111
36162
|
statement += it.notNull ? ".notNull()" : "";
|
@@ -37542,18 +37593,14 @@ var init_mysqlIntrospect = __esm({
|
|
37542
37593
|
const progress = new IntrospectProgress();
|
37543
37594
|
const res = await (0, import_hanji6.renderWithTask)(
|
37544
37595
|
progress,
|
37545
|
-
fromDatabase(
|
37546
|
-
|
37547
|
-
|
37548
|
-
filter2,
|
37549
|
-
(stage, count, status) => {
|
37550
|
-
progress.update(stage, count, status);
|
37551
|
-
}
|
37552
|
-
)
|
37596
|
+
fromDatabase(client, databaseName, filter2, (stage, count, status) => {
|
37597
|
+
progress.update(stage, count, status);
|
37598
|
+
})
|
37553
37599
|
);
|
37554
37600
|
const schema4 = { id: originUUID, prevId: "", ...res };
|
37555
37601
|
const ts = schemaToTypeScript(schema4, config.introspect.casing);
|
37556
|
-
|
37602
|
+
const { internal, ...schemaWithoutInternals } = schema4;
|
37603
|
+
return { schema: schemaWithoutInternals, ts };
|
37557
37604
|
};
|
37558
37605
|
mysqlPushIntrospect = async (connection, filters) => {
|
37559
37606
|
const { client, databaseName } = connection;
|
@@ -37572,7 +37619,8 @@ var init_mysqlIntrospect = __esm({
|
|
37572
37619
|
};
|
37573
37620
|
const res = await fromDatabase(client, databaseName, filter2);
|
37574
37621
|
const schema4 = { id: originUUID, prevId: "", ...res };
|
37575
|
-
|
37622
|
+
const { internal, ...schemaWithoutInternals } = schema4;
|
37623
|
+
return { schema: schemaWithoutInternals };
|
37576
37624
|
};
|
37577
37625
|
}
|
37578
37626
|
});
|
@@ -51923,7 +51971,7 @@ init_source();
|
|
51923
51971
|
// package.json
|
51924
51972
|
var package_default = {
|
51925
51973
|
name: "drizzle-kit",
|
51926
|
-
version: "0.19.
|
51974
|
+
version: "0.19.7",
|
51927
51975
|
repository: "https://github.com/drizzle-team/drizzle-kit-mirror",
|
51928
51976
|
author: "Drizzle Team",
|
51929
51977
|
license: "MIT",
|
@@ -52250,7 +52298,7 @@ var logSuggestionsAndReturn = async ({
|
|
52250
52298
|
shouldAskForApprove = true;
|
52251
52299
|
}
|
52252
52300
|
} else if (statement.type === "alter_table_add_column") {
|
52253
|
-
if (statement.column.notNull &&
|
52301
|
+
if (statement.column.notNull && typeof statement.column.default === "undefined") {
|
52254
52302
|
const res = await connection.query(
|
52255
52303
|
`select count(*) as count from \`${statement.tableName}\``
|
52256
52304
|
);
|
package/package.json
CHANGED
package/utils.js
CHANGED
@@ -12795,6 +12795,17 @@ var schemaInternalV4 = objectType({
|
|
12795
12795
|
tables: recordType(stringType(), tableV4),
|
12796
12796
|
schemas: recordType(stringType(), stringType())
|
12797
12797
|
}).strict();
|
12798
|
+
var kitInternals = objectType({
|
12799
|
+
tables: recordType(
|
12800
|
+
stringType(),
|
12801
|
+
objectType({
|
12802
|
+
columns: recordType(
|
12803
|
+
stringType(),
|
12804
|
+
objectType({ isDefaultAnExpression: booleanType().optional() }).optional()
|
12805
|
+
)
|
12806
|
+
}).optional()
|
12807
|
+
)
|
12808
|
+
}).optional();
|
12798
12809
|
var schemaInternal = objectType({
|
12799
12810
|
version: literalType("5"),
|
12800
12811
|
dialect,
|
@@ -12804,7 +12815,8 @@ var schemaInternal = objectType({
|
|
12804
12815
|
schemas: recordType(stringType(), stringType()),
|
12805
12816
|
tables: recordType(stringType(), stringType()),
|
12806
12817
|
columns: recordType(stringType(), stringType())
|
12807
|
-
})
|
12818
|
+
}),
|
12819
|
+
internal: kitInternals
|
12808
12820
|
}).strict();
|
12809
12821
|
var schemaV3 = schemaInternalV3.merge(schemaHash);
|
12810
12822
|
var schemaV4 = schemaInternalV4.merge(schemaHash);
|