drizzle-kit 0.16.9-43ec28a → 0.16.9-5ee905c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +127 -15
- package/package.json +2 -1
package/index.js
CHANGED
|
@@ -12802,7 +12802,7 @@ __export(pgSerializer_exports, {
|
|
|
12802
12802
|
generatePgSnapshot: () => generatePgSnapshot,
|
|
12803
12803
|
indexName: () => indexName
|
|
12804
12804
|
});
|
|
12805
|
-
var import_pg_core2, import_utils6, import_sql2, import_table2, dialect4, indexName, generatePgSnapshot, fromDatabase;
|
|
12805
|
+
var import_pg_core2, import_utils6, import_sql2, import_table2, dialect4, indexName, generatePgSnapshot, fromDatabase, defaultForColumn;
|
|
12806
12806
|
var init_pgSerializer = __esm({
|
|
12807
12807
|
"src/serializer/pgSerializer.ts"() {
|
|
12808
12808
|
import_pg_core2 = require("drizzle-orm/pg-core");
|
|
@@ -12924,7 +12924,7 @@ var init_pgSerializer = __esm({
|
|
|
12924
12924
|
return map;
|
|
12925
12925
|
}, {});
|
|
12926
12926
|
const schemasObject = Object.fromEntries(
|
|
12927
|
-
schemas.map((it) => [it.schemaName, it.schemaName])
|
|
12927
|
+
schemas.filter((it) => it.schemaName !== "public").map((it) => [it.schemaName, it.schemaName])
|
|
12928
12928
|
);
|
|
12929
12929
|
return {
|
|
12930
12930
|
version: "5",
|
|
@@ -12944,7 +12944,10 @@ var init_pgSerializer = __esm({
|
|
|
12944
12944
|
const allTables = await db.query(
|
|
12945
12945
|
`SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema = 'public';`
|
|
12946
12946
|
);
|
|
12947
|
-
const schemas = new Set(
|
|
12947
|
+
const schemas = new Set(
|
|
12948
|
+
allTables.rows.map((it) => it.table_schema)
|
|
12949
|
+
);
|
|
12950
|
+
schemas.delete("public");
|
|
12948
12951
|
progressCallback("tables", allTables.rows.length, "done");
|
|
12949
12952
|
let columnsCount = 0;
|
|
12950
12953
|
let indexesCount = 0;
|
|
@@ -13055,7 +13058,7 @@ var init_pgSerializer = __esm({
|
|
|
13055
13058
|
const uniqueKey = tableConstraints.rows.filter(
|
|
13056
13059
|
(mapRow) => columnName === mapRow.column_name && mapRow.constraint_type === "UNIQUE"
|
|
13057
13060
|
);
|
|
13058
|
-
const defaultValue = columnResponse
|
|
13061
|
+
const defaultValue = defaultForColumn(columnResponse);
|
|
13059
13062
|
const isSerial = columnType === "serial";
|
|
13060
13063
|
columnToReturn[columnName] = {
|
|
13061
13064
|
name: columnName,
|
|
@@ -13108,7 +13111,7 @@ var init_pgSerializer = __esm({
|
|
|
13108
13111
|
progressCallback("indexes", indexesCount, "fetching");
|
|
13109
13112
|
result[tableName] = {
|
|
13110
13113
|
name: tableName,
|
|
13111
|
-
schema: tableSchema,
|
|
13114
|
+
schema: tableSchema !== "public" ? tableSchema : "",
|
|
13112
13115
|
columns: columnToReturn,
|
|
13113
13116
|
indexes: indexToReturn,
|
|
13114
13117
|
foreignKeys: foreignKeysToReturn
|
|
@@ -13161,6 +13164,13 @@ var init_pgSerializer = __esm({
|
|
|
13161
13164
|
}
|
|
13162
13165
|
};
|
|
13163
13166
|
};
|
|
13167
|
+
defaultForColumn = (column5) => {
|
|
13168
|
+
if (column5.data_type === "serial" || column5.data_type === "smallserial" || column5.data_type === "bigserial") {
|
|
13169
|
+
return void 0;
|
|
13170
|
+
}
|
|
13171
|
+
const defaultValue = column5.column_default === null ? void 0 : column5.column_default;
|
|
13172
|
+
return defaultValue;
|
|
13173
|
+
};
|
|
13164
13174
|
}
|
|
13165
13175
|
});
|
|
13166
13176
|
|
|
@@ -13453,7 +13463,8 @@ var init_sqlgenerator = __esm({
|
|
|
13453
13463
|
isPgNativeType = (it) => {
|
|
13454
13464
|
if (pgNativeTypes.has(it))
|
|
13455
13465
|
return true;
|
|
13456
|
-
|
|
13466
|
+
const toCheck = it.replace(/ /g, "");
|
|
13467
|
+
return toCheck.startsWith("varchar(") || toCheck.startsWith("numeric(") || toCheck.startsWith("timestamp(");
|
|
13457
13468
|
};
|
|
13458
13469
|
Convertor = class {
|
|
13459
13470
|
};
|
|
@@ -21986,7 +21997,6 @@ var init_words = __esm({
|
|
|
21986
21997
|
"hiroim",
|
|
21987
21998
|
"hitman",
|
|
21988
21999
|
"hobgoblin",
|
|
21989
|
-
"holocaust",
|
|
21990
22000
|
"hulk",
|
|
21991
22001
|
"human_cannonball",
|
|
21992
22002
|
"human_fly",
|
|
@@ -22959,9 +22969,97 @@ var init_migrate = __esm({
|
|
|
22959
22969
|
}
|
|
22960
22970
|
});
|
|
22961
22971
|
|
|
22972
|
+
// node_modules/.pnpm/camelcase@7.0.1/node_modules/camelcase/index.js
|
|
22973
|
+
function camelCase(input, options) {
|
|
22974
|
+
if (!(typeof input === "string" || Array.isArray(input))) {
|
|
22975
|
+
throw new TypeError("Expected the input to be `string | string[]`");
|
|
22976
|
+
}
|
|
22977
|
+
options = {
|
|
22978
|
+
pascalCase: false,
|
|
22979
|
+
preserveConsecutiveUppercase: false,
|
|
22980
|
+
...options
|
|
22981
|
+
};
|
|
22982
|
+
if (Array.isArray(input)) {
|
|
22983
|
+
input = input.map((x) => x.trim()).filter((x) => x.length).join("-");
|
|
22984
|
+
} else {
|
|
22985
|
+
input = input.trim();
|
|
22986
|
+
}
|
|
22987
|
+
if (input.length === 0) {
|
|
22988
|
+
return "";
|
|
22989
|
+
}
|
|
22990
|
+
const toLowerCase = options.locale === false ? (string) => string.toLowerCase() : (string) => string.toLocaleLowerCase(options.locale);
|
|
22991
|
+
const toUpperCase = options.locale === false ? (string) => string.toUpperCase() : (string) => string.toLocaleUpperCase(options.locale);
|
|
22992
|
+
if (input.length === 1) {
|
|
22993
|
+
if (SEPARATORS.test(input)) {
|
|
22994
|
+
return "";
|
|
22995
|
+
}
|
|
22996
|
+
return options.pascalCase ? toUpperCase(input) : toLowerCase(input);
|
|
22997
|
+
}
|
|
22998
|
+
const hasUpperCase = input !== toLowerCase(input);
|
|
22999
|
+
if (hasUpperCase) {
|
|
23000
|
+
input = preserveCamelCase(input, toLowerCase, toUpperCase, options.preserveConsecutiveUppercase);
|
|
23001
|
+
}
|
|
23002
|
+
input = input.replace(LEADING_SEPARATORS, "");
|
|
23003
|
+
input = options.preserveConsecutiveUppercase ? preserveConsecutiveUppercase(input, toLowerCase) : toLowerCase(input);
|
|
23004
|
+
if (options.pascalCase) {
|
|
23005
|
+
input = toUpperCase(input.charAt(0)) + input.slice(1);
|
|
23006
|
+
}
|
|
23007
|
+
return postProcess(input, toUpperCase);
|
|
23008
|
+
}
|
|
23009
|
+
var UPPERCASE, LOWERCASE, LEADING_CAPITAL, IDENTIFIER, SEPARATORS, LEADING_SEPARATORS, SEPARATORS_AND_IDENTIFIER, NUMBERS_AND_IDENTIFIER, preserveCamelCase, preserveConsecutiveUppercase, postProcess;
|
|
23010
|
+
var init_camelcase = __esm({
|
|
23011
|
+
"node_modules/.pnpm/camelcase@7.0.1/node_modules/camelcase/index.js"() {
|
|
23012
|
+
UPPERCASE = /[\p{Lu}]/u;
|
|
23013
|
+
LOWERCASE = /[\p{Ll}]/u;
|
|
23014
|
+
LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu;
|
|
23015
|
+
IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
|
|
23016
|
+
SEPARATORS = /[_.\- ]+/;
|
|
23017
|
+
LEADING_SEPARATORS = new RegExp("^" + SEPARATORS.source);
|
|
23018
|
+
SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, "gu");
|
|
23019
|
+
NUMBERS_AND_IDENTIFIER = new RegExp("\\d+" + IDENTIFIER.source, "gu");
|
|
23020
|
+
preserveCamelCase = (string, toLowerCase, toUpperCase, preserveConsecutiveUppercase2) => {
|
|
23021
|
+
let isLastCharLower = false;
|
|
23022
|
+
let isLastCharUpper = false;
|
|
23023
|
+
let isLastLastCharUpper = false;
|
|
23024
|
+
let isLastLastCharPreserved = false;
|
|
23025
|
+
for (let index4 = 0; index4 < string.length; index4++) {
|
|
23026
|
+
const character = string[index4];
|
|
23027
|
+
isLastLastCharPreserved = index4 > 2 ? string[index4 - 3] === "-" : true;
|
|
23028
|
+
if (isLastCharLower && UPPERCASE.test(character)) {
|
|
23029
|
+
string = string.slice(0, index4) + "-" + string.slice(index4);
|
|
23030
|
+
isLastCharLower = false;
|
|
23031
|
+
isLastLastCharUpper = isLastCharUpper;
|
|
23032
|
+
isLastCharUpper = true;
|
|
23033
|
+
index4++;
|
|
23034
|
+
} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character) && (!isLastLastCharPreserved || preserveConsecutiveUppercase2)) {
|
|
23035
|
+
string = string.slice(0, index4 - 1) + "-" + string.slice(index4 - 1);
|
|
23036
|
+
isLastLastCharUpper = isLastCharUpper;
|
|
23037
|
+
isLastCharUpper = false;
|
|
23038
|
+
isLastCharLower = true;
|
|
23039
|
+
} else {
|
|
23040
|
+
isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;
|
|
23041
|
+
isLastLastCharUpper = isLastCharUpper;
|
|
23042
|
+
isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;
|
|
23043
|
+
}
|
|
23044
|
+
}
|
|
23045
|
+
return string;
|
|
23046
|
+
};
|
|
23047
|
+
preserveConsecutiveUppercase = (input, toLowerCase) => {
|
|
23048
|
+
LEADING_CAPITAL.lastIndex = 0;
|
|
23049
|
+
return input.replace(LEADING_CAPITAL, (m1) => toLowerCase(m1));
|
|
23050
|
+
};
|
|
23051
|
+
postProcess = (input, toUpperCase) => {
|
|
23052
|
+
SEPARATORS_AND_IDENTIFIER.lastIndex = 0;
|
|
23053
|
+
NUMBERS_AND_IDENTIFIER.lastIndex = 0;
|
|
23054
|
+
return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier)).replace(NUMBERS_AND_IDENTIFIER, (m) => toUpperCase(m));
|
|
23055
|
+
};
|
|
23056
|
+
}
|
|
23057
|
+
});
|
|
23058
|
+
|
|
22962
23059
|
// src/@types/utils.ts
|
|
22963
23060
|
var init_utils2 = __esm({
|
|
22964
23061
|
"src/@types/utils.ts"() {
|
|
23062
|
+
init_camelcase();
|
|
22965
23063
|
String.prototype.trimChar = function(char) {
|
|
22966
23064
|
let start = 0;
|
|
22967
23065
|
let end = this.length;
|
|
@@ -22975,9 +23073,10 @@ var init_utils2 = __esm({
|
|
|
22975
23073
|
return this.replace(/ +/g, " ").trim();
|
|
22976
23074
|
};
|
|
22977
23075
|
String.prototype.camelCase = function() {
|
|
22978
|
-
return
|
|
22979
|
-
|
|
22980
|
-
|
|
23076
|
+
return camelCase(String(this));
|
|
23077
|
+
};
|
|
23078
|
+
String.prototype.concatIf = function(it, condition) {
|
|
23079
|
+
return condition ? `${this}${it}` : this;
|
|
22981
23080
|
};
|
|
22982
23081
|
Array.prototype.random = function() {
|
|
22983
23082
|
return this[~~(Math.random() * this.length)];
|
|
@@ -27387,7 +27486,8 @@ var init_introspect = __esm({
|
|
|
27387
27486
|
"interval",
|
|
27388
27487
|
"bigint",
|
|
27389
27488
|
"bigserial",
|
|
27390
|
-
"doublePrecision"
|
|
27489
|
+
"doublePrecision",
|
|
27490
|
+
"uuid"
|
|
27391
27491
|
]);
|
|
27392
27492
|
objToStatement = (json) => {
|
|
27393
27493
|
json = Object.fromEntries(Object.entries(json).filter((it) => it[1]));
|
|
@@ -27464,13 +27564,13 @@ var init_introspect = __esm({
|
|
|
27464
27564
|
return `export const ${it.name.camelCase()} = pgEnum("${it.name}", [${values}])
|
|
27465
27565
|
`;
|
|
27466
27566
|
}).join("").concat("\n");
|
|
27467
|
-
const schemaStatements = Object.entries(schemas).
|
|
27567
|
+
const schemaStatements = Object.entries(schemas).map((it) => {
|
|
27468
27568
|
return `export const ${it[1]} = pgSchema("${it[0]}");
|
|
27469
27569
|
`;
|
|
27470
27570
|
}).join();
|
|
27471
27571
|
const tableStatements = Object.values(schema4.tables).map((table4) => {
|
|
27472
27572
|
const schema5 = schemas[table4.schema];
|
|
27473
|
-
const func = schema5
|
|
27573
|
+
const func = schema5 ? schema5 : "pgTable";
|
|
27474
27574
|
let statement = `export const ${table4.name.camelCase()} = ${func}("${table4.name}", {
|
|
27475
27575
|
`;
|
|
27476
27576
|
statement += createTableColumns(
|
|
@@ -27508,6 +27608,8 @@ var init_introspect = __esm({
|
|
|
27508
27608
|
`;
|
|
27509
27609
|
result += enumStatements;
|
|
27510
27610
|
result += schemaStatements;
|
|
27611
|
+
result += `import { sql } from "drizzle-orm/sql"
|
|
27612
|
+
`;
|
|
27511
27613
|
result += "\n";
|
|
27512
27614
|
result += tableStatements.join("\n\n");
|
|
27513
27615
|
return result;
|
|
@@ -27558,6 +27660,11 @@ var init_introspect = __esm({
|
|
|
27558
27660
|
out += defaultValue ? `.default(${defaultValue})` : "";
|
|
27559
27661
|
return out;
|
|
27560
27662
|
}
|
|
27663
|
+
if (lowered === "uuid") {
|
|
27664
|
+
let out = `${name.camelCase()}: uuid("${name}")`;
|
|
27665
|
+
out += defaultValue === "gen_random_uuid()" ? ".defaultRandom()" : defaultValue ? `.default(sql\`${defaultValue}\`)` : "";
|
|
27666
|
+
return out;
|
|
27667
|
+
}
|
|
27561
27668
|
if (lowered.startsWith("numeric")) {
|
|
27562
27669
|
let params;
|
|
27563
27670
|
if (lowered.length > 7) {
|
|
@@ -27641,7 +27748,10 @@ var init_introspect = __esm({
|
|
|
27641
27748
|
if (enumTypes.has(type)) {
|
|
27642
27749
|
return `${name.camelCase()}: ${type.camelCase()}("${name}")`;
|
|
27643
27750
|
}
|
|
27644
|
-
|
|
27751
|
+
let unknown = `// TODO: failed to parse database type '${type}'
|
|
27752
|
+
`;
|
|
27753
|
+
unknown += ` ${name.camelCase()}: unknown("${name}")`;
|
|
27754
|
+
return unknown;
|
|
27645
27755
|
};
|
|
27646
27756
|
createTableColumns = (columns, fks, enumTypes) => {
|
|
27647
27757
|
let statement = "";
|
|
@@ -27655,8 +27765,9 @@ var init_introspect = __esm({
|
|
|
27655
27765
|
return res;
|
|
27656
27766
|
}, {});
|
|
27657
27767
|
columns.forEach((it) => {
|
|
27768
|
+
const columnStatement = column4(it.type, it.name, enumTypes, it.default);
|
|
27658
27769
|
statement += " ";
|
|
27659
|
-
statement +=
|
|
27770
|
+
statement += columnStatement;
|
|
27660
27771
|
statement += it.primaryKey ? ".primaryKey()" : "";
|
|
27661
27772
|
statement += it.notNull ? ".notNull()" : "";
|
|
27662
27773
|
const fks2 = fkByColumnName[it.name];
|
|
@@ -27915,6 +28026,7 @@ var package_default = {
|
|
|
27915
28026
|
]
|
|
27916
28027
|
},
|
|
27917
28028
|
dependencies: {
|
|
28029
|
+
camelcase: "^7.0.1",
|
|
27918
28030
|
chalk: "^5.2.0",
|
|
27919
28031
|
commander: "^9.4.1",
|
|
27920
28032
|
esbuild: "^0.15.18",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drizzle-kit",
|
|
3
|
-
"version": "0.16.9-
|
|
3
|
+
"version": "0.16.9-5ee905c",
|
|
4
4
|
"repository": "https://github.com/drizzle-team/drizzle-kit-mirror",
|
|
5
5
|
"author": "Alex Blokh <aleksandrblokh@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
]
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
+
"camelcase": "^7.0.1",
|
|
41
42
|
"chalk": "^5.2.0",
|
|
42
43
|
"commander": "^9.4.1",
|
|
43
44
|
"esbuild": "^0.15.18",
|