drizzle-kit 0.20.3 → 0.20.4-49fcbbb
Sign up to get free protection for your applications and to get access to all the features.
- package/bin.cjs +265 -153
- package/cli/commands/pgIntrospect.d.ts +6 -1
- package/cli/commands/sqliteIntrospect.d.ts +6 -1
- package/introspect-pg.d.ts +9 -0
- package/introspect-sqlite.d.ts +10 -0
- package/package.json +3 -3
- package/serializer/studioUtils.d.ts +15 -3
- package/utils-studio.js +1 -2
- package/utils-studio.mjs +3410 -0
- package/utils.js +22 -17
- package/introspect.d.ts +0 -4
- package/sqlite-introspect.d.ts +0 -5
package/bin.cjs
CHANGED
@@ -6815,11 +6815,11 @@ var require_node2 = __commonJS({
|
|
6815
6815
|
this._set = hasNativeMap ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null);
|
6816
6816
|
}
|
6817
6817
|
ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
|
6818
|
-
var
|
6818
|
+
var set2 = new ArraySet();
|
6819
6819
|
for (var i = 0, len = aArray.length; i < len; i++) {
|
6820
|
-
|
6820
|
+
set2.add(aArray[i], aAllowDuplicates);
|
6821
6821
|
}
|
6822
|
-
return
|
6822
|
+
return set2;
|
6823
6823
|
};
|
6824
6824
|
ArraySet.prototype.size = function ArraySet_size() {
|
6825
6825
|
return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
|
@@ -13295,6 +13295,14 @@ WHERE
|
|
13295
13295
|
});
|
13296
13296
|
|
13297
13297
|
// src/serializer/index.ts
|
13298
|
+
var serializer_exports = {};
|
13299
|
+
__export(serializer_exports, {
|
13300
|
+
prepareFilenames: () => prepareFilenames,
|
13301
|
+
serializeMySql: () => serializeMySql,
|
13302
|
+
serializePg: () => serializePg,
|
13303
|
+
serializeSQLite: () => serializeSQLite,
|
13304
|
+
sqlToStr: () => sqlToStr
|
13305
|
+
});
|
13298
13306
|
var import_fs2, import_path2, glob, sqlToStr, serializeMySql, serializePg, serializeSQLite, prepareFilenames;
|
13299
13307
|
var init_serializer = __esm({
|
13300
13308
|
"src/serializer/index.ts"() {
|
@@ -18785,10 +18793,14 @@ var init_utils2 = __esm({
|
|
18785
18793
|
}
|
18786
18794
|
});
|
18787
18795
|
|
18788
|
-
// src/introspect.ts
|
18796
|
+
// src/introspect-pg.ts
|
18797
|
+
var introspect_pg_exports = {};
|
18798
|
+
__export(introspect_pg_exports, {
|
18799
|
+
schemaToTypeScript: () => schemaToTypeScript
|
18800
|
+
});
|
18789
18801
|
var pgImportsList, objToStatement2, timeConfig, possibleIntervals, intervalStrToObj, intervalConfig, importsPatch, relations, withCasing, schemaToTypeScript, isCyclic, isSelf, column4, dimensionsInArray, createTableColumns, createTableIndexes, createTablePKs, createTableUniques, createTableFKs;
|
18790
|
-
var
|
18791
|
-
"src/introspect.ts"() {
|
18802
|
+
var init_introspect_pg = __esm({
|
18803
|
+
"src/introspect-pg.ts"() {
|
18792
18804
|
init_utils2();
|
18793
18805
|
init_pgSerializer();
|
18794
18806
|
pgImportsList = /* @__PURE__ */ new Set([
|
@@ -18946,7 +18958,7 @@ var init_introspect = __esm({
|
|
18946
18958
|
res.pg.push("pgEnum");
|
18947
18959
|
}
|
18948
18960
|
const columnImports = Object.values(it.columns).map((col) => {
|
18949
|
-
let patched = importsPatch[col.type]
|
18961
|
+
let patched = importsPatch[col.type] || col.type;
|
18950
18962
|
patched = patched.startsWith("varchar(") ? "varchar" : patched;
|
18951
18963
|
patched = patched.startsWith("char(") ? "char" : patched;
|
18952
18964
|
patched = patched.startsWith("numeric(") ? "numeric" : patched;
|
@@ -19015,18 +19027,23 @@ var init_introspect = __esm({
|
|
19015
19027
|
return statement;
|
19016
19028
|
});
|
19017
19029
|
const uniquePgImports = ["pgTable", ...new Set(imports.pg)];
|
19018
|
-
|
19030
|
+
const importsTs = `import { ${uniquePgImports.join(
|
19019
19031
|
", "
|
19020
19032
|
)} } from "drizzle-orm/pg-core"
|
19033
|
+
import { sql } from "drizzle-orm"
|
19021
19034
|
|
19022
19035
|
`;
|
19023
|
-
|
19024
|
-
|
19025
|
-
|
19026
|
-
|
19027
|
-
|
19028
|
-
|
19029
|
-
|
19036
|
+
let decalrations = enumStatements;
|
19037
|
+
decalrations += schemaStatements;
|
19038
|
+
decalrations += "\n";
|
19039
|
+
decalrations += tableStatements.join("\n\n");
|
19040
|
+
const file = importsTs + decalrations;
|
19041
|
+
const schemaEntry = `
|
19042
|
+
{
|
19043
|
+
${Object.values(schema4.tables).map((it) => withCasing(it.name, casing)).join(",\n")}
|
19044
|
+
}
|
19045
|
+
`;
|
19046
|
+
return { file, imports: importsTs, decalrations, schemaEntry };
|
19030
19047
|
};
|
19031
19048
|
isCyclic = (fk4) => {
|
19032
19049
|
const key = `${fk4.tableFrom}-${fk4.tableTo}`;
|
@@ -19803,9 +19820,9 @@ var init_mjs = __esm({
|
|
19803
19820
|
star = qmark + "*?";
|
19804
19821
|
twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
|
19805
19822
|
twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
|
19806
|
-
charSet = (s) => s.split("").reduce((
|
19807
|
-
|
19808
|
-
return
|
19823
|
+
charSet = (s) => s.split("").reduce((set2, c) => {
|
19824
|
+
set2[c] = true;
|
19825
|
+
return set2;
|
19809
19826
|
}, {});
|
19810
19827
|
reSpecials = charSet("().*{}+?[]^$\\!");
|
19811
19828
|
addPatternStartSet = charSet("[.(");
|
@@ -19947,7 +19964,7 @@ var init_mjs = __esm({
|
|
19947
19964
|
const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
|
19948
19965
|
this.globParts = this.preprocess(rawGlobParts);
|
19949
19966
|
this.debug(this.pattern, this.globParts);
|
19950
|
-
let
|
19967
|
+
let set2 = this.globParts.map((s, _, __) => {
|
19951
19968
|
if (this.isWindows && this.windowsNoMagicRoot) {
|
19952
19969
|
const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
|
19953
19970
|
const isDrive = /^[a-z]:/i.test(s[0]);
|
@@ -19959,8 +19976,8 @@ var init_mjs = __esm({
|
|
19959
19976
|
}
|
19960
19977
|
return s.map((ss) => this.parse(ss));
|
19961
19978
|
});
|
19962
|
-
this.debug(this.pattern,
|
19963
|
-
this.set =
|
19979
|
+
this.debug(this.pattern, set2);
|
19980
|
+
this.set = set2.filter((s) => s.indexOf(false) === -1);
|
19964
19981
|
if (this.isWindows) {
|
19965
19982
|
for (let i = 0; i < this.set.length; i++) {
|
19966
19983
|
const p = this.set[i];
|
@@ -20016,19 +20033,19 @@ var init_mjs = __esm({
|
|
20016
20033
|
// get rid of adjascent ** and resolve .. portions
|
20017
20034
|
levelOneOptimize(globParts) {
|
20018
20035
|
return globParts.map((parts) => {
|
20019
|
-
parts = parts.reduce((
|
20020
|
-
const prev =
|
20036
|
+
parts = parts.reduce((set2, part) => {
|
20037
|
+
const prev = set2[set2.length - 1];
|
20021
20038
|
if (part === "**" && prev === "**") {
|
20022
|
-
return
|
20039
|
+
return set2;
|
20023
20040
|
}
|
20024
20041
|
if (part === "..") {
|
20025
20042
|
if (prev && prev !== ".." && prev !== "." && prev !== "**") {
|
20026
|
-
|
20027
|
-
return
|
20043
|
+
set2.pop();
|
20044
|
+
return set2;
|
20028
20045
|
}
|
20029
20046
|
}
|
20030
|
-
|
20031
|
-
return
|
20047
|
+
set2.push(part);
|
20048
|
+
return set2;
|
20032
20049
|
}, []);
|
20033
20050
|
return parts.length === 0 ? [""] : parts;
|
20034
20051
|
});
|
@@ -20546,15 +20563,15 @@ var init_mjs = __esm({
|
|
20546
20563
|
makeRe() {
|
20547
20564
|
if (this.regexp || this.regexp === false)
|
20548
20565
|
return this.regexp;
|
20549
|
-
const
|
20550
|
-
if (!
|
20566
|
+
const set2 = this.set;
|
20567
|
+
if (!set2.length) {
|
20551
20568
|
this.regexp = false;
|
20552
20569
|
return this.regexp;
|
20553
20570
|
}
|
20554
20571
|
const options = this.options;
|
20555
20572
|
const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
|
20556
20573
|
const flags = options.nocase ? "i" : "";
|
20557
|
-
let re =
|
20574
|
+
let re = set2.map((pattern) => {
|
20558
20575
|
const pp = pattern.map((p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src);
|
20559
20576
|
pp.forEach((p, i) => {
|
20560
20577
|
const next = pp[i + 1];
|
@@ -20613,16 +20630,16 @@ var init_mjs = __esm({
|
|
20613
20630
|
}
|
20614
20631
|
const ff = this.slashSplit(f);
|
20615
20632
|
this.debug(this.pattern, "split", ff);
|
20616
|
-
const
|
20617
|
-
this.debug(this.pattern, "set",
|
20633
|
+
const set2 = this.set;
|
20634
|
+
this.debug(this.pattern, "set", set2);
|
20618
20635
|
let filename = ff[ff.length - 1];
|
20619
20636
|
if (!filename) {
|
20620
20637
|
for (let i = ff.length - 2; !filename && i >= 0; i--) {
|
20621
20638
|
filename = ff[i];
|
20622
20639
|
}
|
20623
20640
|
}
|
20624
|
-
for (let i = 0; i <
|
20625
|
-
const pattern =
|
20641
|
+
for (let i = 0; i < set2.length; i++) {
|
20642
|
+
const pattern = set2[i];
|
20626
20643
|
let file = ff;
|
20627
20644
|
if (options.matchBase && pattern.length === 1) {
|
20628
20645
|
file = [filename];
|
@@ -25382,7 +25399,7 @@ var init_pgIntrospect = __esm({
|
|
25382
25399
|
import_hanji4 = __toESM(require_hanji());
|
25383
25400
|
init_views();
|
25384
25401
|
init_pgSerializer();
|
25385
|
-
|
25402
|
+
init_introspect_pg();
|
25386
25403
|
init_global();
|
25387
25404
|
init_mjs();
|
25388
25405
|
pgSchemas = async (client) => {
|
@@ -25709,10 +25726,15 @@ var init_pgPushUtils = __esm({
|
|
25709
25726
|
}
|
25710
25727
|
});
|
25711
25728
|
|
25712
|
-
// src/sqlite
|
25729
|
+
// src/introspect-sqlite.ts
|
25730
|
+
var introspect_sqlite_exports = {};
|
25731
|
+
__export(introspect_sqlite_exports, {
|
25732
|
+
indexName: () => indexName3,
|
25733
|
+
schemaToTypeScript: () => schemaToTypeScript2
|
25734
|
+
});
|
25713
25735
|
var sqliteImportsList, indexName3, objToStatement22, relations2, withCasing2, schemaToTypeScript2, isCyclic2, isSelf2, mapColumnDefault, column5, createTableColumns2, createTableIndexes2, createTableUniques2, createTablePKs2, createTableFKs2;
|
25714
|
-
var
|
25715
|
-
"src/sqlite
|
25736
|
+
var init_introspect_sqlite = __esm({
|
25737
|
+
"src/introspect-sqlite.ts"() {
|
25716
25738
|
init_utils2();
|
25717
25739
|
sqliteImportsList = /* @__PURE__ */ new Set([
|
25718
25740
|
"sqliteTable",
|
@@ -25829,15 +25851,20 @@ var init_sqlite_introspect = __esm({
|
|
25829
25851
|
"AnySQLiteColumn",
|
25830
25852
|
...new Set(imports.sqlite)
|
25831
25853
|
];
|
25832
|
-
|
25854
|
+
const importsTs = `import { ${uniqueSqliteImports.join(
|
25833
25855
|
", "
|
25834
25856
|
)} } from "drizzle-orm/sqlite-core"
|
25835
|
-
import { sql } from "drizzle-orm"
|
25857
|
+
import { sql } from "drizzle-orm"
|
25836
25858
|
|
25837
25859
|
`;
|
25838
|
-
|
25839
|
-
|
25840
|
-
|
25860
|
+
const decalrations = tableStatements.join("\n\n");
|
25861
|
+
const file = importsTs + decalrations;
|
25862
|
+
const schemaEntry = `
|
25863
|
+
{
|
25864
|
+
${Object.values(schema4.tables).map((it) => withCasing2(it.name, casing)).join(",")}
|
25865
|
+
}
|
25866
|
+
`;
|
25867
|
+
return { file, imports: importsTs, decalrations, schemaEntry };
|
25841
25868
|
};
|
25842
25869
|
isCyclic2 = (fk4) => {
|
25843
25870
|
const key = `${fk4.tableFrom}-${fk4.tableTo}`;
|
@@ -26011,7 +26038,7 @@ var init_sqliteIntrospect = __esm({
|
|
26011
26038
|
init_views();
|
26012
26039
|
init_global();
|
26013
26040
|
init_sqliteSerializer();
|
26014
|
-
|
26041
|
+
init_introspect_sqlite();
|
26015
26042
|
init_mjs();
|
26016
26043
|
import_hanji7 = __toESM(require_hanji());
|
26017
26044
|
connectToSQLite = async (config) => {
|
@@ -53900,18 +53927,18 @@ var require_set = __commonJS({
|
|
53900
53927
|
}
|
53901
53928
|
static from(schema4, iterable, ctx) {
|
53902
53929
|
const { replacer } = ctx;
|
53903
|
-
const
|
53930
|
+
const set3 = new this(schema4);
|
53904
53931
|
if (iterable && Symbol.iterator in Object(iterable))
|
53905
53932
|
for (let value of iterable) {
|
53906
53933
|
if (typeof replacer === "function")
|
53907
53934
|
value = replacer.call(iterable, value, value);
|
53908
|
-
|
53935
|
+
set3.items.push(Pair.createPair(value, null, ctx));
|
53909
53936
|
}
|
53910
|
-
return
|
53937
|
+
return set3;
|
53911
53938
|
}
|
53912
53939
|
};
|
53913
53940
|
YAMLSet.tag = "tag:yaml.org,2002:set";
|
53914
|
-
var
|
53941
|
+
var set2 = {
|
53915
53942
|
collection: "map",
|
53916
53943
|
identify: (value) => value instanceof Set,
|
53917
53944
|
nodeClass: YAMLSet,
|
@@ -53930,7 +53957,7 @@ var require_set = __commonJS({
|
|
53930
53957
|
}
|
53931
53958
|
};
|
53932
53959
|
exports.YAMLSet = YAMLSet;
|
53933
|
-
exports.set =
|
53960
|
+
exports.set = set2;
|
53934
53961
|
}
|
53935
53962
|
});
|
53936
53963
|
|
@@ -54036,7 +54063,7 @@ var require_schema3 = __commonJS({
|
|
54036
54063
|
var int = require_int2();
|
54037
54064
|
var omap = require_omap();
|
54038
54065
|
var pairs = require_pairs();
|
54039
|
-
var
|
54066
|
+
var set2 = require_set();
|
54040
54067
|
var timestamp = require_timestamp();
|
54041
54068
|
var schema4 = [
|
54042
54069
|
map.map,
|
@@ -54055,7 +54082,7 @@ var require_schema3 = __commonJS({
|
|
54055
54082
|
binary.binary,
|
54056
54083
|
omap.omap,
|
54057
54084
|
pairs.pairs,
|
54058
|
-
|
54085
|
+
set2.set,
|
54059
54086
|
timestamp.intTime,
|
54060
54087
|
timestamp.floatTime,
|
54061
54088
|
timestamp.timestamp
|
@@ -54081,7 +54108,7 @@ var require_tags = __commonJS({
|
|
54081
54108
|
var omap = require_omap();
|
54082
54109
|
var pairs = require_pairs();
|
54083
54110
|
var schema$2 = require_schema3();
|
54084
|
-
var
|
54111
|
+
var set2 = require_set();
|
54085
54112
|
var timestamp = require_timestamp();
|
54086
54113
|
var schemas = /* @__PURE__ */ new Map([
|
54087
54114
|
["core", schema4.schema],
|
@@ -54106,14 +54133,14 @@ var require_tags = __commonJS({
|
|
54106
54133
|
omap: omap.omap,
|
54107
54134
|
pairs: pairs.pairs,
|
54108
54135
|
seq: seq.seq,
|
54109
|
-
set:
|
54136
|
+
set: set2.set,
|
54110
54137
|
timestamp: timestamp.timestamp
|
54111
54138
|
};
|
54112
54139
|
var coreKnownTags = {
|
54113
54140
|
"tag:yaml.org,2002:binary": binary.binary,
|
54114
54141
|
"tag:yaml.org,2002:omap": omap.omap,
|
54115
54142
|
"tag:yaml.org,2002:pairs": pairs.pairs,
|
54116
|
-
"tag:yaml.org,2002:set":
|
54143
|
+
"tag:yaml.org,2002:set": set2.set,
|
54117
54144
|
"tag:yaml.org,2002:timestamp": timestamp.timestamp
|
54118
54145
|
};
|
54119
54146
|
function getTags(customTags, schemaName) {
|
@@ -58233,7 +58260,9 @@ var init_studioUtils = __esm({
|
|
58233
58260
|
};
|
58234
58261
|
prepareMySqlSchema = async (path4) => {
|
58235
58262
|
const imports = prepareFilenames(path4);
|
58236
|
-
const mysqlSchema4 = {
|
58263
|
+
const mysqlSchema4 = {
|
58264
|
+
public: {}
|
58265
|
+
};
|
58237
58266
|
const relations4 = {};
|
58238
58267
|
const { unregister } = await safeRegister();
|
58239
58268
|
for (let i = 0; i < imports.length; i++) {
|
@@ -58255,7 +58284,9 @@ var init_studioUtils = __esm({
|
|
58255
58284
|
};
|
58256
58285
|
prepareSQLiteSchema = async (path4) => {
|
58257
58286
|
const imports = prepareFilenames(path4);
|
58258
|
-
const sqliteSchema2 = {
|
58287
|
+
const sqliteSchema2 = {
|
58288
|
+
public: {}
|
58289
|
+
};
|
58259
58290
|
const relations4 = {};
|
58260
58291
|
const { unregister } = await safeRegister();
|
58261
58292
|
for (let i = 0; i < imports.length; i++) {
|
@@ -58305,34 +58336,55 @@ var init_studioUtils = __esm({
|
|
58305
58336
|
unregister();
|
58306
58337
|
return { pgSchema: pgSchema4, mysqlSchema: mysqlSchema4, sqliteSchema: sqliteSchema2 };
|
58307
58338
|
};
|
58308
|
-
drizzleForPostgres = async (connectionConfig, pgSchema4, relations4, verbose) => {
|
58339
|
+
drizzleForPostgres = async (connectionConfig, pgSchema4, relations4, ts, verbose) => {
|
58309
58340
|
assertPackages("pg");
|
58310
58341
|
const { drizzle: drizzle2 } = await import("drizzle-orm/node-postgres");
|
58311
58342
|
const pg = await Promise.resolve().then(() => __toESM(require_lib2()));
|
58312
|
-
const
|
58343
|
+
const client = new pg.default.Pool(connectionConfig.dbCredentials);
|
58344
|
+
const db = drizzle2(client, {
|
58313
58345
|
logger: verbose
|
58314
58346
|
});
|
58347
|
+
const proxy = async (params) => {
|
58348
|
+
const result = await client.query({
|
58349
|
+
text: params.sql,
|
58350
|
+
values: params.params,
|
58351
|
+
rowMode: "array"
|
58352
|
+
});
|
58353
|
+
return result.rows;
|
58354
|
+
};
|
58315
58355
|
return {
|
58316
|
-
|
58356
|
+
dialect: "pg",
|
58317
58357
|
db,
|
58358
|
+
proxy,
|
58318
58359
|
schema: pgSchema4,
|
58319
|
-
relations: relations4
|
58360
|
+
relations: relations4,
|
58361
|
+
ts
|
58320
58362
|
};
|
58321
58363
|
};
|
58322
|
-
drizzleForMySQL = async (config, mysqlSchema4, relations4, verbose) => {
|
58364
|
+
drizzleForMySQL = async (config, mysqlSchema4, relations4, ts, verbose) => {
|
58323
58365
|
assertPackages("mysql2");
|
58324
58366
|
const { drizzle: drizzle2 } = await import("drizzle-orm/mysql2");
|
58325
58367
|
const { createPool } = await Promise.resolve().then(() => __toESM(require_promise()));
|
58326
58368
|
const client = createPool({ ...config.dbCredentials, connectionLimit: 1 });
|
58327
58369
|
const db = drizzle2(client, { logger: verbose });
|
58370
|
+
const proxy = async (params) => {
|
58371
|
+
const result = await client.query({
|
58372
|
+
sql: params.sql,
|
58373
|
+
values: params.params,
|
58374
|
+
rowsAsArray: true
|
58375
|
+
});
|
58376
|
+
return result[0];
|
58377
|
+
};
|
58328
58378
|
return {
|
58329
|
-
|
58379
|
+
dialect: "mysql",
|
58330
58380
|
db,
|
58381
|
+
proxy,
|
58331
58382
|
schema: mysqlSchema4,
|
58332
|
-
relations: relations4
|
58383
|
+
relations: relations4,
|
58384
|
+
ts
|
58333
58385
|
};
|
58334
58386
|
};
|
58335
|
-
drizzleForSQLite = async (config, sqliteSchema2, relations4, verbose) => {
|
58387
|
+
drizzleForSQLite = async (config, sqliteSchema2, relations4, ts, verbose) => {
|
58336
58388
|
const { driver, dbCredentials: creds } = config;
|
58337
58389
|
if (driver === "d1") {
|
58338
58390
|
const { drizzle: drizzle2 } = await Promise.resolve().then(() => (init_driver(), driver_exports));
|
@@ -58340,11 +58392,16 @@ var init_studioUtils = __esm({
|
|
58340
58392
|
const db = drizzle2(execute2, creds.wranglerConfigPath, creds.dbName, {
|
58341
58393
|
logger: verbose
|
58342
58394
|
});
|
58395
|
+
const proxy = async (params) => {
|
58396
|
+
throw new Error("Proxy is not implemented for D1");
|
58397
|
+
};
|
58343
58398
|
return {
|
58344
|
-
|
58399
|
+
dialect: "sqlite",
|
58345
58400
|
db,
|
58401
|
+
proxy,
|
58346
58402
|
schema: sqliteSchema2,
|
58347
|
-
relations: relations4
|
58403
|
+
relations: relations4,
|
58404
|
+
ts
|
58348
58405
|
};
|
58349
58406
|
}
|
58350
58407
|
if (driver === "better-sqlite") {
|
@@ -58353,11 +58410,17 @@ var init_studioUtils = __esm({
|
|
58353
58410
|
const Database = await import("better-sqlite3");
|
58354
58411
|
const client = new Database.default(creds.url);
|
58355
58412
|
const db = drizzle2(client, { logger: verbose });
|
58413
|
+
const proxy = async (params) => {
|
58414
|
+
const sql2 = params.sql;
|
58415
|
+
return client.prepare(sql2).raw().all(params.params);
|
58416
|
+
};
|
58356
58417
|
return {
|
58357
|
-
|
58418
|
+
dialect: "sqlite",
|
58358
58419
|
db,
|
58420
|
+
proxy,
|
58359
58421
|
schema: sqliteSchema2,
|
58360
|
-
relations: relations4
|
58422
|
+
relations: relations4,
|
58423
|
+
ts
|
58361
58424
|
};
|
58362
58425
|
}
|
58363
58426
|
if (driver === "libsql" || driver === "turso") {
|
@@ -58369,11 +58432,19 @@ var init_studioUtils = __esm({
|
|
58369
58432
|
client,
|
58370
58433
|
{ logger: verbose }
|
58371
58434
|
);
|
58435
|
+
const proxy = async (params) => {
|
58436
|
+
return client.execute({
|
58437
|
+
sql: params.sql,
|
58438
|
+
args: params.params
|
58439
|
+
}).then((it) => it.rows.map((row) => Object.values(row)));
|
58440
|
+
};
|
58372
58441
|
return {
|
58373
|
-
|
58442
|
+
dialect: "sqlite",
|
58374
58443
|
db,
|
58444
|
+
proxy,
|
58375
58445
|
schema: sqliteSchema2,
|
58376
|
-
relations: relations4
|
58446
|
+
relations: relations4,
|
58447
|
+
ts
|
58377
58448
|
};
|
58378
58449
|
}
|
58379
58450
|
assertUnreachable(driver);
|
@@ -59379,10 +59450,14 @@ var require_cli_options = __commonJS({
|
|
59379
59450
|
}
|
59380
59451
|
});
|
59381
59452
|
|
59382
|
-
// src/mysql
|
59383
|
-
var
|
59384
|
-
|
59385
|
-
|
59453
|
+
// src/introspect-mysql.ts
|
59454
|
+
var introspect_mysql_exports = {};
|
59455
|
+
__export(introspect_mysql_exports, {
|
59456
|
+
schemaToTypeScript: () => schemaToTypeScript3
|
59457
|
+
});
|
59458
|
+
var mysqlImportsList, objToStatement23, timeConfig2, binaryConfig, importsPatch2, relations3, prepareCasing, schemaToTypeScript3, isCyclic3, isSelf3, mapColumnDefault2, mapColumnDefaultForJson, column6, createTableColumns3, createTableIndexes3, createTableUniques3, createTablePKs3, createTableFKs3;
|
59459
|
+
var init_introspect_mysql = __esm({
|
59460
|
+
"src/introspect-mysql.ts"() {
|
59386
59461
|
init_utils2();
|
59387
59462
|
init_mysqlSerializer();
|
59388
59463
|
mysqlImportsList = /* @__PURE__ */ new Set([
|
@@ -59450,7 +59525,7 @@ var init_mysql_introspect = __esm({
|
|
59450
59525
|
"timestamp without time zone": "timestamp"
|
59451
59526
|
};
|
59452
59527
|
relations3 = /* @__PURE__ */ new Set();
|
59453
|
-
|
59528
|
+
prepareCasing = (casing) => (value) => {
|
59454
59529
|
if (typeof casing === "undefined") {
|
59455
59530
|
return value;
|
59456
59531
|
}
|
@@ -59460,6 +59535,7 @@ var init_mysql_introspect = __esm({
|
|
59460
59535
|
return value;
|
59461
59536
|
};
|
59462
59537
|
schemaToTypeScript3 = (schema4, casing) => {
|
59538
|
+
const withCasing3 = prepareCasing(casing);
|
59463
59539
|
Object.values(schema4.tables).forEach((table4) => {
|
59464
59540
|
Object.values(table4.foreignKeys).forEach((fk4) => {
|
59465
59541
|
const relation = `${fk4.tableFrom}-${fk4.tableTo}`;
|
@@ -59468,7 +59544,7 @@ var init_mysql_introspect = __esm({
|
|
59468
59544
|
});
|
59469
59545
|
const schemas = Object.fromEntries(
|
59470
59546
|
Object.entries(schema4.schemas).map((it) => {
|
59471
|
-
return [it[0], withCasing3(it[1]
|
59547
|
+
return [it[0], withCasing3(it[1])];
|
59472
59548
|
})
|
59473
59549
|
);
|
59474
59550
|
const imports = Object.values(schema4.tables).reduce(
|
@@ -59515,20 +59591,19 @@ var init_mysql_introspect = __esm({
|
|
59515
59591
|
const tableSchema = schemas[table4.schema];
|
59516
59592
|
const func = tableSchema ? tableSchema : "mysqlTable";
|
59517
59593
|
let statement = "";
|
59518
|
-
if (imports.mysql.includes(withCasing3(table4.name
|
59594
|
+
if (imports.mysql.includes(withCasing3(table4.name))) {
|
59519
59595
|
statement = `// Table name is in conflict with ${withCasing3(
|
59520
|
-
table4.name
|
59521
|
-
casing
|
59596
|
+
table4.name
|
59522
59597
|
)} import.
|
59523
59598
|
// Please change to any other name, that is not in imports list
|
59524
59599
|
`;
|
59525
59600
|
}
|
59526
|
-
statement += `export const ${withCasing3(table4.name
|
59601
|
+
statement += `export const ${withCasing3(table4.name)} = ${func}("${table4.name}", {
|
59527
59602
|
`;
|
59528
59603
|
statement += createTableColumns3(
|
59529
59604
|
Object.values(table4.columns),
|
59530
59605
|
Object.values(table4.foreignKeys),
|
59531
|
-
|
59606
|
+
withCasing3,
|
59532
59607
|
table4.name,
|
59533
59608
|
schema4
|
59534
59609
|
);
|
@@ -59543,16 +59618,16 @@ var init_mysql_introspect = __esm({
|
|
59543
59618
|
statement += createTableIndexes3(
|
59544
59619
|
table4.name,
|
59545
59620
|
Object.values(table4.indexes),
|
59546
|
-
|
59621
|
+
withCasing3
|
59547
59622
|
);
|
59548
|
-
statement += createTableFKs3(Object.values(filteredFKs),
|
59623
|
+
statement += createTableFKs3(Object.values(filteredFKs), withCasing3);
|
59549
59624
|
statement += createTablePKs3(
|
59550
59625
|
Object.values(table4.compositePrimaryKeys),
|
59551
|
-
|
59626
|
+
withCasing3
|
59552
59627
|
);
|
59553
59628
|
statement += createTableUniques3(
|
59554
59629
|
Object.values(table4.uniqueConstraints),
|
59555
|
-
|
59630
|
+
withCasing3
|
59556
59631
|
);
|
59557
59632
|
statement += " }\n";
|
59558
59633
|
statement += "}";
|
@@ -59572,10 +59647,22 @@ var init_mysql_introspect = __esm({
|
|
59572
59647
|
import { sql } from "drizzle-orm"
|
59573
59648
|
|
59574
59649
|
`;
|
59575
|
-
|
59576
|
-
|
59577
|
-
|
59578
|
-
|
59650
|
+
let decalrations = schemaStatements;
|
59651
|
+
decalrations += "\n";
|
59652
|
+
decalrations += tableStatements.join("\n\n");
|
59653
|
+
const file = importsTs + decalrations;
|
59654
|
+
const schemaEntry = `
|
59655
|
+
{
|
59656
|
+
${Object.values(schema4.tables).map((it) => withCasing3(it.name)).join(",")}
|
59657
|
+
}
|
59658
|
+
`;
|
59659
|
+
return {
|
59660
|
+
file,
|
59661
|
+
// backward compatible, print to file
|
59662
|
+
imports: importsTs,
|
59663
|
+
decalrations,
|
59664
|
+
schemaEntry
|
59665
|
+
};
|
59579
59666
|
};
|
59580
59667
|
isCyclic3 = (fk4) => {
|
59581
59668
|
const key = `${fk4.tableFrom}-${fk4.tableTo}`;
|
@@ -59597,51 +59684,51 @@ import { sql } from "drizzle-orm"
|
|
59597
59684
|
}
|
59598
59685
|
return defaultValue;
|
59599
59686
|
};
|
59600
|
-
column6 = (type, name, defaultValue, autoincrement, onUpdate,
|
59687
|
+
column6 = (type, name, casing, defaultValue, autoincrement, onUpdate, isExpression) => {
|
59601
59688
|
let lowered = type;
|
59602
59689
|
if (!type.startsWith("enum(")) {
|
59603
59690
|
lowered = type.toLowerCase();
|
59604
59691
|
}
|
59605
59692
|
if (lowered === "serial") {
|
59606
|
-
return `${
|
59693
|
+
return `${casing(name)}: serial("${name}")`;
|
59607
59694
|
}
|
59608
59695
|
if (lowered.startsWith("int")) {
|
59609
59696
|
const isUnsigned = lowered.startsWith("int unsigned");
|
59610
|
-
let out = `${
|
59697
|
+
let out = `${casing(name)}: int("${name}"${isUnsigned ? ", { unsigned: true }" : ""})`;
|
59611
59698
|
out += autoincrement ? `.autoincrement()` : "";
|
59612
59699
|
out += typeof defaultValue !== "undefined" ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59613
59700
|
return out;
|
59614
59701
|
}
|
59615
59702
|
if (lowered.startsWith("tinyint")) {
|
59616
59703
|
const isUnsigned = lowered.startsWith("tinyint unsigned");
|
59617
|
-
let out = `${
|
59704
|
+
let out = `${casing(name)}: tinyint("${name}"${isUnsigned ? ", { unsigned: true }" : ""})`;
|
59618
59705
|
out += autoincrement ? `.autoincrement()` : "";
|
59619
59706
|
out += typeof defaultValue !== "undefined" ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59620
59707
|
return out;
|
59621
59708
|
}
|
59622
59709
|
if (lowered.startsWith("smallint")) {
|
59623
59710
|
const isUnsigned = lowered.startsWith("smallint unsigned");
|
59624
|
-
let out = `${
|
59711
|
+
let out = `${casing(name)}: smallint("${name}"${isUnsigned ? ", { unsigned: true }" : ""})`;
|
59625
59712
|
out += autoincrement ? `.autoincrement()` : "";
|
59626
59713
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59627
59714
|
return out;
|
59628
59715
|
}
|
59629
59716
|
if (lowered.startsWith("mediumint")) {
|
59630
59717
|
const isUnsigned = lowered.startsWith("mediumint unsigned");
|
59631
|
-
let out = `${
|
59718
|
+
let out = `${casing(name)}: mediumint("${name}"${isUnsigned ? ", { unsigned: true }" : ""})`;
|
59632
59719
|
out += autoincrement ? `.autoincrement()` : "";
|
59633
59720
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59634
59721
|
return out;
|
59635
59722
|
}
|
59636
59723
|
if (lowered.startsWith("bigint")) {
|
59637
59724
|
const isUnsigned = lowered.startsWith("bigint unsigned");
|
59638
|
-
let out = `${
|
59725
|
+
let out = `${casing(name)}: bigint("${name}", { mode: "number"${isUnsigned ? ", unsigned: true" : ""} })`;
|
59639
59726
|
out += autoincrement ? `.autoincrement()` : "";
|
59640
59727
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59641
59728
|
return out;
|
59642
59729
|
}
|
59643
59730
|
if (lowered === "boolean") {
|
59644
|
-
let out = `${
|
59731
|
+
let out = `${casing(name)}: boolean("${name}")`;
|
59645
59732
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59646
59733
|
return out;
|
59647
59734
|
}
|
@@ -59651,17 +59738,17 @@ import { sql } from "drizzle-orm"
|
|
59651
59738
|
const [precision, scale] = lowered.slice(7, lowered.length - 1).split(",");
|
59652
59739
|
params = { precision, scale };
|
59653
59740
|
}
|
59654
|
-
let out = params ? `${
|
59741
|
+
let out = params ? `${casing(name)}: double("${name}", ${timeConfig2(params)})` : `${casing(name)}: double("${name}")`;
|
59655
59742
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59656
59743
|
return out;
|
59657
59744
|
}
|
59658
59745
|
if (lowered === "float") {
|
59659
|
-
let out = `${
|
59746
|
+
let out = `${casing(name)}: float("${name}")`;
|
59660
59747
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59661
59748
|
return out;
|
59662
59749
|
}
|
59663
59750
|
if (lowered === "real") {
|
59664
|
-
let out = `${
|
59751
|
+
let out = `${casing(name)}: real("${name}")`;
|
59665
59752
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59666
59753
|
return out;
|
59667
59754
|
}
|
@@ -59670,7 +59757,7 @@ import { sql } from "drizzle-orm"
|
|
59670
59757
|
let fsp = lowered.length > keyLength ? Number(lowered.substring(keyLength, lowered.length - 1)) : null;
|
59671
59758
|
fsp = fsp ? fsp : null;
|
59672
59759
|
const params = timeConfig2({ fsp, mode: "'string'" });
|
59673
|
-
let out = params ? `${
|
59760
|
+
let out = params ? `${casing(name)}: timestamp("${name}", ${params})` : `${casing(name)}: timestamp("${name}")`;
|
59674
59761
|
defaultValue = defaultValue === "now()" || defaultValue === "(CURRENT_TIMESTAMP)" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59675
59762
|
out += defaultValue;
|
59676
59763
|
let onUpdateNow = onUpdate ? ".onUpdateNow()" : "";
|
@@ -59682,55 +59769,53 @@ import { sql } from "drizzle-orm"
|
|
59682
59769
|
let fsp = lowered.length > keyLength ? Number(lowered.substring(keyLength, lowered.length - 1)) : null;
|
59683
59770
|
fsp = fsp ? fsp : null;
|
59684
59771
|
const params = timeConfig2({ fsp });
|
59685
|
-
let out = params ? `${
|
59772
|
+
let out = params ? `${casing(name)}: time("${name}", ${params})` : `${casing(name)}: time("${name}")`;
|
59686
59773
|
defaultValue = defaultValue === "now()" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59687
59774
|
out += defaultValue;
|
59688
59775
|
return out;
|
59689
59776
|
}
|
59690
59777
|
if (lowered === "date") {
|
59691
59778
|
let out = `// you can use { mode: 'date' }, if you want to have Date as type for this column
|
59692
|
-
${
|
59693
|
-
name
|
59694
|
-
casing
|
59779
|
+
${casing(
|
59780
|
+
name
|
59695
59781
|
)}: date("${name}", { mode: 'string' })`;
|
59696
59782
|
defaultValue = defaultValue === "now()" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59697
59783
|
out += defaultValue;
|
59698
59784
|
return out;
|
59699
59785
|
}
|
59700
59786
|
if (lowered === "text") {
|
59701
|
-
let out = `${
|
59787
|
+
let out = `${casing(name)}: text("${name}")`;
|
59702
59788
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59703
59789
|
return out;
|
59704
59790
|
}
|
59705
59791
|
if (lowered === "tinytext") {
|
59706
|
-
let out = `${
|
59792
|
+
let out = `${casing(name)}: tinytext("${name}")`;
|
59707
59793
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59708
59794
|
return out;
|
59709
59795
|
}
|
59710
59796
|
if (lowered === "mediumtext") {
|
59711
|
-
let out = `${
|
59797
|
+
let out = `${casing(name)}: mediumtext("${name}")`;
|
59712
59798
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59713
59799
|
return out;
|
59714
59800
|
}
|
59715
59801
|
if (lowered === "longtext") {
|
59716
|
-
let out = `${
|
59802
|
+
let out = `${casing(name)}: longtext("${name}")`;
|
59717
59803
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59718
59804
|
return out;
|
59719
59805
|
}
|
59720
59806
|
if (lowered === "year") {
|
59721
|
-
let out = `${
|
59807
|
+
let out = `${casing(name)}: year("${name}")`;
|
59722
59808
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59723
59809
|
return out;
|
59724
59810
|
}
|
59725
59811
|
if (lowered === "json") {
|
59726
|
-
let out = `${
|
59812
|
+
let out = `${casing(name)}: json("${name}")`;
|
59727
59813
|
out += defaultValue ? `.default(${mapColumnDefaultForJson(defaultValue)})` : "";
|
59728
59814
|
return out;
|
59729
59815
|
}
|
59730
59816
|
if (lowered.startsWith("varchar")) {
|
59731
|
-
let out = `${
|
59732
|
-
name
|
59733
|
-
casing
|
59817
|
+
let out = `${casing(
|
59818
|
+
name
|
59734
59819
|
)}: varchar("${name}", { length: ${lowered.substring(
|
59735
59820
|
"varchar".length + 1,
|
59736
59821
|
lowered.length - 1
|
@@ -59739,9 +59824,8 @@ import { sql } from "drizzle-orm"
|
|
59739
59824
|
return out;
|
59740
59825
|
}
|
59741
59826
|
if (lowered.startsWith("char")) {
|
59742
|
-
let out = `${
|
59743
|
-
name
|
59744
|
-
casing
|
59827
|
+
let out = `${casing(
|
59828
|
+
name
|
59745
59829
|
)}: char("${name}", { length: ${lowered.substring(
|
59746
59830
|
"char".length + 1,
|
59747
59831
|
lowered.length - 1
|
@@ -59753,13 +59837,12 @@ import { sql } from "drizzle-orm"
|
|
59753
59837
|
let out = `// you can use { mode: 'date' }, if you want to have Date as type for this column
|
59754
59838
|
`;
|
59755
59839
|
const fsp = lowered.startsWith("datetime(") ? lowered.substring("datetime".length + 1, lowered.length - 1) : void 0;
|
59756
|
-
out = fsp ? `${
|
59757
|
-
name
|
59758
|
-
casing
|
59840
|
+
out = fsp ? `${casing(
|
59841
|
+
name
|
59759
59842
|
)}: datetime("${name}", { mode: 'string', fsp: ${lowered.substring(
|
59760
59843
|
"datetime".length + 1,
|
59761
59844
|
lowered.length - 1
|
59762
|
-
)} })` : `${
|
59845
|
+
)} })` : `${casing(name)}: datetime("${name}", { mode: 'string'})`;
|
59763
59846
|
defaultValue = defaultValue === "now()" ? ".defaultNow()" : defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59764
59847
|
out += defaultValue;
|
59765
59848
|
return out;
|
@@ -59770,7 +59853,7 @@ import { sql } from "drizzle-orm"
|
|
59770
59853
|
const [precision, scale] = lowered.slice(8, lowered.length - 1).split(",");
|
59771
59854
|
params = { precision, scale };
|
59772
59855
|
}
|
59773
|
-
let out = params ? `${
|
59856
|
+
let out = params ? `${casing(name)}: decimal("${name}", ${timeConfig2(params)})` : `${casing(name)}: decimal("${name}")`;
|
59774
59857
|
defaultValue = typeof defaultValue !== "undefined" ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59775
59858
|
out += defaultValue;
|
59776
59859
|
return out;
|
@@ -59780,14 +59863,14 @@ import { sql } from "drizzle-orm"
|
|
59780
59863
|
let length = lowered.length > keyLength ? Number(lowered.substring(keyLength, lowered.length - 1)) : null;
|
59781
59864
|
length = length ? length : null;
|
59782
59865
|
const params = binaryConfig({ length });
|
59783
|
-
let out = params ? `${
|
59866
|
+
let out = params ? `${casing(name)}: binary("${name}", ${params})` : `${casing(name)}: binary("${name}")`;
|
59784
59867
|
defaultValue = defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59785
59868
|
out += defaultValue;
|
59786
59869
|
return out;
|
59787
59870
|
}
|
59788
59871
|
if (lowered.startsWith("enum")) {
|
59789
59872
|
const values = lowered.substring("enum".length + 1, lowered.length - 1);
|
59790
|
-
let out = `${
|
59873
|
+
let out = `${casing(name)}: mysqlEnum("${name}", [${values}])`;
|
59791
59874
|
out += defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59792
59875
|
return out;
|
59793
59876
|
}
|
@@ -59796,7 +59879,7 @@ import { sql } from "drizzle-orm"
|
|
59796
59879
|
let length = lowered.length > keyLength ? Number(lowered.substring(keyLength, lowered.length - 1)) : null;
|
59797
59880
|
length = length ? length : null;
|
59798
59881
|
const params = binaryConfig({ length });
|
59799
|
-
let out = params ? `${
|
59882
|
+
let out = params ? `${casing(name)}: varbinary("${name}", ${params})` : `${casing(name)}: varbinary("${name}")`;
|
59800
59883
|
defaultValue = defaultValue ? `.default(${mapColumnDefault2(defaultValue, isExpression)})` : "";
|
59801
59884
|
out += defaultValue;
|
59802
59885
|
return out;
|
@@ -59822,10 +59905,10 @@ import { sql } from "drizzle-orm"
|
|
59822
59905
|
statement += column6(
|
59823
59906
|
it.type,
|
59824
59907
|
it.name,
|
59908
|
+
casing,
|
59825
59909
|
it.default,
|
59826
59910
|
it.autoincrement,
|
59827
59911
|
it.onUpdate,
|
59828
|
-
casing,
|
59829
59912
|
((_c = (_b = (_a3 = schema4.internal) == null ? void 0 : _a3.tables[tableName]) == null ? void 0 : _b.columns[it.name]) == null ? void 0 : _c.isDefaultAnExpression) ?? false
|
59830
59913
|
);
|
59831
59914
|
statement += it.primaryKey ? ".primaryKey()" : "";
|
@@ -59839,15 +59922,13 @@ import { sql } from "drizzle-orm"
|
|
59839
59922
|
const typeSuffix = isCyclic3(it2) ? ": AnyMySqlColumn" : "";
|
59840
59923
|
const paramsStr = objToStatement23(params);
|
59841
59924
|
if (paramsStr) {
|
59842
|
-
return `.references(()${typeSuffix} => ${
|
59843
|
-
it2.tableTo
|
59844
|
-
|
59845
|
-
)}.${withCasing3(it2.columnsTo[0], casing)}, ${paramsStr} )`;
|
59925
|
+
return `.references(()${typeSuffix} => ${casing(
|
59926
|
+
it2.tableTo
|
59927
|
+
)}.${casing(it2.columnsTo[0])}, ${paramsStr} )`;
|
59846
59928
|
}
|
59847
|
-
return `.references(()${typeSuffix} => ${
|
59848
|
-
it2.
|
59849
|
-
|
59850
|
-
)}.${withCasing3(it2.columnsTo[0], casing)})`;
|
59929
|
+
return `.references(()${typeSuffix} => ${casing(it2.tableTo)}.${casing(
|
59930
|
+
it2.columnsTo[0]
|
59931
|
+
)})`;
|
59851
59932
|
}).join("");
|
59852
59933
|
statement += fksStatement;
|
59853
59934
|
}
|
@@ -59860,13 +59941,13 @@ import { sql } from "drizzle-orm"
|
|
59860
59941
|
idxs.forEach((it) => {
|
59861
59942
|
let idxKey = it.name.startsWith(tableName) && it.name !== tableName ? it.name.slice(tableName.length + 1) : it.name;
|
59862
59943
|
idxKey = idxKey.endsWith("_index") ? idxKey.slice(0, -"_index".length) + "_idx" : idxKey;
|
59863
|
-
idxKey =
|
59944
|
+
idxKey = casing(idxKey);
|
59864
59945
|
const indexGeneratedName = indexName(tableName, it.columns);
|
59865
59946
|
const escapedIndexName = indexGeneratedName === it.name ? "" : `"${it.name}"`;
|
59866
59947
|
statement += ` ${idxKey}: `;
|
59867
59948
|
statement += it.isUnique ? "uniqueIndex(" : "index(";
|
59868
59949
|
statement += `${escapedIndexName})`;
|
59869
|
-
statement += `.on(${it.columns.map((it2) => `table.${
|
59950
|
+
statement += `.on(${it.columns.map((it2) => `table.${casing(it2)}`).join(", ")}),`;
|
59870
59951
|
statement += `
|
59871
59952
|
`;
|
59872
59953
|
});
|
@@ -59875,11 +59956,11 @@ import { sql } from "drizzle-orm"
|
|
59875
59956
|
createTableUniques3 = (unqs, casing) => {
|
59876
59957
|
let statement = "";
|
59877
59958
|
unqs.forEach((it) => {
|
59878
|
-
const idxKey =
|
59959
|
+
const idxKey = casing(it.name);
|
59879
59960
|
statement += ` ${idxKey}: `;
|
59880
59961
|
statement += "unique(";
|
59881
59962
|
statement += `"${it.name}")`;
|
59882
|
-
statement += `.on(${it.columns.map((it2) => `table.${
|
59963
|
+
statement += `.on(${it.columns.map((it2) => `table.${casing(it2)}`).join(", ")}),`;
|
59883
59964
|
statement += `
|
59884
59965
|
`;
|
59885
59966
|
});
|
@@ -59888,11 +59969,11 @@ import { sql } from "drizzle-orm"
|
|
59888
59969
|
createTablePKs3 = (pks, casing) => {
|
59889
59970
|
let statement = "";
|
59890
59971
|
pks.forEach((it) => {
|
59891
|
-
let idxKey =
|
59972
|
+
let idxKey = casing(it.name);
|
59892
59973
|
statement += ` ${idxKey}: `;
|
59893
59974
|
statement += "primaryKey({ columns: [";
|
59894
59975
|
statement += `${it.columns.map((c) => {
|
59895
|
-
return `table.${
|
59976
|
+
return `table.${casing(c)}`;
|
59896
59977
|
}).join(", ")}]${it.name ? `, name: "${it.name}"` : ""}}`;
|
59897
59978
|
statement += "),";
|
59898
59979
|
statement += `
|
@@ -59904,12 +59985,12 @@ import { sql } from "drizzle-orm"
|
|
59904
59985
|
let statement = "";
|
59905
59986
|
fks.forEach((it) => {
|
59906
59987
|
const isSelf4 = it.tableTo === it.tableFrom;
|
59907
|
-
const tableTo = isSelf4 ? "table" : `${
|
59908
|
-
statement += ` ${
|
59988
|
+
const tableTo = isSelf4 ? "table" : `${casing(it.tableTo)}`;
|
59989
|
+
statement += ` ${casing(it.name)}: foreignKey({
|
59909
59990
|
`;
|
59910
|
-
statement += ` columns: [${it.columnsFrom.map((i) => `table.${
|
59991
|
+
statement += ` columns: [${it.columnsFrom.map((i) => `table.${casing(i)}`).join(", ")}],
|
59911
59992
|
`;
|
59912
|
-
statement += ` foreignColumns: [${it.columnsTo.map((i) => `${tableTo}.${
|
59993
|
+
statement += ` foreignColumns: [${it.columnsTo.map((i) => `${tableTo}.${casing(i)}`).join(", ")}],
|
59913
59994
|
`;
|
59914
59995
|
statement += ` name: "${it.name}"
|
59915
59996
|
`;
|
@@ -59938,7 +60019,7 @@ var init_mysqlIntrospect = __esm({
|
|
59938
60019
|
init_views();
|
59939
60020
|
import_promise = __toESM(require_promise());
|
59940
60021
|
init_mysqlSerializer();
|
59941
|
-
|
60022
|
+
init_introspect_mysql();
|
59942
60023
|
init_global();
|
59943
60024
|
init_mjs();
|
59944
60025
|
connectToMySQL = async (config) => {
|
@@ -60141,7 +60222,7 @@ init_source();
|
|
60141
60222
|
// package.json
|
60142
60223
|
var package_default = {
|
60143
60224
|
name: "drizzle-kit",
|
60144
|
-
version: "0.20.
|
60225
|
+
version: "0.20.4",
|
60145
60226
|
repository: "https://github.com/drizzle-team/drizzle-kit-mirror",
|
60146
60227
|
author: "Drizzle Team",
|
60147
60228
|
license: "MIT",
|
@@ -60182,7 +60263,7 @@ var package_default = {
|
|
60182
60263
|
packit: "pnpm build && cp package.json dist/ && cd dist && pnpm pack",
|
60183
60264
|
tsc: "tsc -p tsconfig.build.json",
|
60184
60265
|
pub: "cp package.json readme.md dist/ && cd dist && npm publish",
|
60185
|
-
studio: "./
|
60266
|
+
studio: "tsx ./src/cli/index.ts studio --verbose --port=3000",
|
60186
60267
|
"studio:dev": "tsx ./src/cli/index.ts studio --verbose"
|
60187
60268
|
},
|
60188
60269
|
ava: {
|
@@ -60197,7 +60278,7 @@ var package_default = {
|
|
60197
60278
|
]
|
60198
60279
|
},
|
60199
60280
|
dependencies: {
|
60200
|
-
"@drizzle-team/studio": "^0.0.
|
60281
|
+
"@drizzle-team/studio": "^0.0.32",
|
60201
60282
|
"@esbuild-kit/esm-loader": "^2.5.5",
|
60202
60283
|
camelcase: "^7.0.1",
|
60203
60284
|
chalk: "^5.2.0",
|
@@ -60887,6 +60968,7 @@ init_sqlgenerator();
|
|
60887
60968
|
|
60888
60969
|
// src/cli/index.ts
|
60889
60970
|
init_selector_ui();
|
60971
|
+
var import_studio = require("@drizzle-team/studio");
|
60890
60972
|
init_global();
|
60891
60973
|
var printVersions = async () => {
|
60892
60974
|
const v = await versions();
|
@@ -61418,7 +61500,7 @@ var introspectPgCommand = new import_commander.Command("introspect:pg").option("
|
|
61418
61500
|
schemasFilter
|
61419
61501
|
);
|
61420
61502
|
const schemaFile = import_path7.default.join(validatedConfig.out, "schema.ts");
|
61421
|
-
(0, import_fs11.writeFileSync)(schemaFile, ts);
|
61503
|
+
(0, import_fs11.writeFileSync)(schemaFile, ts.file);
|
61422
61504
|
console.log();
|
61423
61505
|
if (snapshots.length === 0) {
|
61424
61506
|
const { sqlStatements, _meta } = await prepareSQL(
|
@@ -61471,7 +61553,7 @@ var introspectMySqlCommand = new import_commander.Command("introspect:mysql").op
|
|
61471
61553
|
const tablesFilter = filterConfig ? typeof filterConfig === "string" ? [filterConfig] : filterConfig : [];
|
61472
61554
|
const { schema: schema4, ts } = await mysqlIntrospect2(res, tablesFilter);
|
61473
61555
|
const schemaFile = import_path7.default.join(out, "schema.ts");
|
61474
|
-
(0, import_fs11.writeFileSync)(schemaFile, ts);
|
61556
|
+
(0, import_fs11.writeFileSync)(schemaFile, ts.file);
|
61475
61557
|
console.log();
|
61476
61558
|
if (snapshots.length === 0) {
|
61477
61559
|
const { sqlStatements, _meta } = await prepareSQL(
|
@@ -61524,7 +61606,7 @@ var introspectSQLiteCommand = new import_commander.Command("introspect:sqlite").
|
|
61524
61606
|
const tablesFilter = filterConfig ? typeof filterConfig === "string" ? [filterConfig] : filterConfig : [];
|
61525
61607
|
const { schema: schema4, ts } = await sqliteIntrospect2(res, tablesFilter);
|
61526
61608
|
const schemaFile = import_path7.default.join(out, "schema.ts");
|
61527
|
-
(0, import_fs11.writeFileSync)(schemaFile, ts);
|
61609
|
+
(0, import_fs11.writeFileSync)(schemaFile, ts.file);
|
61528
61610
|
console.log();
|
61529
61611
|
if (snapshots.length === 0) {
|
61530
61612
|
const { sqlStatements, _meta } = await prepareSQL(
|
@@ -61591,33 +61673,63 @@ var studioCommand = new import_commander.Command("studio").option("--port <port>
|
|
61591
61673
|
const { driver, schema: schemaPath } = drizzleConfig;
|
61592
61674
|
let setup;
|
61593
61675
|
if (driver === "pg") {
|
61676
|
+
const { schemaToTypeScript: schemaToTypeScript4 } = await Promise.resolve().then(() => (init_introspect_pg(), introspect_pg_exports));
|
61677
|
+
const { serializePg: serializePg2 } = await Promise.resolve().then(() => (init_serializer(), serializer_exports));
|
61594
61678
|
const { schema: schema4, relations: relations4 } = await preparePgSchema2(schemaPath);
|
61679
|
+
const internalSchema = await serializePg2(schemaPath);
|
61680
|
+
const ts = schemaToTypeScript4(internalSchema, { casing: "camel" });
|
61595
61681
|
setup = await drizzleForPostgres2(
|
61596
61682
|
drizzleConfig,
|
61597
61683
|
schema4,
|
61598
61684
|
relations4,
|
61685
|
+
{
|
61686
|
+
imports: ts.imports,
|
61687
|
+
declarations: ts.decalrations,
|
61688
|
+
schemaEntry: ts.schemaEntry
|
61689
|
+
},
|
61599
61690
|
Boolean(options.verbose)
|
61600
61691
|
);
|
61601
61692
|
} else if (driver === "mysql2") {
|
61693
|
+
const { schemaToTypeScript: schemaToTypeScript4 } = await Promise.resolve().then(() => (init_introspect_mysql(), introspect_mysql_exports));
|
61602
61694
|
const { schema: schema4, relations: relations4 } = await prepareMySqlSchema2(schemaPath);
|
61695
|
+
const { serializeMySql: serializeMySql2 } = await Promise.resolve().then(() => (init_serializer(), serializer_exports));
|
61696
|
+
const internalSchema = await serializeMySql2(schemaPath);
|
61697
|
+
const ts = schemaToTypeScript4(internalSchema, "camel");
|
61603
61698
|
setup = await drizzleForMySQL2(
|
61604
61699
|
drizzleConfig,
|
61605
61700
|
schema4,
|
61606
61701
|
relations4,
|
61702
|
+
{
|
61703
|
+
imports: ts.imports,
|
61704
|
+
declarations: ts.decalrations,
|
61705
|
+
schemaEntry: ts.schemaEntry
|
61706
|
+
},
|
61607
61707
|
Boolean(options.verbose)
|
61608
61708
|
);
|
61609
61709
|
} else if (driver === "better-sqlite" || driver === "d1" || driver === "libsql" || driver === "turso") {
|
61710
|
+
const { schemaToTypeScript: schemaToTypeScript4 } = await Promise.resolve().then(() => (init_introspect_sqlite(), introspect_sqlite_exports));
|
61610
61711
|
const { schema: schema4, relations: relations4 } = await prepareSQLiteSchema2(schemaPath);
|
61712
|
+
const { serializeSQLite: serializeSQLite2 } = await Promise.resolve().then(() => (init_serializer(), serializer_exports));
|
61713
|
+
const internalSchema = await serializeSQLite2(schemaPath);
|
61714
|
+
const ts = schemaToTypeScript4(internalSchema, "camel");
|
61611
61715
|
setup = await drizzleForSQLite2(
|
61612
61716
|
drizzleConfig,
|
61613
61717
|
schema4,
|
61614
61718
|
relations4,
|
61719
|
+
{
|
61720
|
+
imports: ts.imports,
|
61721
|
+
declarations: ts.decalrations,
|
61722
|
+
schemaEntry: ts.schemaEntry
|
61723
|
+
},
|
61615
61724
|
Boolean(options.verbose)
|
61616
61725
|
);
|
61617
61726
|
} else {
|
61618
61727
|
assertUnreachable(driver);
|
61619
61728
|
}
|
61620
|
-
const
|
61729
|
+
const qeueryEngine = (0, import_studio.queryEngineForSetup)(setup);
|
61730
|
+
const server = await (0, import_server.prepareServer)((_) => {
|
61731
|
+
return qeueryEngine;
|
61732
|
+
});
|
61621
61733
|
const port = options.port ?? 4983;
|
61622
61734
|
const host = options.host ?? "127.0.0.1";
|
61623
61735
|
console.log();
|