drizzle-kit 0.20.17-84934d2 → 0.20.17-90c7298

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/@types/utils.d.ts CHANGED
@@ -2,6 +2,7 @@ declare global {
2
2
  interface String {
3
3
  trimChar(char: string): string;
4
4
  squashSpaces(): string;
5
+ capitalise(): string;
5
6
  camelCase(): string;
6
7
  concatIf(it: string, condition: boolean): string;
7
8
  }
package/bin.cjs CHANGED
@@ -1076,7 +1076,7 @@ var require_hanji = __commonJS({
1076
1076
  });
1077
1077
 
1078
1078
  // src/cli/views.ts
1079
- var import_hanji, err, info, error, schema, isRenamePromptItem, ResolveColumnSelect, tableKey, ResolveSelect, ResolveSchemasSelect, Spinner, IntrospectProgress, DropMigrationView, trimmedRange;
1079
+ var import_hanji, err, info, grey, error, schema, isRenamePromptItem, ResolveColumnSelect, tableKey, ResolveSelect, ResolveSchemasSelect, Spinner, IntrospectProgress, DropMigrationView, trimmedRange;
1080
1080
  var init_views = __esm({
1081
1081
  "src/cli/views.ts"() {
1082
1082
  "use strict";
@@ -1089,6 +1089,9 @@ var init_views = __esm({
1089
1089
  info = (msg, greyMsg = "") => {
1090
1090
  return `${source_default.blue.bold("Info:")} ${msg} ${greyMsg ? source_default.grey(greyMsg) : ""}`.trim();
1091
1091
  };
1092
+ grey = (msg) => {
1093
+ return source_default.grey(msg);
1094
+ };
1092
1095
  error = (error2, greyMsg = "") => {
1093
1096
  return `${source_default.red.bold("Err:")} ${error2} ${greyMsg ? source_default.grey(greyMsg) : ""}`.trim();
1094
1097
  };
@@ -1339,14 +1342,14 @@ Is ${source_default.bold.blue(
1339
1342
  this.requestLayout();
1340
1343
  }
1341
1344
  render() {
1342
- let info3 = "";
1345
+ let info4 = "";
1343
1346
  const spin = this.spinner.value();
1344
- info3 += this.statusText(spin, this.state.tables);
1345
- info3 += this.statusText(spin, this.state.columns);
1346
- info3 += this.statusText(spin, this.state.enums);
1347
- info3 += this.statusText(spin, this.state.indexes);
1348
- info3 += this.statusText(spin, this.state.fks);
1349
- return info3;
1347
+ info4 += this.statusText(spin, this.state.tables);
1348
+ info4 += this.statusText(spin, this.state.columns);
1349
+ info4 += this.statusText(spin, this.state.enums);
1350
+ info4 += this.statusText(spin, this.state.indexes);
1351
+ info4 += this.statusText(spin, this.state.fks);
1352
+ return info4;
1350
1353
  }
1351
1354
  };
1352
1355
  DropMigrationView = class extends import_hanji.Prompt {
@@ -8320,6 +8323,9 @@ var init_utils3 = __esm({
8320
8323
  String.prototype.camelCase = function() {
8321
8324
  return camelCase(String(this));
8322
8325
  };
8326
+ String.prototype.capitalise = function() {
8327
+ return this && this.length > 0 ? `${this[0].toUpperCase()}${this.slice(1)}` : String(this);
8328
+ };
8323
8329
  String.prototype.concatIf = function(it, condition) {
8324
8330
  return condition ? `${this}${it}` : String(this);
8325
8331
  };
@@ -8700,7 +8706,7 @@ var init_cli = __esm({
8700
8706
  authToken: stringType().optional(),
8701
8707
  introspectCasing: casing,
8702
8708
  breakpoints: booleanType().optional().default(true)
8703
- });
8709
+ }).passthrough();
8704
8710
  configCheck = objectType({
8705
8711
  dialect: dialect3.optional(),
8706
8712
  out: stringType().optional()
@@ -11743,13 +11749,13 @@ var require_node2 = __commonJS({
11743
11749
  }
11744
11750
  function asyncGeneratorStep(gen, resolve2, reject, _next, _throw, key, arg) {
11745
11751
  try {
11746
- var info3 = gen[key](arg);
11747
- var value = info3.value;
11752
+ var info4 = gen[key](arg);
11753
+ var value = info4.value;
11748
11754
  } catch (error2) {
11749
11755
  reject(error2);
11750
11756
  return;
11751
11757
  }
11752
- if (info3.done) {
11758
+ if (info4.done) {
11753
11759
  resolve2(value);
11754
11760
  } else {
11755
11761
  Promise.resolve(value).then(_next, _throw);
@@ -28299,7 +28305,7 @@ var require_partial = __commonJS({
28299
28305
  match(filepath) {
28300
28306
  const parts = filepath.split("/");
28301
28307
  const levels = parts.length;
28302
- const patterns = this._storage.filter((info3) => !info3.complete || info3.segments.length > levels);
28308
+ const patterns = this._storage.filter((info4) => !info4.complete || info4.segments.length > levels);
28303
28309
  for (const pattern of patterns) {
28304
28310
  const section = pattern.sections[0];
28305
28311
  if (!pattern.complete && levels > section.length) {
@@ -36952,14 +36958,14 @@ var init_dist = __esm({
36952
36958
  if (typeof global.crypto === "undefined") {
36953
36959
  global.crypto = import_crypto2.default;
36954
36960
  }
36955
- global.fetch = (info3, init2) => {
36961
+ global.fetch = (info4, init2) => {
36956
36962
  init2 = {
36957
36963
  // Disable compression handling so people can return the result of a fetch
36958
36964
  // directly in the loader without messing with the Content-Encoding header.
36959
36965
  compress: false,
36960
36966
  ...init2
36961
36967
  };
36962
- return webFetch(info3, init2);
36968
+ return webFetch(info4, init2);
36963
36969
  };
36964
36970
  regBuffer = /^no$/i;
36965
36971
  regContentType = /^(application\/json\b|text\/(?!event-stream\b))/i;
@@ -43609,13 +43615,13 @@ var require_websocket_server = __commonJS({
43609
43615
  }
43610
43616
  }
43611
43617
  if (this.options.verifyClient) {
43612
- const info3 = {
43618
+ const info4 = {
43613
43619
  origin: req.headers[`${version2 === 8 ? "sec-websocket-origin" : "origin"}`],
43614
43620
  secure: !!(req.socket.authorized || req.socket.encrypted),
43615
43621
  req
43616
43622
  };
43617
43623
  if (this.options.verifyClient.length === 2) {
43618
- this.options.verifyClient(info3, (verified, code, message, headers) => {
43624
+ this.options.verifyClient(info4, (verified, code, message, headers) => {
43619
43625
  if (!verified) {
43620
43626
  return abortHandshake(socket, code || 401, message, headers);
43621
43627
  }
@@ -43631,7 +43637,7 @@ var require_websocket_server = __commonJS({
43631
43637
  });
43632
43638
  return;
43633
43639
  }
43634
- if (!this.options.verifyClient(info3))
43640
+ if (!this.options.verifyClient(info4))
43635
43641
  return abortHandshake(socket, 401);
43636
43642
  }
43637
43643
  this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);
@@ -54993,7 +54999,7 @@ var require_dist_cjs42 = __commonJS({
54993
54999
  calculateBodyLength: () => calculateBodyLength
54994
55000
  });
54995
55001
  module2.exports = __toCommonJS2(src_exports2);
54996
- var import_fs12 = require("fs");
55002
+ var import_fs13 = require("fs");
54997
55003
  var calculateBodyLength = /* @__PURE__ */ __name((body) => {
54998
55004
  if (!body) {
54999
55005
  return 0;
@@ -55007,9 +55013,9 @@ var require_dist_cjs42 = __commonJS({
55007
55013
  } else if (typeof body.start === "number" && typeof body.end === "number") {
55008
55014
  return body.end + 1 - body.start;
55009
55015
  } else if (typeof body.path === "string" || Buffer.isBuffer(body.path)) {
55010
- return (0, import_fs12.lstatSync)(body.path).size;
55016
+ return (0, import_fs13.lstatSync)(body.path).size;
55011
55017
  } else if (typeof body.fd === "number") {
55012
- return (0, import_fs12.fstatSync)(body.fd).size;
55018
+ return (0, import_fs13.fstatSync)(body.fd).size;
55013
55019
  }
55014
55020
  throw new Error(`Body Length computation failed for ${body}`);
55015
55021
  }, "calculateBodyLength");
@@ -57316,8 +57322,8 @@ var require_dist_cjs47 = __commonJS({
57316
57322
  }
57317
57323
  }, "validateTokenKey");
57318
57324
  var import_shared_ini_file_loader = require_dist_cjs13();
57319
- var import_fs12 = require("fs");
57320
- var { writeFile } = import_fs12.promises;
57325
+ var import_fs13 = require("fs");
57326
+ var { writeFile } = import_fs13.promises;
57321
57327
  var writeSSOTokenToFile = /* @__PURE__ */ __name((id, ssoToken) => {
57322
57328
  const tokenFilepath = (0, import_shared_ini_file_loader.getSSOTokenFilepath)(id);
57323
57329
  const tokenString = JSON.stringify(ssoToken, null, 2);
@@ -83234,13 +83240,13 @@ var require_websocket_server2 = __commonJS({
83234
83240
  }
83235
83241
  }
83236
83242
  if (this.options.verifyClient) {
83237
- const info3 = {
83243
+ const info4 = {
83238
83244
  origin: req.headers[`${version2 === 8 ? "sec-websocket-origin" : "origin"}`],
83239
83245
  secure: !!(req.socket.authorized || req.socket.encrypted),
83240
83246
  req
83241
83247
  };
83242
83248
  if (this.options.verifyClient.length === 2) {
83243
- this.options.verifyClient(info3, (verified, code, message, headers) => {
83249
+ this.options.verifyClient(info4, (verified, code, message, headers) => {
83244
83250
  if (!verified) {
83245
83251
  return abortHandshake(socket, code || 401, message, headers);
83246
83252
  }
@@ -83256,7 +83262,7 @@ var require_websocket_server2 = __commonJS({
83256
83262
  });
83257
83263
  return;
83258
83264
  }
83259
- if (!this.options.verifyClient(info3))
83265
+ if (!this.options.verifyClient(info4))
83260
83266
  return abortHandshake(socket, 401);
83261
83267
  }
83262
83268
  this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);
@@ -99674,7 +99680,7 @@ __export(connections_exports, {
99674
99680
  connectToSQLite: () => connectToSQLite,
99675
99681
  preparePostgresDB: () => preparePostgresDB
99676
99682
  });
99677
- var preparePostgresDB, parseMysqlCredentials, connectToMySQL, prepareSqliteParams, connectToSQLite;
99683
+ var import_pg_core4, preparePostgresDB, parseMysqlCredentials, connectToMySQL, prepareSqliteParams, connectToSQLite;
99678
99684
  var init_connections = __esm({
99679
99685
  "src/cli/connections.ts"() {
99680
99686
  "use strict";
@@ -99682,143 +99688,37 @@ var init_connections = __esm({
99682
99688
  init_utils2();
99683
99689
  init_global();
99684
99690
  init_outputs();
99691
+ import_pg_core4 = require("drizzle-orm/pg-core");
99685
99692
  preparePostgresDB = async (credentials2) => {
99686
99693
  if ("driver" in credentials2) {
99687
99694
  if (credentials2.driver === "aws-data-api") {
99688
- let getValueFromDataApi2 = function(field) {
99689
- if (field.stringValue !== void 0) {
99690
- return field.stringValue;
99691
- } else if (field.booleanValue !== void 0) {
99692
- return field.booleanValue;
99693
- } else if (field.doubleValue !== void 0) {
99694
- return field.doubleValue;
99695
- } else if (field.isNull !== void 0) {
99696
- return null;
99697
- } else if (field.longValue !== void 0) {
99698
- return field.longValue;
99699
- } else if (field.blobValue !== void 0) {
99700
- return field.blobValue;
99701
- } else if (field.arrayValue !== void 0) {
99702
- if (field.arrayValue.stringValues !== void 0) {
99703
- return field.arrayValue.stringValues;
99704
- }
99705
- if (field.arrayValue.longValues !== void 0) {
99706
- return field.arrayValue.longValues;
99707
- }
99708
- if (field.arrayValue.doubleValues !== void 0) {
99709
- return field.arrayValue.doubleValues;
99710
- }
99711
- if (field.arrayValue.booleanValues !== void 0) {
99712
- return field.arrayValue.booleanValues;
99713
- }
99714
- if (field.arrayValue.arrayValues !== void 0) {
99715
- return field.arrayValue.arrayValues;
99716
- }
99717
- throw new Error("Unknown array type");
99718
- } else {
99719
- throw new Error("Unknown type");
99720
- }
99721
- }, typingsToAwsTypeHint2 = function(typings) {
99722
- if (typings === "date") {
99723
- return TypeHint.DATE;
99724
- } else if (typings === "decimal") {
99725
- return TypeHint.DECIMAL;
99726
- } else if (typings === "json") {
99727
- return TypeHint.JSON;
99728
- } else if (typings === "time") {
99729
- return TypeHint.TIME;
99730
- } else if (typings === "timestamp") {
99731
- return TypeHint.TIMESTAMP;
99732
- } else if (typings === "uuid") {
99733
- return TypeHint.UUID;
99734
- } else {
99735
- return void 0;
99736
- }
99737
- }, toValueParam2 = function(value, typings) {
99738
- const response = {
99739
- value: {},
99740
- typeHint: typingsToAwsTypeHint2(typings)
99741
- };
99742
- if (value === null) {
99743
- response.value = { isNull: true };
99744
- } else if (typeof value === "string") {
99745
- switch (response.typeHint) {
99746
- case TypeHint.DATE: {
99747
- response.value = { stringValue: value.split("T")[0] };
99748
- break;
99749
- }
99750
- case TypeHint.TIMESTAMP: {
99751
- response.value = {
99752
- stringValue: value.replace("T", " ").replace("Z", "")
99753
- };
99754
- break;
99755
- }
99756
- default: {
99757
- response.value = { stringValue: value };
99758
- break;
99759
- }
99760
- }
99761
- } else if (typeof value === "number" && Number.isInteger(value)) {
99762
- response.value = { longValue: value };
99763
- } else if (typeof value === "number" && !Number.isInteger(value)) {
99764
- response.value = { doubleValue: value };
99765
- } else if (typeof value === "boolean") {
99766
- response.value = { booleanValue: value };
99767
- } else if (value instanceof Date) {
99768
- response.value = {
99769
- stringValue: value.toISOString().replace("T", " ").replace("Z", "")
99770
- };
99771
- } else {
99772
- throw new Error(`Unknown type for ${value}`);
99773
- }
99774
- return response;
99775
- };
99776
- var getValueFromDataApi = getValueFromDataApi2, typingsToAwsTypeHint = typingsToAwsTypeHint2, toValueParam = toValueParam2;
99777
99695
  assertPackages("@aws-sdk/client-rds-data");
99778
99696
  const { RDSDataClient, ExecuteStatementCommand, TypeHint } = await Promise.resolve().then(() => __toESM(require_dist_cjs54()));
99697
+ const { AwsDataApiSession } = await import("drizzle-orm/aws-data-api/pg");
99779
99698
  const rdsClient = new RDSDataClient();
99780
- const query = async (sql2, params = []) => {
99781
- var _a;
99782
- const result = await rdsClient.send(
99783
- new ExecuteStatementCommand({
99784
- sql: sql2,
99785
- parameters: params.map((param, index4) => ({
99786
- name: `${index4 + 1}`,
99787
- ...toValueParam2(param, void 0)
99788
- })),
99789
- secretArn: credentials2.secretArn,
99790
- resourceArn: credentials2.resourceArn,
99791
- database: credentials2.database
99792
- })
99793
- );
99794
- const rows = ((_a = result.records) == null ? void 0 : _a.map((row) => {
99795
- return row.map((field) => getValueFromDataApi2(field));
99796
- })) ?? [];
99797
- return rows;
99798
- };
99799
- const proxy = async (params) => {
99800
- var _a;
99801
- const result = await rdsClient.send(
99802
- new ExecuteStatementCommand({
99803
- sql: params.sql,
99804
- parameters: params.params.map((param, index4) => ({
99805
- name: `${index4 + 1}`,
99806
- ...toValueParam2(param, void 0)
99807
- })),
99808
- secretArn: credentials2.secretArn,
99809
- resourceArn: credentials2.resourceArn,
99810
- database: credentials2.database
99811
- })
99812
- );
99813
- if (params.mode === "array") {
99814
- const rows = ((_a = result.records) == null ? void 0 : _a.map((row) => {
99815
- return row.map((field) => getValueFromDataApi2(field));
99816
- })) ?? [];
99817
- return rows;
99699
+ const session = new AwsDataApiSession(
99700
+ rdsClient,
99701
+ new import_pg_core4.PgDialect(),
99702
+ void 0,
99703
+ {
99704
+ database: credentials2.database,
99705
+ resourceArn: credentials2.resourceArn,
99706
+ secretArn: credentials2.secretArn
99707
+ },
99708
+ void 0
99709
+ );
99710
+ return {
99711
+ async query(sql2, params) {
99712
+ const prepared = session.prepareQuery({ sql: sql2, params: params ?? [] }, void 0, void 0, false);
99713
+ const result = await prepared.execute();
99714
+ return result;
99715
+ },
99716
+ async proxy(params) {
99717
+ const prepared = session.prepareQuery({ sql: params.sql, params: params.params ?? [] }, void 0, void 0, params.mode === "array");
99718
+ const result = await prepared.execute();
99719
+ return result;
99818
99720
  }
99819
- return result.records;
99820
99721
  };
99821
- return { query, proxy };
99822
99722
  }
99823
99723
  assertUnreachable(credentials2.driver);
99824
99724
  }
@@ -100100,7 +100000,7 @@ __export(studio_exports, {
100100
100000
  prepareSQLiteSchema: () => prepareSQLiteSchema,
100101
100001
  prepareServer: () => prepareServer
100102
100002
  });
100103
- var import_node_https, import_pg_core4, import_drizzle_orm8, import_mysql_core4, import_sqlite_core3, preparePgSchema, prepareMySqlSchema, prepareSQLiteSchema, getCustomDefaults, drizzleForPostgres, drizzleForMySQL, drizzleForSQLite, init, proxySchema, defaultsSchema, schema4, jsonStringify, prepareServer;
100003
+ var import_node_https, import_pg_core5, import_drizzle_orm8, import_mysql_core4, import_sqlite_core3, preparePgSchema, prepareMySqlSchema, prepareSQLiteSchema, getCustomDefaults, drizzleForPostgres, drizzleForMySQL, drizzleForSQLite, init, proxySchema, defaultsSchema, schema4, jsonStringify, prepareServer;
100104
100004
  var init_studio = __esm({
100105
100005
  "src/serializer/studio.ts"() {
100106
100006
  "use strict";
@@ -100112,7 +100012,7 @@ var init_studio = __esm({
100112
100012
  init_dist5();
100113
100013
  init_lib();
100114
100014
  init_serializer();
100115
- import_pg_core4 = require("drizzle-orm/pg-core");
100015
+ import_pg_core5 = require("drizzle-orm/pg-core");
100116
100016
  import_drizzle_orm8 = require("drizzle-orm");
100117
100017
  init_utils4();
100118
100018
  import_mysql_core4 = require("drizzle-orm/mysql-core");
@@ -100127,8 +100027,8 @@ var init_studio = __esm({
100127
100027
  const i0 = require(`${it}`);
100128
100028
  const i0values = Object.entries(i0);
100129
100029
  i0values.forEach(([k2, t]) => {
100130
- if ((0, import_drizzle_orm8.is)(t, import_pg_core4.PgTable)) {
100131
- const schema5 = (0, import_pg_core4.getTableConfig)(t).schema || "public";
100030
+ if ((0, import_drizzle_orm8.is)(t, import_pg_core5.PgTable)) {
100031
+ const schema5 = (0, import_pg_core5.getTableConfig)(t).schema || "public";
100132
100032
  pgSchema2[schema5] = pgSchema2[schema5] || {};
100133
100033
  pgSchema2[schema5][k2] = t;
100134
100034
  }
@@ -100193,8 +100093,8 @@ var init_studio = __esm({
100193
100093
  Object.entries(schema5).map(([schema6, tables]) => {
100194
100094
  Object.entries(tables).map(([, table4]) => {
100195
100095
  let tableConfig;
100196
- if ((0, import_drizzle_orm8.is)(table4, import_pg_core4.PgTable)) {
100197
- tableConfig = (0, import_pg_core4.getTableConfig)(table4);
100096
+ if ((0, import_drizzle_orm8.is)(table4, import_pg_core5.PgTable)) {
100097
+ tableConfig = (0, import_pg_core5.getTableConfig)(table4);
100198
100098
  } else if ((0, import_drizzle_orm8.is)(table4, import_mysql_core4.MySqlTable)) {
100199
100099
  tableConfig = (0, import_mysql_core4.getTableConfig)(table4);
100200
100100
  } else {
@@ -100295,6 +100195,10 @@ var init_studio = __esm({
100295
100195
  prepareServer = async ({ dialect: dialect7, proxy, customDefaults }, app) => {
100296
100196
  app = app !== void 0 ? app : new Hono2();
100297
100197
  app.use(cors());
100198
+ app.use(async (ctx, next) => {
100199
+ await next();
100200
+ ctx.header("Access-Control-Allow-Private-Network", "true");
100201
+ });
100298
100202
  app.onError((err2, ctx) => {
100299
100203
  console.error(err2);
100300
100204
  return ctx.json({
@@ -103749,7 +103653,7 @@ import { sql } from "drizzle-orm"
103749
103653
  });
103750
103654
 
103751
103655
  // src/introspect-pg.ts
103752
- var import_drizzle_orm9, import_relations, pgImportsList, objToStatement23, timeConfig2, possibleIntervals, intervalStrToObj, intervalConfig, importsPatch2, relations3, withCasing2, schemaToTypeScript3, isCyclic3, isSelf3, column6, dimensionsInArray, createTableColumns3, createTableIndexes3, createTablePKs3, createTableUniques3, createTableFKs3;
103656
+ var import_drizzle_orm9, import_relations, pgImportsList, objToStatement23, timeConfig2, possibleIntervals, intervalStrToObj, intervalConfig, importsPatch2, relations3, withCasing2, paramNameFor, schemaToTypeScript3, isCyclic3, isSelf3, column6, dimensionsInArray, createTableColumns3, createTableIndexes3, createTablePKs3, createTableUniques3, createTableFKs3;
103753
103657
  var init_introspect_pg = __esm({
103754
103658
  "src/introspect-pg.ts"() {
103755
103659
  "use strict";
@@ -103874,6 +103778,10 @@ var init_introspect_pg = __esm({
103874
103778
  }
103875
103779
  assertUnreachable(casing2);
103876
103780
  };
103781
+ paramNameFor = (name, schema5) => {
103782
+ const schemaSuffix = schema5 && schema5 !== "public" ? `In${schema5.capitalise()}` : "";
103783
+ return `${name}${schemaSuffix}`;
103784
+ };
103877
103785
  schemaToTypeScript3 = (schema5, casing2) => {
103878
103786
  Object.values(schema5.tables).forEach((table4) => {
103879
103787
  Object.values(table4.foreignKeys).forEach((fk4) => {
@@ -103930,7 +103838,7 @@ var init_introspect_pg = __esm({
103930
103838
  );
103931
103839
  const enumStatements = Object.values(schema5.enums).map((it) => {
103932
103840
  const enumSchema3 = schemas[it.schema];
103933
- const paramName = !enumSchema3 || enumSchema3 === "public" ? it.name : `${it.name}In${enumSchema3}`;
103841
+ const paramName = paramNameFor(it.name, enumSchema3);
103934
103842
  const func = enumSchema3 ? `${enumSchema3}.enum` : "pgEnum";
103935
103843
  const values2 = Object.values(it.values).map((it2) => `'${it2}'`).join(", ");
103936
103844
  return `export const ${withCasing2(paramName, casing2)} = ${func}("${it.name}", [${values2}])
@@ -103942,7 +103850,7 @@ var init_introspect_pg = __esm({
103942
103850
  }).join("");
103943
103851
  const tableStatements = Object.values(schema5.tables).map((table4) => {
103944
103852
  const tableSchema = schemas[table4.schema];
103945
- const paramName = !tableSchema || tableSchema === "public" ? table4.name : `${table4.name}In${tableSchema}`;
103853
+ const paramName = paramNameFor(table4.name, tableSchema);
103946
103854
  const func = tableSchema ? `${tableSchema}.table` : "pgTable";
103947
103855
  let statement = `export const ${withCasing2(paramName, casing2)} = ${func}("${table4.name}", {
103948
103856
  `;
@@ -103951,6 +103859,7 @@ var init_introspect_pg = __esm({
103951
103859
  Object.values(table4.columns),
103952
103860
  Object.values(table4.foreignKeys),
103953
103861
  enumTypes,
103862
+ schemas,
103954
103863
  casing2,
103955
103864
  schema5.internal
103956
103865
  );
@@ -103967,7 +103876,7 @@ var init_introspect_pg = __esm({
103967
103876
  Object.values(table4.indexes),
103968
103877
  casing2
103969
103878
  );
103970
- statement += createTableFKs3(Object.values(filteredFKs), casing2);
103879
+ statement += createTableFKs3(Object.values(filteredFKs), schemas, casing2);
103971
103880
  statement += createTablePKs3(
103972
103881
  Object.values(table4.compositePrimaryKeys),
103973
103882
  casing2
@@ -104217,7 +104126,7 @@ var init_introspect_pg = __esm({
104217
104126
  }
104218
104127
  return res;
104219
104128
  };
104220
- createTableColumns3 = (tableName, columns, fks, enumTypes, casing2, internals) => {
104129
+ createTableColumns3 = (tableName, columns, fks, enumTypes, schemas, casing2, internals) => {
104221
104130
  let statement = "";
104222
104131
  const oneColumnsFKs = Object.values(fks).filter((it) => {
104223
104132
  return !isSelf3(it);
@@ -104256,14 +104165,16 @@ var init_introspect_pg = __esm({
104256
104165
  const params = { onDelete, onUpdate };
104257
104166
  const typeSuffix = isCyclic3(it2) ? ": AnyPgColumn" : "";
104258
104167
  const paramsStr = objToStatement23(params);
104168
+ const tableSchema = schemas[it2.schemaTo || ""];
104169
+ const paramName = paramNameFor(it2.tableTo, tableSchema);
104259
104170
  if (paramsStr) {
104260
104171
  return `.references(()${typeSuffix} => ${withCasing2(
104261
- it2.tableTo,
104172
+ paramName,
104262
104173
  casing2
104263
104174
  )}.${withCasing2(it2.columnsTo[0], casing2)}, ${paramsStr} )`;
104264
104175
  }
104265
104176
  return `.references(()${typeSuffix} => ${withCasing2(
104266
- it2.tableTo,
104177
+ paramName,
104267
104178
  casing2
104268
104179
  )}.${withCasing2(it2.columnsTo[0], casing2)})`;
104269
104180
  }).join("");
@@ -104319,11 +104230,13 @@ var init_introspect_pg = __esm({
104319
104230
  });
104320
104231
  return statement;
104321
104232
  };
104322
- createTableFKs3 = (fks, casing2) => {
104233
+ createTableFKs3 = (fks, schemas, casing2) => {
104323
104234
  let statement = "";
104324
104235
  fks.forEach((it) => {
104236
+ const tableSchema = schemas[it.schemaTo || ""];
104237
+ const paramName = paramNameFor(it.tableTo, tableSchema);
104325
104238
  const isSelf4 = it.tableTo === it.tableFrom;
104326
- const tableTo = isSelf4 ? "table" : `${withCasing2(it.tableTo, casing2)}`;
104239
+ const tableTo = isSelf4 ? "table" : `${withCasing2(paramName, casing2)}`;
104327
104240
  statement += ` ${withCasing2(it.name, casing2)}: foreignKey({
104328
104241
  `;
104329
104242
  statement += ` columns: [${it.columnsFrom.map((i) => `table.${withCasing2(i, casing2)}`).join(", ")}],
@@ -104760,7 +104673,6 @@ var init_introspect = __esm({
104760
104673
  const relationsTs = relationsToTypeScript(schema5, casing2);
104761
104674
  const { internal, ...schemaWithoutInternals } = schema5;
104762
104675
  const schemaFile = (0, import_path7.join)(out, "schema.ts");
104763
- (0, import_fs11.mkdirSync)(out, { recursive: true });
104764
104676
  (0, import_fs11.writeFileSync)(schemaFile, ts2.file);
104765
104677
  const relationsFile = (0, import_path7.join)(out, "relations.ts");
104766
104678
  (0, import_fs11.writeFileSync)(relationsFile, relationsTs.file);
@@ -104962,8 +104874,10 @@ var init_introspect = __esm({
104962
104874
  const tableRelations = {};
104963
104875
  Object.values(schema5.tables).forEach((table4) => {
104964
104876
  Object.values(table4.foreignKeys).forEach((fk4) => {
104965
- const tableFrom = withCasing3(fk4.tableFrom, casing2);
104966
- const tableTo = withCasing3(fk4.tableTo, casing2);
104877
+ const tableNameFrom = paramNameFor(fk4.tableFrom, table4.schema);
104878
+ const tableNameTo = paramNameFor(fk4.tableTo, fk4.schemaTo);
104879
+ const tableFrom = withCasing3(tableNameFrom, casing2);
104880
+ const tableTo = withCasing3(tableNameTo, casing2);
104967
104881
  const columnFrom = withCasing3(fk4.columnsFrom[0], casing2);
104968
104882
  const columnTo = withCasing3(fk4.columnsTo[0], casing2);
104969
104883
  imports.push(tableTo, tableFrom);
@@ -105005,17 +104919,17 @@ import { ${uniqueImports.join(
105005
104919
  const hasOne = relations4.some((it) => it.type === "one");
105006
104920
  const hasMany = relations4.some((it) => it.type === "many");
105007
104921
  const preparedRelations = relations4.map(
105008
- (relation, index4, originArray) => {
104922
+ (relation, relationIndex, originArray) => {
105009
104923
  let name = relation.name;
105010
104924
  let relationName;
105011
- const hasMultipleRelations = hasOne && hasMany && originArray.some(
105012
- (it) => it.type === (relation.type === "one" ? "many" : "one") && it.tableTo === relation.tableTo
104925
+ const hasMultipleRelations = originArray.some(
104926
+ (it, originIndex) => relationIndex !== originIndex && it.tableTo === relation.tableTo
105013
104927
  );
105014
104928
  if (hasMultipleRelations) {
105015
104929
  relationName = relation.type === "one" ? `${relation.tableFrom}_${relation.columnFrom}_${relation.tableTo}_${relation.columnTo}` : `${relation.tableTo}_${relation.columnTo}_${relation.tableFrom}_${relation.columnFrom}`;
105016
104930
  }
105017
104931
  const hasDuplicatedRelation = originArray.some(
105018
- (it, originIndex) => it.name === relation.name && originIndex !== index4
104932
+ (it, originIndex) => relationIndex !== originIndex && it.name === relation.name
105019
104933
  );
105020
104934
  if (hasDuplicatedRelation) {
105021
104935
  name = `${relation.name}_${relation.type === "one" ? relation.columnFrom : relation.columnTo}`;
@@ -106373,6 +106287,7 @@ certs();
106373
106287
  init_cli();
106374
106288
  init_studio();
106375
106289
  init_views();
106290
+ var import_fs12 = require("fs");
106376
106291
  var printVersions = async () => {
106377
106292
  const v6 = await versions();
106378
106293
  console.log(`${source_default.gray(v6)}
@@ -106505,6 +106420,13 @@ var pullCommand = new import_commander.Command("introspect").option("--config <c
106505
106420
  tablesFilter,
106506
106421
  schemasFilter
106507
106422
  } = await preparePullConfig(options);
106423
+ (0, import_fs12.mkdirSync)(out, { recursive: true });
106424
+ console.log(
106425
+ grey(
106426
+ `Pulling from [${schemasFilter.map((it) => `'${it}'`).join(", ")}] list of schemas`
106427
+ )
106428
+ );
106429
+ console.log();
106508
106430
  try {
106509
106431
  if (dialect7 === "postgresql") {
106510
106432
  const { introspectPostgres: introspectPostgres2 } = await Promise.resolve().then(() => (init_introspect(), introspect_exports));
@@ -106633,8 +106555,8 @@ Drizzle Studio is up and running on ${source_default.blue(
106633
106555
  });
106634
106556
  } catch (e) {
106635
106557
  console.error(e);
106558
+ process.exit(0);
106636
106559
  }
106637
- process.exit(0);
106638
106560
  });
106639
106561
  var main = async () => {
106640
106562
  const version2 = await versions();
@@ -100,7 +100,7 @@ export declare const pullParams: import("zod").ZodObject<{
100
100
  authToken: import("zod").ZodOptional<import("zod").ZodString>;
101
101
  introspectCasing: import("zod").ZodDefault<import("zod").ZodUnion<[import("zod").ZodLiteral<"camel">, import("zod").ZodLiteral<"preserve">]>>;
102
102
  breakpoints: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
103
- }, "strip", import("zod").ZodTypeAny, {
103
+ }, "passthrough", import("zod").ZodTypeAny, {
104
104
  dialect?: "mysql" | "postgresql" | "sqlite" | undefined;
105
105
  url?: string | undefined;
106
106
  host?: string | undefined;
package/cli/views.d.ts CHANGED
@@ -4,6 +4,7 @@ import type { Named, NamedWithSchema } from "./commands/migrate";
4
4
  export declare const warning: (msg: string) => void;
5
5
  export declare const err: (msg: string) => void;
6
6
  export declare const info: (msg: string, greyMsg?: string) => string;
7
+ export declare const grey: (msg: string) => string;
7
8
  export declare const error: (error: string, greyMsg?: string) => string;
8
9
  export declare const schema: (schema: CommonSchema) => string;
9
10
  export interface RenamePropmtItem<T> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-kit",
3
- "version": "0.20.17-84934d2",
3
+ "version": "0.20.17-90c7298",
4
4
  "repository": "https://github.com/drizzle-team/drizzle-kit-mirror",
5
5
  "author": "Drizzle Team",
6
6
  "license": "MIT",
package/payload.js CHANGED
@@ -5550,7 +5550,7 @@ var init_cli = __esm({
5550
5550
  authToken: stringType().optional(),
5551
5551
  introspectCasing: casing,
5552
5552
  breakpoints: booleanType().optional().default(true)
5553
- });
5553
+ }).passthrough();
5554
5554
  configCheck = objectType({
5555
5555
  dialect: dialect3.optional(),
5556
5556
  out: stringType().optional()
@@ -19064,6 +19064,9 @@ String.prototype.squashSpaces = function() {
19064
19064
  String.prototype.camelCase = function() {
19065
19065
  return camelCase(String(this));
19066
19066
  };
19067
+ String.prototype.capitalise = function() {
19068
+ return this && this.length > 0 ? `${this[0].toUpperCase()}${this.slice(1)}` : String(this);
19069
+ };
19067
19070
  String.prototype.concatIf = function(it, condition) {
19068
19071
  return condition ? `${this}${it}` : String(this);
19069
19072
  };
package/payload.mjs CHANGED
@@ -5556,7 +5556,7 @@ var init_cli = __esm({
5556
5556
  authToken: stringType().optional(),
5557
5557
  introspectCasing: casing,
5558
5558
  breakpoints: booleanType().optional().default(true)
5559
- });
5559
+ }).passthrough();
5560
5560
  configCheck = objectType({
5561
5561
  dialect: dialect3.optional(),
5562
5562
  out: stringType().optional()
@@ -19073,6 +19073,9 @@ String.prototype.squashSpaces = function() {
19073
19073
  String.prototype.camelCase = function() {
19074
19074
  return camelCase(String(this));
19075
19075
  };
19076
+ String.prototype.capitalise = function() {
19077
+ return this && this.length > 0 ? `${this[0].toUpperCase()}${this.slice(1)}` : String(this);
19078
+ };
19076
19079
  String.prototype.concatIf = function(it, condition) {
19077
19080
  return condition ? `${this}${it}` : String(this);
19078
19081
  };
package/utils-studio.js CHANGED
@@ -5933,6 +5933,9 @@ String.prototype.squashSpaces = function() {
5933
5933
  String.prototype.camelCase = function() {
5934
5934
  return camelCase(String(this));
5935
5935
  };
5936
+ String.prototype.capitalise = function() {
5937
+ return this && this.length > 0 ? `${this[0].toUpperCase()}${this.slice(1)}` : String(this);
5938
+ };
5936
5939
  String.prototype.concatIf = function(it, condition) {
5937
5940
  return condition ? `${this}${it}` : String(this);
5938
5941
  };
package/utils-studio.mjs CHANGED
@@ -5969,6 +5969,9 @@ String.prototype.squashSpaces = function() {
5969
5969
  String.prototype.camelCase = function() {
5970
5970
  return camelCase(String(this));
5971
5971
  };
5972
+ String.prototype.capitalise = function() {
5973
+ return this && this.length > 0 ? `${this[0].toUpperCase()}${this.slice(1)}` : String(this);
5974
+ };
5972
5975
  String.prototype.concatIf = function(it, condition) {
5973
5976
  return condition ? `${this}${it}` : String(this);
5974
5977
  };