drizzle-kit 0.20.3 → 0.20.4-38bea13
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/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.33",
|
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();
|