drizzle-kit 0.20.7-c9519c9 → 0.20.8-883376b

Sign up to get free protection for your applications and to get access to all the features.
package/utils.js CHANGED
@@ -11140,7 +11140,7 @@ var require_node2 = __commonJS({
11140
11140
  });
11141
11141
 
11142
11142
  // src/cli/commands/utils.ts
11143
- var import_hanji2, assertES5, safeRegister, configCommonSchema, introspectCasing, configIntrospectSchema, configIntrospectCliSchema, configGenerateSchema, configPushSchema, mysqlConnectionSchema, mySqlCliConfigSchema, mySqlIntrospectConfigSchema;
11143
+ var import_hanji2, assertES5, safeRegister, driver, configCommonSchema, introspectCasing, configIntrospectSchema, configIntrospectCliSchema, configGenerateSchema, configPushSchema, mysqlConnectionSchema, mySqlCliConfigSchema, mySqlIntrospectConfigSchema;
11144
11144
  var init_utils = __esm({
11145
11145
  "src/cli/commands/utils.ts"() {
11146
11146
  init_serializer();
@@ -11189,10 +11189,20 @@ var init_utils = __esm({
11189
11189
  await assertES5(res.unregister);
11190
11190
  return res;
11191
11191
  };
11192
+ driver = unionType([
11193
+ literalType("better-sqlite"),
11194
+ literalType("turso"),
11195
+ literalType("libsql"),
11196
+ literalType("d1"),
11197
+ literalType("expo"),
11198
+ literalType("pg"),
11199
+ literalType("mysql2")
11200
+ ]);
11192
11201
  configCommonSchema = objectType({
11193
11202
  schema: unionType([stringType(), stringType().array()]),
11194
11203
  out: stringType().optional(),
11195
11204
  breakpoints: booleanType().default(true),
11205
+ driver: driver.optional(),
11196
11206
  tablesFilter: unionType([stringType(), stringType().array()]).optional(),
11197
11207
  schemaFilter: unionType([stringType(), stringType().array()]).default(["public"])
11198
11208
  });
@@ -11888,10 +11898,9 @@ var pgSerializer_exports = {};
11888
11898
  __export(pgSerializer_exports, {
11889
11899
  fromDatabase: () => fromDatabase2,
11890
11900
  generatePgSnapshot: () => generatePgSnapshot,
11891
- indexName: () => indexName2,
11892
- toDrizzle: () => toDrizzle
11901
+ indexName: () => indexName2
11893
11902
  });
11894
- var import_pg_core2, import_pg_core3, import_drizzle_orm5, dialect4, indexName2, generatePgSnapshot, trimChar, fromDatabase2, columnToDefault, defaultForColumn, toDrizzle;
11903
+ var import_pg_core2, import_pg_core3, import_drizzle_orm5, dialect4, indexName2, generatePgSnapshot, trimChar, fromDatabase2, columnToDefault, defaultForColumn;
11895
11904
  var init_pgSerializer = __esm({
11896
11905
  "src/serializer/pgSerializer.ts"() {
11897
11906
  import_pg_core2 = require("drizzle-orm/pg-core");
@@ -12521,108 +12530,6 @@ ${withStyle.errorWarning(
12521
12530
  }
12522
12531
  }
12523
12532
  };
12524
- toDrizzle = (schema4, schemaName) => {
12525
- const tables = {};
12526
- Object.values(schema4.tables).forEach((t) => {
12527
- const columns = {};
12528
- Object.values(t.columns).forEach((c) => {
12529
- const columnName = c.name;
12530
- const type = c.type;
12531
- let columnBuilder;
12532
- if (type === "bigint") {
12533
- columnBuilder = new import_pg_core2.PgBigInt53Builder(columnName);
12534
- } else if (type === "bigserial") {
12535
- columnBuilder = new import_pg_core2.PgBigSerial53Builder(columnName);
12536
- } else if (type === "boolean") {
12537
- columnBuilder = new import_pg_core2.PgBooleanBuilder(columnName);
12538
- } else if (type === "cidr") {
12539
- columnBuilder = new import_pg_core2.PgCidrBuilder(columnName);
12540
- } else if (type === "date") {
12541
- columnBuilder = new import_pg_core2.PgDateBuilder(columnName);
12542
- } else if (type === "double precision") {
12543
- columnBuilder = new import_pg_core2.PgDoublePrecisionBuilder(columnName);
12544
- } else if (type === "inet") {
12545
- columnBuilder = new import_pg_core2.PgInetBuilder(columnName);
12546
- } else if (type === "integer") {
12547
- columnBuilder = new import_pg_core2.PgIntegerBuilder(columnName);
12548
- } else if (type === "interval" || type.startsWith("interval ")) {
12549
- columnBuilder = new import_pg_core2.PgIntervalBuilder(columnName, {});
12550
- } else if (type === "json") {
12551
- columnBuilder = new import_pg_core2.PgJsonBuilder(columnName);
12552
- } else if (type === "jsonb") {
12553
- columnBuilder = new import_pg_core2.PgJsonbBuilder(columnName);
12554
- } else if (type === "macaddr") {
12555
- columnBuilder = new import_pg_core2.PgMacaddrBuilder(columnName);
12556
- } else if (type === "macaddr8") {
12557
- columnBuilder = new import_pg_core2.PgMacaddr8Builder(columnName);
12558
- } else if (type === "numeric" || type.startsWith("numeric(")) {
12559
- columnBuilder = new import_pg_core2.PgNumericBuilder(columnName);
12560
- } else if (type === "real") {
12561
- columnBuilder = new import_pg_core2.PgRealBuilder(columnName);
12562
- } else if (type === "serial") {
12563
- columnBuilder = new import_pg_core2.PgSerialBuilder(columnName);
12564
- } else if (type === "smallint") {
12565
- columnBuilder = new import_pg_core2.PgSmallIntBuilder(columnName);
12566
- } else if (type === "smallserial") {
12567
- columnBuilder = new import_pg_core2.PgSmallSerialBuilder(columnName);
12568
- } else if (type === "text") {
12569
- columnBuilder = new import_pg_core2.PgTextBuilder(columnName, {});
12570
- } else if (type === "time" || type.startsWith("time(") || type === "time with time zone") {
12571
- columnBuilder = new import_pg_core2.PgTimeBuilder(columnName, false, void 0);
12572
- } else if (type === "timestamp" || type.startsWith("timestamp(") || type === "timestamp with time zone") {
12573
- columnBuilder = new import_pg_core2.PgTimestampBuilder(columnName, false, void 0);
12574
- } else if (type === "uuid") {
12575
- columnBuilder = new import_pg_core2.PgUUIDBuilder(columnName);
12576
- } else if (type === "varchar" || type.startsWith("varchar(")) {
12577
- columnBuilder = new import_pg_core2.PgVarcharBuilder(columnName, {});
12578
- } else if (type === "char" || type.startsWith("char(")) {
12579
- columnBuilder = new import_pg_core2.PgCharBuilder(columnName, {});
12580
- } else {
12581
- columnBuilder = (0, import_pg_core2.customType)({
12582
- dataType() {
12583
- return type;
12584
- }
12585
- })(columnName);
12586
- }
12587
- if (c.notNull) {
12588
- columnBuilder = columnBuilder.notNull();
12589
- }
12590
- if (c.default) {
12591
- columnBuilder = columnBuilder.default(c.default);
12592
- }
12593
- if (c.primaryKey) {
12594
- columnBuilder = columnBuilder.primaryKey();
12595
- }
12596
- columns[columnName] = columnBuilder;
12597
- });
12598
- if (schemaName === "public") {
12599
- tables[t.name] = (0, import_pg_core2.pgTable)(t.name, columns, (cb) => {
12600
- const res = {};
12601
- Object.values(t.compositePrimaryKeys).forEach((cpk) => {
12602
- const gh = cpk.columns.map((c) => cb[c]);
12603
- res[cpk.name] = new import_pg_core2.PrimaryKeyBuilder(
12604
- gh,
12605
- cpk.name
12606
- );
12607
- });
12608
- return res;
12609
- });
12610
- } else {
12611
- tables[t.name] = (0, import_pg_core2.pgSchema)(schemaName).table(t.name, columns, (cb) => {
12612
- const res = {};
12613
- Object.values(t.compositePrimaryKeys).forEach((cpk) => {
12614
- const gh = cpk.columns.map((c) => cb[c]);
12615
- res[cpk.name] = new import_pg_core2.PrimaryKeyBuilder(
12616
- gh,
12617
- cpk.name
12618
- );
12619
- });
12620
- return res;
12621
- });
12622
- }
12623
- });
12624
- return tables;
12625
- };
12626
12533
  }
12627
12534
  });
12628
12535
 
@@ -12661,8 +12568,7 @@ var init_sqliteImports = __esm({
12661
12568
  var sqliteSerializer_exports = {};
12662
12569
  __export(sqliteSerializer_exports, {
12663
12570
  fromDatabase: () => fromDatabase3,
12664
- generateSqliteSnapshot: () => generateSqliteSnapshot,
12665
- toDrizzle: () => toDrizzle2
12571
+ generateSqliteSnapshot: () => generateSqliteSnapshot
12666
12572
  });
12667
12573
  function mapSqlToSqliteType(sqlType) {
12668
12574
  if ([
@@ -12699,7 +12605,7 @@ function mapSqlToSqliteType(sqlType) {
12699
12605
  return "numeric";
12700
12606
  }
12701
12607
  }
12702
- var import_drizzle_orm7, import_sqlite_core2, dialect5, generateSqliteSnapshot, fromDatabase3, toDrizzle2;
12608
+ var import_drizzle_orm7, import_sqlite_core2, dialect5, generateSqliteSnapshot, fromDatabase3;
12703
12609
  var init_sqliteSerializer = __esm({
12704
12610
  "src/serializer/sqliteSerializer.ts"() {
12705
12611
  import_drizzle_orm7 = require("drizzle-orm");
@@ -13067,50 +12973,6 @@ WHERE
13067
12973
  }
13068
12974
  };
13069
12975
  };
13070
- toDrizzle2 = (schema4) => {
13071
- const tables = {};
13072
- Object.values(schema4.tables).forEach((t) => {
13073
- const columns = {};
13074
- Object.values(t.columns).forEach((c) => {
13075
- const columnName = c.name;
13076
- const type = c.type;
13077
- let columnBuilder;
13078
- if (type === "integer") {
13079
- columnBuilder = new import_sqlite_core2.SQLiteIntegerBuilder(columnName);
13080
- } else if (type === "text") {
13081
- columnBuilder = new import_sqlite_core2.SQLiteTextBuilder(columnName, {});
13082
- } else if (type === "blob") {
13083
- columnBuilder = new import_sqlite_core2.SQLiteBlobBufferBuilder(columnName);
13084
- } else if (type === "real") {
13085
- columnBuilder = new import_sqlite_core2.SQLiteRealBuilder(columnName);
13086
- } else {
13087
- columnBuilder = new import_sqlite_core2.SQLiteNumericBuilder(columnName);
13088
- }
13089
- if (c.notNull) {
13090
- columnBuilder = columnBuilder.notNull();
13091
- }
13092
- if (c.default) {
13093
- columnBuilder = columnBuilder.default(c.default);
13094
- }
13095
- if (c.primaryKey) {
13096
- columnBuilder = columnBuilder.primaryKey();
13097
- }
13098
- columns[columnName] = columnBuilder;
13099
- });
13100
- tables[t.name] = (0, import_sqlite_core2.sqliteTable)(t.name, columns, (cb) => {
13101
- const res = {};
13102
- Object.values(t.compositePrimaryKeys).forEach((cpk) => {
13103
- const gh = cpk.columns.map((c) => cb[c]);
13104
- res[cpk.name] = new import_sqlite_core2.PrimaryKeyBuilder(
13105
- gh,
13106
- cpk.name
13107
- );
13108
- });
13109
- return res;
13110
- });
13111
- });
13112
- return tables;
13113
- };
13114
12976
  }
13115
12977
  });
13116
12978
 
@@ -14622,6 +14484,7 @@ var init_words = __esm({
14622
14484
  var migrate_exports = {};
14623
14485
  __export(migrate_exports, {
14624
14486
  BREAKPOINT: () => BREAKPOINT,
14487
+ embeddedMigrations: () => embeddedMigrations,
14625
14488
  prepareAndMigrateMySql: () => prepareAndMigrateMySql,
14626
14489
  prepareAndMigratePg: () => prepareAndMigratePg,
14627
14490
  prepareAndMigrateSqlite: () => prepareAndMigrateSqlite,
@@ -14632,7 +14495,7 @@ __export(migrate_exports, {
14632
14495
  prepareSnapshotFolderName: () => prepareSnapshotFolderName,
14633
14496
  writeResult: () => writeResult
14634
14497
  });
14635
- var import_fs3, import_path2, import_hanji3, prepareAndMigratePg, prepareMySQLPush, prepareSQLitePush, preparePgPush, prepareAndMigrateMySql, prepareAndMigrateSqlite, prepareSQL, promptColumnsConflicts, promptTablesConflict, promptSchemasConflict, BREAKPOINT, writeResult, prepareSnapshotFolderName, two;
14498
+ var import_fs3, import_path2, import_hanji3, prepareAndMigratePg, prepareMySQLPush, prepareSQLitePush, preparePgPush, prepareAndMigrateMySql, prepareAndMigrateSqlite, prepareSQL, promptColumnsConflicts, promptTablesConflict, promptSchemasConflict, BREAKPOINT, writeResult, embeddedMigrations, prepareSnapshotFolderName, two;
14636
14499
  var init_migrate = __esm({
14637
14500
  "src/cli/commands/migrate.ts"() {
14638
14501
  import_fs3 = __toESM(require("fs"));
@@ -14661,19 +14524,14 @@ var init_migrate = __esm({
14661
14524
  const validatedPrev = pgSchema.parse(prev);
14662
14525
  const validatedCur = pgSchema.parse(cur);
14663
14526
  if (config.custom) {
14664
- writeResult(
14665
- custom,
14666
- [],
14527
+ writeResult({
14528
+ cur: custom,
14529
+ sqlStatements: [],
14667
14530
  journal,
14668
- {
14669
- columns: {},
14670
- schemas: {},
14671
- tables: {}
14672
- },
14673
14531
  outFolder,
14674
- config.breakpoints,
14675
- "custom"
14676
- );
14532
+ breakpoints: config.breakpoints,
14533
+ type: "custom"
14534
+ });
14677
14535
  return;
14678
14536
  }
14679
14537
  const squashedPrev = squashPgScheme(validatedPrev);
@@ -14685,14 +14543,13 @@ var init_migrate = __esm({
14685
14543
  validatedPrev,
14686
14544
  validatedCur
14687
14545
  );
14688
- writeResult(
14546
+ writeResult({
14689
14547
  cur,
14690
14548
  sqlStatements,
14691
14549
  journal,
14692
- _meta,
14693
14550
  outFolder,
14694
- config.breakpoints
14695
- );
14551
+ breakpoints: config.breakpoints
14552
+ });
14696
14553
  } catch (e) {
14697
14554
  console.error(e);
14698
14555
  }
@@ -14786,19 +14643,14 @@ var init_migrate = __esm({
14786
14643
  const validatedPrev = mysqlSchema.parse(prev);
14787
14644
  const validatedCur = mysqlSchema.parse(cur);
14788
14645
  if (config.custom) {
14789
- writeResult(
14790
- custom,
14791
- [],
14646
+ writeResult({
14647
+ cur: custom,
14648
+ sqlStatements: [],
14792
14649
  journal,
14793
- {
14794
- columns: {},
14795
- schemas: {},
14796
- tables: {}
14797
- },
14798
14650
  outFolder,
14799
- config.breakpoints,
14800
- "custom"
14801
- );
14651
+ breakpoints: config.breakpoints,
14652
+ type: "custom"
14653
+ });
14802
14654
  return;
14803
14655
  }
14804
14656
  const squashedPrev = squashMysqlScheme(validatedPrev);
@@ -14810,14 +14662,14 @@ var init_migrate = __esm({
14810
14662
  validatedPrev,
14811
14663
  validatedCur
14812
14664
  );
14813
- writeResult(
14665
+ writeResult({
14814
14666
  cur,
14815
14667
  sqlStatements,
14816
14668
  journal,
14817
14669
  _meta,
14818
14670
  outFolder,
14819
- config.breakpoints
14820
- );
14671
+ breakpoints: config.breakpoints
14672
+ });
14821
14673
  } catch (e) {
14822
14674
  console.error(e);
14823
14675
  }
@@ -14835,19 +14687,15 @@ var init_migrate = __esm({
14835
14687
  const validatedPrev = sqliteSchema.parse(prev);
14836
14688
  const validatedCur = sqliteSchema.parse(cur);
14837
14689
  if (config.custom) {
14838
- writeResult(
14839
- custom,
14840
- [],
14690
+ writeResult({
14691
+ cur: custom,
14692
+ sqlStatements: [],
14841
14693
  journal,
14842
- {
14843
- columns: {},
14844
- schemas: {},
14845
- tables: {}
14846
- },
14847
14694
  outFolder,
14848
- config.breakpoints,
14849
- "custom"
14850
- );
14695
+ breakpoints: config.breakpoints,
14696
+ bundle: config.bundle,
14697
+ type: "custom"
14698
+ });
14851
14699
  return;
14852
14700
  }
14853
14701
  const squashedPrev = squashSqliteScheme(validatedPrev);
@@ -14857,14 +14705,15 @@ var init_migrate = __esm({
14857
14705
  squashedCur,
14858
14706
  "sqlite"
14859
14707
  );
14860
- writeResult(
14708
+ writeResult({
14861
14709
  cur,
14862
14710
  sqlStatements,
14863
14711
  journal,
14864
14712
  _meta,
14865
14713
  outFolder,
14866
- config.breakpoints
14867
- );
14714
+ breakpoints: config.breakpoints,
14715
+ bundle: config.bundle
14716
+ });
14868
14717
  } catch (e) {
14869
14718
  console.error(e);
14870
14719
  }
@@ -15052,7 +14901,20 @@ var init_migrate = __esm({
15052
14901
  return result;
15053
14902
  };
15054
14903
  BREAKPOINT = "--> statement-breakpoint\n";
15055
- writeResult = (cur, sqlStatements, journal, _meta, outFolder, breakpoints, type = "none") => {
14904
+ writeResult = ({
14905
+ cur,
14906
+ sqlStatements,
14907
+ journal,
14908
+ _meta = {
14909
+ columns: {},
14910
+ schemas: {},
14911
+ tables: {}
14912
+ },
14913
+ outFolder,
14914
+ breakpoints,
14915
+ bundle = false,
14916
+ type = "none"
14917
+ }) => {
15056
14918
  if (type === "none") {
15057
14919
  console.log(schema(cur));
15058
14920
  if (sqlStatements.length === 0) {
@@ -15093,6 +14955,10 @@ ${sql2}
15093
14955
  });
15094
14956
  import_fs3.default.writeFileSync(metaJournal, JSON.stringify(journal, null, 2));
15095
14957
  import_fs3.default.writeFileSync(`${outFolder}/${tag}.sql`, sql2);
14958
+ if (bundle) {
14959
+ const js = embeddedMigrations(journal);
14960
+ import_fs3.default.writeFileSync(`${outFolder}/migrations.js`, js);
14961
+ }
15096
14962
  (0, import_hanji3.render)(
15097
14963
  `[${source_default.green(
15098
14964
  "\u2713"
@@ -15101,6 +14967,23 @@ ${sql2}
15101
14967
  )} \u{1F680}`
15102
14968
  );
15103
14969
  };
14970
+ embeddedMigrations = (journal) => {
14971
+ let content = "// This file is required for Expo/React Native SQLite migrations - https://orm.drizzle.team/quick-sqlite/expo\n\n";
14972
+ content += "import journal from './meta/_journal.json';\n";
14973
+ journal.entries.forEach((entry) => {
14974
+ content += `import m${entry.idx.toString().padStart(4, "0")} from './${entry.tag}.sql';
14975
+ `;
14976
+ });
14977
+ content += `
14978
+ export default {
14979
+ journal,
14980
+ migrations: {
14981
+ ${journal.entries.map((it) => `m${it.idx.toString().padStart(4, "0")}`).join(",\n")}
14982
+ }
14983
+ }
14984
+ `;
14985
+ return content;
14986
+ };
15104
14987
  prepareSnapshotFolderName = () => {
15105
14988
  const now = /* @__PURE__ */ new Date();
15106
14989
  return `${now.getFullYear()}${two(now.getUTCMonth() + 1)}${two(
@@ -24877,6 +24760,161 @@ var init_sqliteIntrospect = __esm({
24877
24760
  }
24878
24761
  });
24879
24762
 
24763
+ // src/serializer/schemaToDrizzle.ts
24764
+ var import_pg_core4, import_sqlite_core3, pgSchemaToDrizzle, sqliteSchemaToDrizzle;
24765
+ var init_schemaToDrizzle = __esm({
24766
+ "src/serializer/schemaToDrizzle.ts"() {
24767
+ import_pg_core4 = require("drizzle-orm/pg-core");
24768
+ import_sqlite_core3 = require("drizzle-orm/sqlite-core");
24769
+ pgSchemaToDrizzle = (schema4, schemaName) => {
24770
+ const tables = {};
24771
+ Object.values(schema4.tables).forEach((t) => {
24772
+ const columns = {};
24773
+ Object.values(t.columns).forEach((c) => {
24774
+ const columnName = c.name;
24775
+ const type = c.type;
24776
+ let columnBuilder;
24777
+ if (type === "bigint") {
24778
+ columnBuilder = new import_pg_core4.PgBigInt53Builder(columnName);
24779
+ } else if (type === "bigserial") {
24780
+ columnBuilder = new import_pg_core4.PgBigSerial53Builder(columnName);
24781
+ } else if (type === "boolean") {
24782
+ columnBuilder = new import_pg_core4.PgBooleanBuilder(columnName);
24783
+ } else if (type === "cidr") {
24784
+ columnBuilder = new import_pg_core4.PgCidrBuilder(columnName);
24785
+ } else if (type === "date") {
24786
+ columnBuilder = new import_pg_core4.PgDateBuilder(columnName);
24787
+ } else if (type === "double precision") {
24788
+ columnBuilder = new import_pg_core4.PgDoublePrecisionBuilder(columnName);
24789
+ } else if (type === "inet") {
24790
+ columnBuilder = new import_pg_core4.PgInetBuilder(columnName);
24791
+ } else if (type === "integer") {
24792
+ columnBuilder = new import_pg_core4.PgIntegerBuilder(columnName);
24793
+ } else if (type === "interval" || type.startsWith("interval ")) {
24794
+ columnBuilder = new import_pg_core4.PgIntervalBuilder(columnName, {});
24795
+ } else if (type === "json") {
24796
+ columnBuilder = new import_pg_core4.PgJsonBuilder(columnName);
24797
+ } else if (type === "jsonb") {
24798
+ columnBuilder = new import_pg_core4.PgJsonbBuilder(columnName);
24799
+ } else if (type === "macaddr") {
24800
+ columnBuilder = new import_pg_core4.PgMacaddrBuilder(columnName);
24801
+ } else if (type === "macaddr8") {
24802
+ columnBuilder = new import_pg_core4.PgMacaddr8Builder(columnName);
24803
+ } else if (type === "numeric" || type.startsWith("numeric(")) {
24804
+ columnBuilder = new import_pg_core4.PgNumericBuilder(columnName);
24805
+ } else if (type === "real") {
24806
+ columnBuilder = new import_pg_core4.PgRealBuilder(columnName);
24807
+ } else if (type === "serial") {
24808
+ columnBuilder = new import_pg_core4.PgSerialBuilder(columnName);
24809
+ } else if (type === "smallint") {
24810
+ columnBuilder = new import_pg_core4.PgSmallIntBuilder(columnName);
24811
+ } else if (type === "smallserial") {
24812
+ columnBuilder = new import_pg_core4.PgSmallSerialBuilder(columnName);
24813
+ } else if (type === "text") {
24814
+ columnBuilder = new import_pg_core4.PgTextBuilder(columnName, {});
24815
+ } else if (type === "time" || type.startsWith("time(") || type === "time with time zone") {
24816
+ columnBuilder = new import_pg_core4.PgTimeBuilder(columnName, false, void 0);
24817
+ } else if (type === "timestamp" || type.startsWith("timestamp(") || type === "timestamp with time zone") {
24818
+ columnBuilder = new import_pg_core4.PgTimestampBuilder(columnName, false, void 0);
24819
+ } else if (type === "uuid") {
24820
+ columnBuilder = new import_pg_core4.PgUUIDBuilder(columnName);
24821
+ } else if (type === "varchar" || type.startsWith("varchar(")) {
24822
+ columnBuilder = new import_pg_core4.PgVarcharBuilder(columnName, {});
24823
+ } else if (type === "char" || type.startsWith("char(")) {
24824
+ columnBuilder = new import_pg_core4.PgCharBuilder(columnName, {});
24825
+ } else {
24826
+ columnBuilder = (0, import_pg_core4.customType)({
24827
+ dataType() {
24828
+ return type;
24829
+ }
24830
+ })(columnName);
24831
+ }
24832
+ if (c.notNull) {
24833
+ columnBuilder = columnBuilder.notNull();
24834
+ }
24835
+ if (c.default) {
24836
+ columnBuilder = columnBuilder.default(c.default);
24837
+ }
24838
+ if (c.primaryKey) {
24839
+ columnBuilder = columnBuilder.primaryKey();
24840
+ }
24841
+ columns[columnName] = columnBuilder;
24842
+ });
24843
+ if (schemaName === "public") {
24844
+ tables[t.name] = (0, import_pg_core4.pgTable)(t.name, columns, (cb) => {
24845
+ const res = {};
24846
+ Object.values(t.compositePrimaryKeys).forEach((cpk) => {
24847
+ const gh = cpk.columns.map((c) => cb[c]);
24848
+ res[cpk.name] = new import_pg_core4.PrimaryKeyBuilder(
24849
+ gh,
24850
+ cpk.name
24851
+ );
24852
+ });
24853
+ return res;
24854
+ });
24855
+ } else {
24856
+ tables[t.name] = (0, import_pg_core4.pgSchema)(schemaName).table(t.name, columns, (cb) => {
24857
+ const res = {};
24858
+ Object.values(t.compositePrimaryKeys).forEach((cpk) => {
24859
+ const gh = cpk.columns.map((c) => cb[c]);
24860
+ res[cpk.name] = new import_pg_core4.PrimaryKeyBuilder(
24861
+ gh,
24862
+ cpk.name
24863
+ );
24864
+ });
24865
+ return res;
24866
+ });
24867
+ }
24868
+ });
24869
+ return tables;
24870
+ };
24871
+ sqliteSchemaToDrizzle = (schema4) => {
24872
+ const tables = {};
24873
+ Object.values(schema4.tables).forEach((t) => {
24874
+ const columns = {};
24875
+ Object.values(t.columns).forEach((c) => {
24876
+ const columnName = c.name;
24877
+ const type = c.type;
24878
+ let columnBuilder;
24879
+ if (type === "integer") {
24880
+ columnBuilder = new import_sqlite_core3.SQLiteIntegerBuilder(columnName);
24881
+ } else if (type === "text") {
24882
+ columnBuilder = new import_sqlite_core3.SQLiteTextBuilder(columnName, {});
24883
+ } else if (type === "blob") {
24884
+ columnBuilder = new import_sqlite_core3.SQLiteBlobBufferBuilder(columnName);
24885
+ } else if (type === "real") {
24886
+ columnBuilder = new import_sqlite_core3.SQLiteRealBuilder(columnName);
24887
+ } else {
24888
+ columnBuilder = new import_sqlite_core3.SQLiteNumericBuilder(columnName);
24889
+ }
24890
+ if (c.notNull) {
24891
+ columnBuilder = columnBuilder.notNull();
24892
+ }
24893
+ if (c.default) {
24894
+ columnBuilder = columnBuilder.default(c.default);
24895
+ }
24896
+ if (c.primaryKey) {
24897
+ columnBuilder = columnBuilder.primaryKey();
24898
+ }
24899
+ columns[columnName] = columnBuilder;
24900
+ });
24901
+ tables[t.name] = (0, import_sqlite_core3.sqliteTable)(t.name, columns, (cb) => {
24902
+ const res = {};
24903
+ Object.values(t.compositePrimaryKeys).forEach((cpk) => {
24904
+ const gh = cpk.columns.map((c) => cb[c]);
24905
+ res[cpk.name] = new import_sqlite_core3.PrimaryKeyBuilder(
24906
+ gh,
24907
+ cpk.name
24908
+ );
24909
+ });
24910
+ return res;
24911
+ });
24912
+ });
24913
+ return tables;
24914
+ };
24915
+ }
24916
+ });
24917
+
24880
24918
  // node_modules/.pnpm/semver@7.5.4/node_modules/semver/internal/constants.js
24881
24919
  var require_constants = __commonJS({
24882
24920
  "node_modules/.pnpm/semver@7.5.4/node_modules/semver/internal/constants.js"(exports, module2) {
@@ -43220,15 +43258,15 @@ var require_promise = __commonJS({
43220
43258
  });
43221
43259
 
43222
43260
  // src/orm-extenstions/d1-driver/session.ts
43223
- var import_drizzle_orm10, import_drizzle_orm11, import_drizzle_orm12, import_sqlite_core3, import_drizzle_orm13, _a, SQLiteWranglerD1Session, _a2, PreparedQuery;
43261
+ var import_drizzle_orm10, import_drizzle_orm11, import_drizzle_orm12, import_sqlite_core4, import_drizzle_orm13, _a, SQLiteWranglerD1Session, _a2, PreparedQuery;
43224
43262
  var init_session = __esm({
43225
43263
  "src/orm-extenstions/d1-driver/session.ts"() {
43226
43264
  import_drizzle_orm10 = require("drizzle-orm");
43227
43265
  import_drizzle_orm11 = require("drizzle-orm");
43228
43266
  import_drizzle_orm12 = require("drizzle-orm");
43229
- import_sqlite_core3 = require("drizzle-orm/sqlite-core");
43267
+ import_sqlite_core4 = require("drizzle-orm/sqlite-core");
43230
43268
  import_drizzle_orm13 = require("drizzle-orm");
43231
- SQLiteWranglerD1Session = class extends import_sqlite_core3.SQLiteSession {
43269
+ SQLiteWranglerD1Session = class extends import_sqlite_core4.SQLiteSession {
43232
43270
  constructor(client, configPath, dbName, dialect6, schema4, options = {}) {
43233
43271
  super(dialect6);
43234
43272
  this.client = client;
@@ -43257,7 +43295,7 @@ var init_session = __esm({
43257
43295
  };
43258
43296
  _a = import_drizzle_orm10.entityKind;
43259
43297
  SQLiteWranglerD1Session[_a] = "SQLiteD1Session";
43260
- PreparedQuery = class extends import_sqlite_core3.SQLitePreparedQuery {
43298
+ PreparedQuery = class extends import_sqlite_core4.SQLitePreparedQuery {
43261
43299
  constructor(stmt, configPath, dbName, queryString, params, logger, fields, executeMethod, customResultMapper) {
43262
43300
  super("async", executeMethod, {
43263
43301
  sql: queryString,
@@ -43382,20 +43420,20 @@ function drizzle(client, configPath, dbName, config = {}) {
43382
43420
  const session = new SQLiteWranglerD1Session(client, configPath, dbName, dialect6, schema4, {
43383
43421
  logger
43384
43422
  });
43385
- return new import_sqlite_core4.BaseSQLiteDatabase(
43423
+ return new import_sqlite_core5.BaseSQLiteDatabase(
43386
43424
  "async",
43387
43425
  dialect6,
43388
43426
  session,
43389
43427
  schema4
43390
43428
  );
43391
43429
  }
43392
- var import_drizzle_orm14, import_sqlite_core4, WranglerDialect;
43430
+ var import_drizzle_orm14, import_sqlite_core5, WranglerDialect;
43393
43431
  var init_driver = __esm({
43394
43432
  "src/orm-extenstions/d1-driver/driver.ts"() {
43395
43433
  import_drizzle_orm14 = require("drizzle-orm");
43396
- import_sqlite_core4 = require("drizzle-orm/sqlite-core");
43434
+ import_sqlite_core5 = require("drizzle-orm/sqlite-core");
43397
43435
  init_session();
43398
- WranglerDialect = class extends import_sqlite_core4.SQLiteAsyncDialect {
43436
+ WranglerDialect = class extends import_sqlite_core5.SQLiteAsyncDialect {
43399
43437
  sqlToQuery(sql2) {
43400
43438
  return sql2.toQuery({
43401
43439
  escapeName: this.escapeName,
@@ -58711,13 +58749,13 @@ var init_wrangler_client = __esm({
58711
58749
  });
58712
58750
 
58713
58751
  // src/serializer/studioUtils.ts
58714
- var import_drizzle_orm15, import_mysql_core4, import_pg_core4, import_sqlite_core5, drizzleDb;
58752
+ var import_drizzle_orm15, import_mysql_core4, import_pg_core5, import_sqlite_core6, drizzleDb;
58715
58753
  var init_studioUtils = __esm({
58716
58754
  "src/serializer/studioUtils.ts"() {
58717
58755
  import_drizzle_orm15 = require("drizzle-orm");
58718
58756
  import_mysql_core4 = require("drizzle-orm/mysql-core");
58719
- import_pg_core4 = require("drizzle-orm/pg-core");
58720
- import_sqlite_core5 = require("drizzle-orm/sqlite-core");
58757
+ import_pg_core5 = require("drizzle-orm/pg-core");
58758
+ import_sqlite_core6 = require("drizzle-orm/sqlite-core");
58721
58759
  init_utils();
58722
58760
  init_utils3();
58723
58761
  init_global();
@@ -58826,8 +58864,7 @@ var init_utils5 = __esm({
58826
58864
  init_pgIntrospect();
58827
58865
  init_pgPushUtils();
58828
58866
  init_sqliteIntrospect();
58829
- init_sqliteSerializer();
58830
- init_pgSerializer();
58867
+ init_schemaToDrizzle();
58831
58868
  init_studioUtils();
58832
58869
  init_pgConnect();
58833
58870
  assertV1OutFolder = (out, dialect6) => {
@@ -59146,7 +59183,7 @@ var init_utils5 = __esm({
59146
59183
  preparedConnection.client,
59147
59184
  []
59148
59185
  );
59149
- const models = toDrizzle2(schema4);
59186
+ const models = sqliteSchemaToDrizzle(schema4);
59150
59187
  const drizzleDbInstance = await drizzleDb(
59151
59188
  connection,
59152
59189
  { sqliteSchema: models },
@@ -59171,7 +59208,7 @@ var init_utils5 = __esm({
59171
59208
  [],
59172
59209
  [schemaName]
59173
59210
  );
59174
- const models = toDrizzle(schema4, schemaName);
59211
+ const models = pgSchemaToDrizzle(schema4, schemaName);
59175
59212
  response[schemaName] = await drizzleDb(
59176
59213
  // @ts-ignore I don't know how to fix it yet. But will find a way
59177
59214
  connection,