drizzle-kit 0.12.17 → 0.13.0

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.
Files changed (2) hide show
  1. package/index.js +137 -147
  2. package/package.json +14 -14
package/index.js CHANGED
@@ -2523,9 +2523,9 @@ var require_src = __commonJS({
2523
2523
  }
2524
2524
  });
2525
2525
 
2526
- // node_modules/.pnpm/esbuild-register@3.4.1_esbuild@0.15.15/node_modules/esbuild-register/dist/node.js
2526
+ // node_modules/.pnpm/esbuild-register@3.4.1_esbuild@0.15.18/node_modules/esbuild-register/dist/node.js
2527
2527
  var require_node2 = __commonJS({
2528
- "node_modules/.pnpm/esbuild-register@3.4.1_esbuild@0.15.15/node_modules/esbuild-register/dist/node.js"(exports) {
2528
+ "node_modules/.pnpm/esbuild-register@3.4.1_esbuild@0.15.18/node_modules/esbuild-register/dist/node.js"(exports) {
2529
2529
  "use strict";
2530
2530
  Object.defineProperty(exports, "__esModule", { value: true });
2531
2531
  function _interopRequireDefault2(obj) {
@@ -7379,12 +7379,14 @@ var pgSerializer_exports = {};
7379
7379
  __export(pgSerializer_exports, {
7380
7380
  generatePgSnapshot: () => generatePgSnapshot
7381
7381
  });
7382
- var import_utils, import_sql, import_table, generatePgSnapshot;
7382
+ var import_drizzle_orm_pg2, import_utils, import_sql, import_table, dialect4, generatePgSnapshot;
7383
7383
  var init_pgSerializer = __esm({
7384
7384
  "src/serializer/pgSerializer.ts"() {
7385
+ import_drizzle_orm_pg2 = require("drizzle-orm-pg");
7385
7386
  import_utils = require("drizzle-orm-pg/utils");
7386
7387
  import_sql = require("drizzle-orm/sql");
7387
7388
  import_table = require("drizzle-orm/table");
7389
+ dialect4 = new import_drizzle_orm_pg2.PgDialect();
7388
7390
  generatePgSnapshot = (tables, enums) => {
7389
7391
  const result = {};
7390
7392
  for (const table4 of tables) {
@@ -7439,9 +7441,15 @@ var init_pgSerializer = __esm({
7439
7441
  });
7440
7442
  (0, import_utils.getTableIndexes)(table4).forEach((value) => {
7441
7443
  var _a;
7442
- const columns = value.columns;
7443
- const name = value.name;
7444
- let indexColumns = columns.map((it) => it.name);
7444
+ const columns = value.config.columns;
7445
+ const name = value.config.name;
7446
+ let indexColumns = columns.map((it) => {
7447
+ if (it instanceof import_sql.SQL) {
7448
+ return dialect4.sqlToQuery(it).sql;
7449
+ } else {
7450
+ return it.name;
7451
+ }
7452
+ });
7445
7453
  indexesObject[name] = {
7446
7454
  name,
7447
7455
  columns: indexColumns,
@@ -7500,14 +7508,14 @@ var sqliteSerializer_exports = {};
7500
7508
  __export(sqliteSerializer_exports, {
7501
7509
  generateSqliteSnapshot: () => generateSqliteSnapshot
7502
7510
  });
7503
- var import_table2, import_sql2, import_drizzle_orm_sqlite2, import_utils2, dialect4, generateSqliteSnapshot;
7511
+ var import_table2, import_sql2, import_drizzle_orm_sqlite2, import_utils2, dialect5, generateSqliteSnapshot;
7504
7512
  var init_sqliteSerializer = __esm({
7505
7513
  "src/serializer/sqliteSerializer.ts"() {
7506
7514
  import_table2 = require("drizzle-orm/table");
7507
7515
  import_sql2 = require("drizzle-orm/sql");
7508
7516
  import_drizzle_orm_sqlite2 = require("drizzle-orm-sqlite");
7509
7517
  import_utils2 = require("drizzle-orm-sqlite/utils");
7510
- dialect4 = new import_drizzle_orm_sqlite2.SQLiteSyncDialect();
7518
+ dialect5 = new import_drizzle_orm_sqlite2.SQLiteSyncDialect();
7511
7519
  generateSqliteSnapshot = (tables, enums) => {
7512
7520
  const result = {};
7513
7521
  for (const table4 of tables) {
@@ -7570,7 +7578,7 @@ var init_sqliteSerializer = __esm({
7570
7578
  const name = value.config.name;
7571
7579
  let indexColumns = columns.map((it) => {
7572
7580
  if (it instanceof import_sql2.SQL) {
7573
- return dialect4.sqlToQuery(it).sql;
7581
+ return dialect5.sqlToQuery(it).sql;
7574
7582
  } else {
7575
7583
  return it.name;
7576
7584
  }
@@ -7578,7 +7586,7 @@ var init_sqliteSerializer = __esm({
7578
7586
  let where = void 0;
7579
7587
  if (value.config.where !== void 0) {
7580
7588
  if (value.config.where instanceof import_sql2.SQL) {
7581
- where = dialect4.sqlToQuery(value.config.where).sql;
7589
+ where = dialect5.sqlToQuery(value.config.where).sql;
7582
7590
  }
7583
7591
  }
7584
7592
  indexesObject[name] = {
@@ -17327,23 +17335,23 @@ var import_crypto = require("crypto");
17327
17335
  var import_fs = __toESM(require("fs"));
17328
17336
  var import_node = __toESM(require_node2());
17329
17337
  var import_path = __toESM(require("path"));
17330
- var serialize = (path3, dialect5) => {
17338
+ var serialize = (path3, dialect6) => {
17331
17339
  const fileName = import_fs.default.lstatSync(path3).isDirectory() ? null : import_path.default.resolve(path3);
17332
17340
  const filenames = fileName ? [fileName] : import_fs.default.readdirSync(path3).map((it) => import_path.default.join(import_path.default.resolve(path3), it));
17333
17341
  const { unregister } = (0, import_node.register)({
17334
17342
  target: "node14",
17335
17343
  loader: "ts"
17336
17344
  });
17337
- if (dialect5 === "pg") {
17345
+ if (dialect6 === "pg") {
17338
17346
  const { prepareFromPgImports: prepareFromPgImports2 } = (init_pgImports(), __toCommonJS(pgImports_exports));
17339
17347
  const { generatePgSnapshot: generatePgSnapshot2 } = (init_pgSerializer(), __toCommonJS(pgSerializer_exports));
17340
17348
  const { tables, enums } = prepareFromPgImports2(filenames);
17341
17349
  unregister();
17342
17350
  return generatePgSnapshot2(tables, enums);
17343
- } else if (dialect5 === "mysql") {
17351
+ } else if (dialect6 === "mysql") {
17344
17352
  unregister();
17345
17353
  return {};
17346
- } else if (dialect5 === "sqlite") {
17354
+ } else if (dialect6 === "sqlite") {
17347
17355
  const { prepareFromSqliteImports: prepareFromSqliteImports2 } = (init_sqliteImports(), __toCommonJS(sqliteImports_exports));
17348
17356
  const { generateSqliteSnapshot: generateSqliteSnapshot2 } = (init_sqliteSerializer(), __toCommonJS(sqliteSerializer_exports));
17349
17357
  const { tables, enums } = prepareFromSqliteImports2(filenames);
@@ -17360,8 +17368,8 @@ var serializer_default = serialize;
17360
17368
  var Convertor = class {
17361
17369
  };
17362
17370
  var PgCreateTableConvertor = class extends Convertor {
17363
- can(statement, dialect5) {
17364
- return statement.type === "create_table" && dialect5 === "pg";
17371
+ can(statement, dialect6) {
17372
+ return statement.type === "create_table" && dialect6 === "pg";
17365
17373
  }
17366
17374
  convert(st) {
17367
17375
  const { tableName, columns } = st;
@@ -17383,8 +17391,8 @@ var PgCreateTableConvertor = class extends Convertor {
17383
17391
  }
17384
17392
  };
17385
17393
  var MySqlCreateTableConvertor = class extends Convertor {
17386
- can(statement, dialect5) {
17387
- return statement.type === "create_table" && dialect5 === "mysql";
17394
+ can(statement, dialect6) {
17395
+ return statement.type === "create_table" && dialect6 === "mysql";
17388
17396
  }
17389
17397
  convert(st) {
17390
17398
  const { tableName, columns } = st;
@@ -17407,12 +17415,11 @@ var MySqlCreateTableConvertor = class extends Convertor {
17407
17415
  }
17408
17416
  };
17409
17417
  var SQLiteCreateTableConvertor = class extends Convertor {
17410
- can(statement, dialect5) {
17411
- return statement.type === "sqlite_create_table" && dialect5 === "sqlite";
17418
+ can(statement, dialect6) {
17419
+ return statement.type === "sqlite_create_table" && dialect6 === "sqlite";
17412
17420
  }
17413
17421
  convert(st) {
17414
17422
  const { tableName, columns, referenceData } = st;
17415
- const referencesAsString = referenceData.map((it) => it.data);
17416
17423
  let statement = "";
17417
17424
  statement += `CREATE TABLE ${tableName} (
17418
17425
  `;
@@ -17423,10 +17430,10 @@ var SQLiteCreateTableConvertor = class extends Convertor {
17423
17430
  const defaultStatement = column4.default !== void 0 ? `DEFAULT ${column4.default}` : "";
17424
17431
  const autoincrementStatement = column4.autoincrement ? "AUTO_INCREMENT" : "";
17425
17432
  statement += " " + `\`${column4.name}\` ${column4.type} ${autoincrementStatement} ${primaryKeyStatement} ${defaultStatement} ${notNullStatement}`.replace(/ +/g, " ").trim();
17426
- statement += (i === columns.length - 1 ? referencesAsString.length > 0 ? "," : "" : ",") + "\n";
17433
+ statement += (i === columns.length - 1 ? referenceData.length > 0 ? "," : "" : ",") + "\n";
17427
17434
  }
17428
- for (let i = 0; i < referencesAsString.length; i++) {
17429
- const referenceAsString = referencesAsString[i];
17435
+ for (let i = 0; i < referenceData.length; i++) {
17436
+ const referenceAsString = referenceData[i];
17430
17437
  const {
17431
17438
  name,
17432
17439
  tableFrom,
@@ -17490,8 +17497,8 @@ var DropTableConvertor = class extends Convertor {
17490
17497
  }
17491
17498
  };
17492
17499
  var PgRenameTableConvertor = class extends Convertor {
17493
- can(statement, dialect5) {
17494
- return statement.type === "rename_table" && dialect5 === "pg";
17500
+ can(statement, dialect6) {
17501
+ return statement.type === "rename_table" && dialect6 === "pg";
17495
17502
  }
17496
17503
  convert(statement) {
17497
17504
  const { tableNameFrom, tableNameTo } = statement;
@@ -17499,8 +17506,8 @@ var PgRenameTableConvertor = class extends Convertor {
17499
17506
  }
17500
17507
  };
17501
17508
  var SqliteRenameTableConvertor = class extends Convertor {
17502
- can(statement, dialect5) {
17503
- return statement.type === "rename_table" && dialect5 === "sqlite";
17509
+ can(statement, dialect6) {
17510
+ return statement.type === "rename_table" && dialect6 === "sqlite";
17504
17511
  }
17505
17512
  convert(statement) {
17506
17513
  const { tableNameFrom, tableNameTo } = statement;
@@ -17508,8 +17515,8 @@ var SqliteRenameTableConvertor = class extends Convertor {
17508
17515
  }
17509
17516
  };
17510
17517
  var MySqlRenameTableConvertor = class extends Convertor {
17511
- can(statement, dialect5) {
17512
- return statement.type === "rename_table" && dialect5 === "mysql";
17518
+ can(statement, dialect6) {
17519
+ return statement.type === "rename_table" && dialect6 === "mysql";
17513
17520
  }
17514
17521
  convert(statement) {
17515
17522
  const { tableNameFrom, tableNameTo } = statement;
@@ -17517,8 +17524,8 @@ var MySqlRenameTableConvertor = class extends Convertor {
17517
17524
  }
17518
17525
  };
17519
17526
  var PgAlterTableRenameColumnConvertor = class extends Convertor {
17520
- can(statement, dialect5) {
17521
- return statement.type === "alter_table_rename_column" && dialect5 === "pg";
17527
+ can(statement, dialect6) {
17528
+ return statement.type === "alter_table_rename_column" && dialect6 === "pg";
17522
17529
  }
17523
17530
  convert(statement) {
17524
17531
  const { tableName, oldColumnName, newColumnName } = statement;
@@ -17526,8 +17533,8 @@ var PgAlterTableRenameColumnConvertor = class extends Convertor {
17526
17533
  }
17527
17534
  };
17528
17535
  var MySqlAlterTableRenameColumnConvertor = class extends Convertor {
17529
- can(statement, dialect5) {
17530
- return statement.type === "alter_table_rename_column" && dialect5 === "mysql";
17536
+ can(statement, dialect6) {
17537
+ return statement.type === "alter_table_rename_column" && dialect6 === "mysql";
17531
17538
  }
17532
17539
  convert(statement) {
17533
17540
  const { tableName, oldColumnName, newColumnName } = statement;
@@ -17535,8 +17542,8 @@ var MySqlAlterTableRenameColumnConvertor = class extends Convertor {
17535
17542
  }
17536
17543
  };
17537
17544
  var SQLiteAlterTableRenameColumnConvertor = class extends Convertor {
17538
- can(statement, dialect5) {
17539
- return statement.type === "alter_table_rename_column" && dialect5 === "sqlite";
17545
+ can(statement, dialect6) {
17546
+ return statement.type === "alter_table_rename_column" && dialect6 === "sqlite";
17540
17547
  }
17541
17548
  convert(statement) {
17542
17549
  const { tableName, oldColumnName, newColumnName } = statement;
@@ -17544,8 +17551,8 @@ var SQLiteAlterTableRenameColumnConvertor = class extends Convertor {
17544
17551
  }
17545
17552
  };
17546
17553
  var PgAlterTableDropColumnConvertor = class extends Convertor {
17547
- can(statement, dialect5) {
17548
- return statement.type === "alter_table_drop_column" && dialect5 === "pg";
17554
+ can(statement, dialect6) {
17555
+ return statement.type === "alter_table_drop_column" && dialect6 === "pg";
17549
17556
  }
17550
17557
  convert(statement) {
17551
17558
  const { tableName, columnName } = statement;
@@ -17553,8 +17560,8 @@ var PgAlterTableDropColumnConvertor = class extends Convertor {
17553
17560
  }
17554
17561
  };
17555
17562
  var MySqlAlterTableDropColumnConvertor = class extends Convertor {
17556
- can(statement, dialect5) {
17557
- return statement.type === "alter_table_drop_column" && dialect5 === "mysql";
17563
+ can(statement, dialect6) {
17564
+ return statement.type === "alter_table_drop_column" && dialect6 === "mysql";
17558
17565
  }
17559
17566
  convert(statement) {
17560
17567
  const { tableName, columnName } = statement;
@@ -17562,8 +17569,8 @@ var MySqlAlterTableDropColumnConvertor = class extends Convertor {
17562
17569
  }
17563
17570
  };
17564
17571
  var SQLiteAlterTableDropColumnConvertor = class extends Convertor {
17565
- can(statement, dialect5) {
17566
- return statement.type === "alter_table_drop_column" && dialect5 === "sqlite";
17572
+ can(statement, dialect6) {
17573
+ return statement.type === "alter_table_drop_column" && dialect6 === "sqlite";
17567
17574
  }
17568
17575
  convert(statement) {
17569
17576
  const { tableName, columnName } = statement;
@@ -17571,8 +17578,8 @@ var SQLiteAlterTableDropColumnConvertor = class extends Convertor {
17571
17578
  }
17572
17579
  };
17573
17580
  var PgAlterTableAddColumnConvertor = class extends Convertor {
17574
- can(statement, dialect5) {
17575
- return statement.type === "alter_table_add_column" && dialect5 === "pg";
17581
+ can(statement, dialect6) {
17582
+ return statement.type === "alter_table_add_column" && dialect6 === "pg";
17576
17583
  }
17577
17584
  convert(statement) {
17578
17585
  const { tableName, column: column4 } = statement;
@@ -17583,8 +17590,8 @@ var PgAlterTableAddColumnConvertor = class extends Convertor {
17583
17590
  }
17584
17591
  };
17585
17592
  var MySqlAlterTableAddColumnConvertor = class extends Convertor {
17586
- can(statement, dialect5) {
17587
- return statement.type === "alter_table_add_column" && dialect5 === "mysql";
17593
+ can(statement, dialect6) {
17594
+ return statement.type === "alter_table_add_column" && dialect6 === "mysql";
17588
17595
  }
17589
17596
  convert(statement) {
17590
17597
  const { tableName, column: column4 } = statement;
@@ -17597,8 +17604,8 @@ var MySqlAlterTableAddColumnConvertor = class extends Convertor {
17597
17604
  }
17598
17605
  };
17599
17606
  var SQLiteAlterTableAddColumnConvertor = class extends Convertor {
17600
- can(statement, dialect5) {
17601
- return statement.type === "sqlite_alter_table_add_column" && dialect5 === "sqlite";
17607
+ can(statement, dialect6) {
17608
+ return statement.type === "sqlite_alter_table_add_column" && dialect6 === "sqlite";
17602
17609
  }
17603
17610
  convert(statement) {
17604
17611
  const { tableName, column: column4, referenceData } = statement;
@@ -17612,8 +17619,8 @@ var SQLiteAlterTableAddColumnConvertor = class extends Convertor {
17612
17619
  }
17613
17620
  };
17614
17621
  var PgAlterTableAlterColumnSetTypeConvertor = class extends Convertor {
17615
- can(statement, dialect5) {
17616
- return statement.type === "alter_table_alter_column_set_type" && dialect5 === "pg";
17622
+ can(statement, dialect6) {
17623
+ return statement.type === "alter_table_alter_column_set_type" && dialect6 === "pg";
17617
17624
  }
17618
17625
  convert(statement) {
17619
17626
  const { tableName, columnName, newDataType } = statement;
@@ -17621,8 +17628,8 @@ var PgAlterTableAlterColumnSetTypeConvertor = class extends Convertor {
17621
17628
  }
17622
17629
  };
17623
17630
  var SQLiteAlterTableAlterColumnSetTypeConvertor = class extends Convertor {
17624
- can(statement, dialect5) {
17625
- return statement.type === "alter_table_alter_column_set_type" && dialect5 === "sqlite";
17631
+ can(statement, dialect6) {
17632
+ return statement.type === "alter_table_alter_column_set_type" && dialect6 === "sqlite";
17626
17633
  }
17627
17634
  convert(statement) {
17628
17635
  return `/*
@@ -17636,8 +17643,8 @@ var SQLiteAlterTableAlterColumnSetTypeConvertor = class extends Convertor {
17636
17643
  }
17637
17644
  };
17638
17645
  var PgAlterTableAlterColumnSetDefaultConvertor = class extends Convertor {
17639
- can(statement, dialect5) {
17640
- return statement.type === "alter_table_alter_column_set_default" && dialect5 === "pg";
17646
+ can(statement, dialect6) {
17647
+ return statement.type === "alter_table_alter_column_set_default" && dialect6 === "pg";
17641
17648
  }
17642
17649
  convert(statement) {
17643
17650
  const { tableName, columnName } = statement;
@@ -17645,8 +17652,8 @@ var PgAlterTableAlterColumnSetDefaultConvertor = class extends Convertor {
17645
17652
  }
17646
17653
  };
17647
17654
  var SqliteAlterTableAlterColumnSetDefaultConvertor = class extends Convertor {
17648
- can(statement, dialect5) {
17649
- return statement.type === "alter_table_alter_column_set_default" && dialect5 === "sqlite";
17655
+ can(statement, dialect6) {
17656
+ return statement.type === "alter_table_alter_column_set_default" && dialect6 === "sqlite";
17650
17657
  }
17651
17658
  convert(statement) {
17652
17659
  return `/*
@@ -17660,8 +17667,8 @@ var SqliteAlterTableAlterColumnSetDefaultConvertor = class extends Convertor {
17660
17667
  }
17661
17668
  };
17662
17669
  var PgAlterTableAlterColumnDropDefaultConvertor = class extends Convertor {
17663
- can(statement, dialect5) {
17664
- return statement.type === "alter_table_alter_column_drop_default" && dialect5 === "pg";
17670
+ can(statement, dialect6) {
17671
+ return statement.type === "alter_table_alter_column_drop_default" && dialect6 === "pg";
17665
17672
  }
17666
17673
  convert(statement) {
17667
17674
  const { tableName, columnName } = statement;
@@ -17669,8 +17676,8 @@ var PgAlterTableAlterColumnDropDefaultConvertor = class extends Convertor {
17669
17676
  }
17670
17677
  };
17671
17678
  var SqliteAlterTableAlterColumnDropDefaultConvertor = class extends Convertor {
17672
- can(statement, dialect5) {
17673
- return statement.type === "alter_table_alter_column_drop_default" && dialect5 === "sqlite";
17679
+ can(statement, dialect6) {
17680
+ return statement.type === "alter_table_alter_column_drop_default" && dialect6 === "sqlite";
17674
17681
  }
17675
17682
  convert(statement) {
17676
17683
  return `/*
@@ -17684,8 +17691,8 @@ var SqliteAlterTableAlterColumnDropDefaultConvertor = class extends Convertor {
17684
17691
  }
17685
17692
  };
17686
17693
  var PgAlterTableAlterColumnSetNotNullConvertor = class extends Convertor {
17687
- can(statement, dialect5) {
17688
- return statement.type === "alter_table_alter_column_set_notnull" && dialect5 === "pg";
17694
+ can(statement, dialect6) {
17695
+ return statement.type === "alter_table_alter_column_set_notnull" && dialect6 === "pg";
17689
17696
  }
17690
17697
  convert(statement) {
17691
17698
  const { tableName, columnName } = statement;
@@ -17693,8 +17700,8 @@ var PgAlterTableAlterColumnSetNotNullConvertor = class extends Convertor {
17693
17700
  }
17694
17701
  };
17695
17702
  var SqliteAlterTableAlterColumnSetNotNullConvertor = class extends Convertor {
17696
- can(statement, dialect5) {
17697
- return statement.type === "alter_table_alter_column_set_notnull" && dialect5 === "sqlite";
17703
+ can(statement, dialect6) {
17704
+ return statement.type === "alter_table_alter_column_set_notnull" && dialect6 === "sqlite";
17698
17705
  }
17699
17706
  convert(statement) {
17700
17707
  return `/*
@@ -17708,8 +17715,8 @@ var SqliteAlterTableAlterColumnSetNotNullConvertor = class extends Convertor {
17708
17715
  }
17709
17716
  };
17710
17717
  var PgAlterTableAlterColumnDropNotNullConvertor = class extends Convertor {
17711
- can(statement, dialect5) {
17712
- return statement.type === "alter_table_alter_column_drop_notnull" && dialect5 === "pg";
17718
+ can(statement, dialect6) {
17719
+ return statement.type === "alter_table_alter_column_drop_notnull" && dialect6 === "pg";
17713
17720
  }
17714
17721
  convert(statement) {
17715
17722
  const { tableName, columnName } = statement;
@@ -17717,8 +17724,8 @@ var PgAlterTableAlterColumnDropNotNullConvertor = class extends Convertor {
17717
17724
  }
17718
17725
  };
17719
17726
  var SqliteAlterTableAlterColumnDropNotNullConvertor = class extends Convertor {
17720
- can(statement, dialect5) {
17721
- return statement.type === "alter_table_alter_column_drop_notnull" && dialect5 === "sqlite";
17727
+ can(statement, dialect6) {
17728
+ return statement.type === "alter_table_alter_column_drop_notnull" && dialect6 === "sqlite";
17722
17729
  }
17723
17730
  convert(statement) {
17724
17731
  return `/*
@@ -17732,8 +17739,8 @@ var SqliteAlterTableAlterColumnDropNotNullConvertor = class extends Convertor {
17732
17739
  }
17733
17740
  };
17734
17741
  var PgCreateForeignKeyConvertor = class extends Convertor {
17735
- can(statement, dialect5) {
17736
- return statement.type === "create_reference" && dialect5 === "pg";
17742
+ can(statement, dialect6) {
17743
+ return statement.type === "create_reference" && dialect6 === "pg";
17737
17744
  }
17738
17745
  convert(statement) {
17739
17746
  const {
@@ -17759,8 +17766,8 @@ var PgCreateForeignKeyConvertor = class extends Convertor {
17759
17766
  }
17760
17767
  };
17761
17768
  var SqliteCreateForeignKeyConvertor = class extends Convertor {
17762
- can(statement, dialect5) {
17763
- return statement.type === "create_reference" && dialect5 === "sqlite";
17769
+ can(statement, dialect6) {
17770
+ return statement.type === "create_reference" && dialect6 === "sqlite";
17764
17771
  }
17765
17772
  convert(statement) {
17766
17773
  return `/*
@@ -17773,8 +17780,8 @@ var SqliteCreateForeignKeyConvertor = class extends Convertor {
17773
17780
  }
17774
17781
  };
17775
17782
  var MySqlCreateForeignKeyConvertor = class extends Convertor {
17776
- can(statement, dialect5) {
17777
- return statement.type === "create_reference" && dialect5 === "mysql";
17783
+ can(statement, dialect6) {
17784
+ return statement.type === "create_reference" && dialect6 === "mysql";
17778
17785
  }
17779
17786
  convert(statement) {
17780
17787
  const {
@@ -17802,8 +17809,8 @@ var AlterForeignKeyConvertor = class extends Convertor {
17802
17809
  }
17803
17810
  };
17804
17811
  var SqliteAlterForeignKeyConvertor = class extends Convertor {
17805
- can(statement, dialect5) {
17806
- return statement.type === "alter_reference" && dialect5 === "sqlite";
17812
+ can(statement, dialect6) {
17813
+ return statement.type === "alter_reference" && dialect6 === "sqlite";
17807
17814
  }
17808
17815
  convert(statement) {
17809
17816
  return `/*
@@ -17816,8 +17823,8 @@ var SqliteAlterForeignKeyConvertor = class extends Convertor {
17816
17823
  }
17817
17824
  };
17818
17825
  var PgDeleteForeignKeyConvertor = class extends Convertor {
17819
- can(statement, dialect5) {
17820
- return statement.type === "delete_reference" && dialect5 === "pg";
17826
+ can(statement, dialect6) {
17827
+ return statement.type === "delete_reference" && dialect6 === "pg";
17821
17828
  }
17822
17829
  convert(statement) {
17823
17830
  const tableFrom = statement.tableName;
@@ -17827,8 +17834,8 @@ var PgDeleteForeignKeyConvertor = class extends Convertor {
17827
17834
  }
17828
17835
  };
17829
17836
  var SqliteDeleteForeignKeyConvertor = class extends Convertor {
17830
- can(statement, dialect5) {
17831
- return statement.type === "delete_reference" && dialect5 === "sqlite";
17837
+ can(statement, dialect6) {
17838
+ return statement.type === "delete_reference" && dialect6 === "sqlite";
17832
17839
  }
17833
17840
  convert(statement) {
17834
17841
  return `/*
@@ -17841,8 +17848,8 @@ var SqliteDeleteForeignKeyConvertor = class extends Convertor {
17841
17848
  }
17842
17849
  };
17843
17850
  var MySqlDeleteForeignKeyConvertor = class extends Convertor {
17844
- can(statement, dialect5) {
17845
- return statement.type === "delete_reference" && dialect5 === "mysql";
17851
+ can(statement, dialect6) {
17852
+ return statement.type === "delete_reference" && dialect6 === "mysql";
17846
17853
  }
17847
17854
  convert(statement) {
17848
17855
  const tableFrom = statement.tableName;
@@ -17852,8 +17859,8 @@ var MySqlDeleteForeignKeyConvertor = class extends Convertor {
17852
17859
  }
17853
17860
  };
17854
17861
  var CreatePgIndexConvertor = class extends Convertor {
17855
- can(statement, dialect5) {
17856
- return statement.type === "create_index" && dialect5 === "pg";
17862
+ can(statement, dialect6) {
17863
+ return statement.type === "create_index" && dialect6 === "pg";
17857
17864
  }
17858
17865
  convert(statement) {
17859
17866
  const { name, columns, isUnique } = PgSquasher.unsquashIdx(statement.data);
@@ -17863,8 +17870,8 @@ var CreatePgIndexConvertor = class extends Convertor {
17863
17870
  }
17864
17871
  };
17865
17872
  var CreateMySqlIndexConvertor = class extends Convertor {
17866
- can(statement, dialect5) {
17867
- return statement.type === "create_index" && dialect5 === "mysql";
17873
+ can(statement, dialect6) {
17874
+ return statement.type === "create_index" && dialect6 === "mysql";
17868
17875
  }
17869
17876
  convert(statement) {
17870
17877
  const { name, columns, isUnique } = PgSquasher.unsquashIdx(statement.data);
@@ -17874,8 +17881,8 @@ var CreateMySqlIndexConvertor = class extends Convertor {
17874
17881
  }
17875
17882
  };
17876
17883
  var CreateSqliteIndexConvertor = class extends Convertor {
17877
- can(statement, dialect5) {
17878
- return statement.type === "create_index" && dialect5 === "sqlite";
17884
+ can(statement, dialect6) {
17885
+ return statement.type === "create_index" && dialect6 === "sqlite";
17879
17886
  }
17880
17887
  convert(statement) {
17881
17888
  const { name, columns, isUnique, where } = SQLiteSquasher.unsquashIdx(
@@ -17888,8 +17895,8 @@ var CreateSqliteIndexConvertor = class extends Convertor {
17888
17895
  }
17889
17896
  };
17890
17897
  var PgDropIndexConvertor = class extends Convertor {
17891
- can(statement, dialect5) {
17892
- return statement.type === "drop_index" && dialect5 === "pg";
17898
+ can(statement, dialect6) {
17899
+ return statement.type === "drop_index" && dialect6 === "pg";
17893
17900
  }
17894
17901
  convert(statement) {
17895
17902
  const { name } = PgSquasher.unsquashIdx(statement.data);
@@ -17897,8 +17904,8 @@ var PgDropIndexConvertor = class extends Convertor {
17897
17904
  }
17898
17905
  };
17899
17906
  var SqliteDropIndexConvertor = class extends Convertor {
17900
- can(statement, dialect5) {
17901
- return statement.type === "drop_index" && dialect5 === "sqlite";
17907
+ can(statement, dialect6) {
17908
+ return statement.type === "drop_index" && dialect6 === "sqlite";
17902
17909
  }
17903
17910
  convert(statement) {
17904
17911
  const { name } = PgSquasher.unsquashIdx(statement.data);
@@ -17947,10 +17954,10 @@ convertors.push(new SqliteAlterTableAlterColumnSetNotNullConvertor());
17947
17954
  convertors.push(new SqliteAlterTableAlterColumnDropNotNullConvertor());
17948
17955
  convertors.push(new SqliteAlterTableAlterColumnSetDefaultConvertor());
17949
17956
  convertors.push(new SqliteAlterTableAlterColumnDropDefaultConvertor());
17950
- var fromJson = (statements, dialect5) => {
17957
+ var fromJson = (statements, dialect6) => {
17951
17958
  const result = statements.map((statement) => {
17952
17959
  const filtered = convertors.filter((it) => {
17953
- return it.can(statement, dialect5);
17960
+ return it.can(statement, dialect6);
17954
17961
  });
17955
17962
  const convertor = filtered.length === 1 ? filtered[0] : void 0;
17956
17963
  if (!convertor) {
@@ -18143,15 +18150,7 @@ var prepareCreateTableJson = (table4) => {
18143
18150
  };
18144
18151
  var prepareSQLiteCreateTable = (table4) => {
18145
18152
  const { name, columns } = table4;
18146
- const references2 = Object.values(
18147
- table4.foreignKeys
18148
- ).map((fkData) => {
18149
- return {
18150
- type: "create_reference",
18151
- tableName: table4.name,
18152
- data: fkData
18153
- };
18154
- });
18153
+ const references2 = Object.values(table4.foreignKeys);
18155
18154
  return {
18156
18155
  type: "sqlite_create_table",
18157
18156
  tableName: name,
@@ -18198,19 +18197,12 @@ var prepareRenameColumns = (tableName, pairs) => {
18198
18197
  };
18199
18198
  });
18200
18199
  };
18201
- var prepareAlterTableColumnsJson = (tableName, deleted, added, altered, addedFk, dialect5) => {
18200
+ var prepareAlterTableColumnsJson = (tableName, deleted, added, altered, addedFk, dialect6) => {
18202
18201
  const statements = [];
18203
18202
  const dropColumns = _prepareDropColumns(tableName, deleted);
18204
18203
  const alterColumns = _prepareAlterColumns(tableName, altered);
18205
- if (dialect5 === "sqlite") {
18206
- let jsonCreateFKStatements = [];
18207
- for (const addedFkKey of Object.keys(addedFk)) {
18208
- const addedFkValue = addedFk[addedFkKey];
18209
- jsonCreateFKStatements.push({
18210
- type: "create_reference",
18211
- data: addedFkValue
18212
- });
18213
- }
18204
+ if (dialect6 === "sqlite") {
18205
+ let jsonCreateFKStatements = Object.values(addedFk);
18214
18206
  const sqliteAddColumns = _prepareSQLiteAddColumns(
18215
18207
  tableName,
18216
18208
  added,
@@ -18245,7 +18237,7 @@ var _prepareAddColumns = (tableName, columns) => {
18245
18237
  };
18246
18238
  var _prepareSQLiteAddColumns = (tableName, columns, referenceData) => {
18247
18239
  const unsquashed = referenceData.map(
18248
- (addedFkValue) => SQLiteSquasher.unsquashFK(addedFkValue.data)
18240
+ (addedFkValue) => SQLiteSquasher.unsquashFK(addedFkValue)
18249
18241
  );
18250
18242
  return columns.map((it) => {
18251
18243
  const columnsWithReference = unsquashed.find(
@@ -18398,13 +18390,13 @@ var mapValues = (obj, map) => {
18398
18390
  }, {});
18399
18391
  return result;
18400
18392
  };
18401
- var squashIndexesAndFKs = (json, dialect5 = "pg") => {
18393
+ var squashIndexesAndFKs = (json, dialect6 = "pg") => {
18402
18394
  const mappedTables = Object.fromEntries(
18403
18395
  Object.entries(json.tables).map((it) => {
18404
18396
  const squashedIndexes = mapValues(it[1].indexes, (index4) => {
18405
- if (dialect5 === "mysql") {
18397
+ if (dialect6 === "mysql") {
18406
18398
  return MySqlSquasher.squashIdx(index4);
18407
- } else if (dialect5 === "pg") {
18399
+ } else if (dialect6 === "pg") {
18408
18400
  return PgSquasher.squashIdx(index4);
18409
18401
  } else {
18410
18402
  return SQLiteSquasher.squashIdx(index4);
@@ -18412,9 +18404,9 @@ var squashIndexesAndFKs = (json, dialect5 = "pg") => {
18412
18404
  });
18413
18405
  const squashedFKs = mapValues(it[1].foreignKeys, (fk4) => {
18414
18406
  {
18415
- if (dialect5 === "mysql") {
18407
+ if (dialect6 === "mysql") {
18416
18408
  return MySqlSquasher.squashFK(fk4);
18417
- } else if (dialect5 === "pg") {
18409
+ } else if (dialect6 === "pg") {
18418
18410
  return PgSquasher.squashFK(fk4);
18419
18411
  } else {
18420
18412
  return SQLiteSquasher.squashFK(fk4);
@@ -18521,11 +18513,11 @@ var diffResultScheme = objectType({
18521
18513
  deletedEnums: enumSchema2.array(),
18522
18514
  alteredEnums: changedEnumSchema.array()
18523
18515
  }).strict();
18524
- var applySnapshotsDiff = async (json1, json2, tablesResolver, columnsResolver, dialect5) => {
18516
+ var applySnapshotsDiff = async (json1, json2, tablesResolver, columnsResolver, dialect6) => {
18525
18517
  var _a, _b, _c, _d;
18526
18518
  const diffResult = applyJsonDiff(
18527
- squashIndexesAndFKs(json1, dialect5),
18528
- squashIndexesAndFKs(json2, dialect5)
18519
+ squashIndexesAndFKs(json1, dialect6),
18520
+ squashIndexesAndFKs(json2, dialect6)
18529
18521
  );
18530
18522
  if (Object.keys(diffResult).length === 0) {
18531
18523
  return "";
@@ -18591,7 +18583,7 @@ var applySnapshotsDiff = async (json1, json2, tablesResolver, columnsResolver, d
18591
18583
  it.added,
18592
18584
  it.altered,
18593
18585
  it.addedForeignKeys,
18594
- dialect5
18586
+ dialect6
18595
18587
  );
18596
18588
  }).flat();
18597
18589
  const jsonCreateIndexesForAllAlteredTables = allAltered.map((it) => {
@@ -18604,10 +18596,7 @@ var applySnapshotsDiff = async (json1, json2, tablesResolver, columnsResolver, d
18604
18596
  return prepareCreateReferencesJson(it.name, it.foreignKeys);
18605
18597
  }).flat();
18606
18598
  const jsonReferencesForAllAlteredTables = allAltered.map((it) => {
18607
- const forAdded = prepareCreateReferencesJson(
18608
- it.name,
18609
- it.addedForeignKeys
18610
- );
18599
+ const forAdded = dialect6 !== "sqlite" ? prepareCreateReferencesJson(it.name, it.addedForeignKeys) : [];
18611
18600
  const forAltered = prepareDropReferencesJson(
18612
18601
  it.name,
18613
18602
  it.deletedForeignKeys
@@ -18624,7 +18613,7 @@ var applySnapshotsDiff = async (json1, json2, tablesResolver, columnsResolver, d
18624
18613
  }).flat()) != null ? _d : [];
18625
18614
  jsonStatements.push(...createEnums);
18626
18615
  jsonStatements.push(...jsonAlterEnumsWithAddedValues);
18627
- if (dialect5 === "sqlite") {
18616
+ if (dialect6 === "sqlite") {
18628
18617
  jsonStatements.push(...jsonSQLiteCreateTables);
18629
18618
  } else {
18630
18619
  jsonStatements.push(...jsonCreateTables);
@@ -18633,7 +18622,8 @@ var applySnapshotsDiff = async (json1, json2, tablesResolver, columnsResolver, d
18633
18622
  jsonStatements.push(...jsonRenameTables);
18634
18623
  jsonStatements.push(...jsonRenameColumnsStatements);
18635
18624
  jsonStatements.push(...jsonAlterTables);
18636
- jsonStatements.push(...jsonCreateReferences);
18625
+ if (dialect6 !== "sqlite")
18626
+ jsonStatements.push(...jsonCreateReferences);
18637
18627
  jsonStatements.push(...jsonAlterReferencesForAlteredTables);
18638
18628
  jsonStatements.push(...jsonCreateIndexesForCreatedTables);
18639
18629
  jsonStatements.push(...jsonCreateIndexesForAllAlteredTables);
@@ -19343,8 +19333,8 @@ var prepareMigration = (outFolder = "drizzle", schemaPath, _dialect) => {
19343
19333
  const serialized = serializer_default(schemaPath, _dialect);
19344
19334
  const id = (0, import_crypto.randomUUID)();
19345
19335
  const idPrev = prevSnapshot.id;
19346
- const { version, dialect: dialect5, ...rest } = serialized;
19347
- const result = { version, dialect: dialect5, id, prevId: idPrev, ...rest };
19336
+ const { version, dialect: dialect6, ...rest } = serialized;
19337
+ const result = { version, dialect: dialect6, id, prevId: idPrev, ...rest };
19348
19338
  return { prev: prevSnapshot, cur: result };
19349
19339
  };
19350
19340
  var migrationPreparator_default = prepareMigration;
@@ -19355,9 +19345,9 @@ var import_hanji3 = __toESM(require_hanji());
19355
19345
  var prepareAndMigrate = async (config) => {
19356
19346
  const outFolder = config.out;
19357
19347
  const schemaPath = config.schema;
19358
- const dialect5 = config.dialect;
19348
+ const dialect6 = config.dialect;
19359
19349
  try {
19360
- const { prev, cur } = migrationPreparator_default(outFolder, schemaPath, dialect5);
19350
+ const { prev, cur } = migrationPreparator_default(outFolder, schemaPath, dialect6);
19361
19351
  const toSave = JSON.parse(JSON.stringify(cur));
19362
19352
  const validatedPrev = commonSchema.parse(prev);
19363
19353
  const validatedCur = commonSchema.parse(cur);
@@ -19367,7 +19357,7 @@ var prepareAndMigrate = async (config) => {
19367
19357
  freeeeeeze(validatedPrev);
19368
19358
  freeeeeeze(validatedCur);
19369
19359
  console.log(schema4(cur));
19370
- const sql = await prepareSQL(validatedPrev, validatedCur, dialect5);
19360
+ const sql = await prepareSQL(validatedPrev, validatedCur, dialect6);
19371
19361
  if (sql.length === 0) {
19372
19362
  console.log("No schema changes, nothing to migrate \u{1F634}");
19373
19363
  return;
@@ -19396,7 +19386,7 @@ var freeeeeeze = (obj) => {
19396
19386
  }
19397
19387
  }
19398
19388
  };
19399
- var prepareSQL = async (prev, cur, dialect5) => {
19389
+ var prepareSQL = async (prev, cur, dialect6) => {
19400
19390
  const tablesResolver = async (input) => {
19401
19391
  try {
19402
19392
  const { created, deleted, renamed } = await promptTablesConflict(
@@ -19427,7 +19417,7 @@ var prepareSQL = async (prev, cur, dialect5) => {
19427
19417
  cur,
19428
19418
  tablesResolver,
19429
19419
  columnsResolver,
19430
- dialect5
19420
+ dialect6
19431
19421
  );
19432
19422
  };
19433
19423
  var promptColumnsConflicts = async (tableName, newColumns, missingColumns) => {
@@ -19537,7 +19527,7 @@ var import_fs6 = __toESM(require("fs"));
19537
19527
  // src/cli/commands/check.ts
19538
19528
  var import_fs4 = __toESM(require("fs"));
19539
19529
  var checkHandler = (config) => {
19540
- const { dialect: dialect5, out } = config;
19530
+ const { dialect: dialect6, out } = config;
19541
19531
  const outFolderExists = import_fs4.default.existsSync(out);
19542
19532
  if (!outFolderExists) {
19543
19533
  import_fs4.default.mkdirSync(out);
@@ -19581,7 +19571,7 @@ var import_crypto2 = require("crypto");
19581
19571
  var import_fs5 = __toESM(require("fs"));
19582
19572
  var import_path3 = __toESM(require("path"));
19583
19573
  var upHandler = (config) => {
19584
- const { dialect: dialect5, out } = config;
19574
+ const { dialect: dialect6, out } = config;
19585
19575
  const outFolderExists = import_fs5.default.existsSync(out);
19586
19576
  if (!outFolderExists) {
19587
19577
  import_fs5.default.mkdirSync(out);
@@ -19747,7 +19737,7 @@ var migrationCommand = new Command("generate").alias("migrate").option(
19747
19737
  await prepareAndMigrate(result);
19748
19738
  });
19749
19739
  var prepareGenerateConfig = (options) => {
19750
- const { schema: schema5, out, dialect: dialect5, config } = options;
19740
+ const { schema: schema5, out, dialect: dialect6, config } = options;
19751
19741
  if (!(schema5 || out)) {
19752
19742
  const path3 = config != null ? config : "drizzle.config.json";
19753
19743
  const drizzleConfig = JSON.parse(
@@ -19755,30 +19745,30 @@ var prepareGenerateConfig = (options) => {
19755
19745
  );
19756
19746
  return drizzleConfig;
19757
19747
  }
19758
- if (!schema5 || !dialect5) {
19748
+ if (!schema5 || !dialect6) {
19759
19749
  return new Error(`'schema' and 'dialect' param must be set`);
19760
19750
  }
19761
- return configSchema.parse({ schema: schema5, out, dialect: dialect5 });
19751
+ return configSchema.parse({ schema: schema5, out, dialect: dialect6 });
19762
19752
  };
19763
19753
  var checkSchema = objectType({
19764
19754
  dialect: stringType().default(""),
19765
19755
  out: stringType().default("drizzle")
19766
19756
  }).strict();
19767
19757
  var checkCommand = new Command("check").option("--out <out>", `Output folder, 'drizzle' by default`).option("--dialect <dialect>", "One of pg|mysql|sqlite, pg by default").action((options) => {
19768
- const { out, dialect: dialect5 } = checkSchema.parse(options);
19769
- if (!out || !dialect5) {
19758
+ const { out, dialect: dialect6 } = checkSchema.parse(options);
19759
+ if (!out || !dialect6) {
19770
19760
  (0, import_hanji4.render)(error(`'out' folder and 'dialect' params must be set`));
19771
19761
  process.exit(0);
19772
19762
  }
19773
- checkHandler({ out, dialect: dialect5 });
19763
+ checkHandler({ out, dialect: dialect6 });
19774
19764
  });
19775
19765
  var upCommand = new Command("up").option("--out <out>", `Output folder, 'drizzle' by default`).option("--dialect <dialect>", "One of pg|mysql|sqlite, pg by default").action((options) => {
19776
- const { out, dialect: dialect5 } = checkSchema.parse(options);
19777
- if (!out || !dialect5) {
19766
+ const { out, dialect: dialect6 } = checkSchema.parse(options);
19767
+ if (!out || !dialect6) {
19778
19768
  (0, import_hanji4.render)(error(`'out' folder and 'dialect' params must be set`));
19779
19769
  process.exit(0);
19780
19770
  }
19781
- upHandler({ out, dialect: dialect5 });
19771
+ upHandler({ out, dialect: dialect6 });
19782
19772
  });
19783
19773
  program.addCommand(migrationCommand);
19784
19774
  program.addCommand(checkCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-kit",
3
- "version": "0.12.17",
3
+ "version": "0.13.0",
4
4
  "repository": "https://github.com/lambda-direct/drizzle-kit",
5
5
  "author": "Alex Blokh <aleksandrblokh@gmail.com>",
6
6
  "license": "MIT",
@@ -8,31 +8,31 @@
8
8
  "drizzle-kit": "./index.js"
9
9
  },
10
10
  "dependencies": {
11
- "chalk": "^5.0.1",
12
- "commander": "^9.4.0",
13
- "esbuild": "^0.15.15",
11
+ "chalk": "^5.1.2",
12
+ "commander": "^9.4.1",
13
+ "esbuild": "^0.15.18",
14
14
  "esbuild-register": "^3.4.1",
15
15
  "hanji": "^0.0.3",
16
16
  "json-diff": "0.9.0",
17
- "zod": "^3.18.0"
17
+ "zod": "^3.19.1"
18
18
  },
19
19
  "devDependencies": {
20
- "@types/node": "^18.7.15",
20
+ "@types/node": "^18.11.11",
21
21
  "@types/pg": "^8.6.5",
22
- "@typescript-eslint/eslint-plugin": "^5.36.1",
23
- "@typescript-eslint/parser": "^5.36.1",
24
- "drizzle-orm": "0.12.0-beta.17",
22
+ "@typescript-eslint/eslint-plugin": "^5.46.0",
23
+ "@typescript-eslint/parser": "^5.46.0",
24
+ "drizzle-orm": "0.13.0",
25
25
  "drizzle-orm-mysql": "0.12.0-beta.14",
26
- "drizzle-orm-pg": "0.12.0-beta.39",
27
- "drizzle-orm-sqlite": "0.12.0-beta.16",
26
+ "drizzle-orm-pg": "0.13.0",
27
+ "drizzle-orm-sqlite": "0.13.0",
28
28
  "esbuild": "^0.15.7",
29
29
  "esbuild-register": "^3.3.3",
30
- "eslint": "^8.23.0",
30
+ "eslint": "^8.29.0",
31
31
  "eslint-config-prettier": "^8.5.0",
32
32
  "eslint-plugin-prettier": "^4.2.1",
33
33
  "pg": "^8.8.0",
34
- "prettier": "^2.7.1",
35
- "typescript": "^4.8.2",
34
+ "prettier": "^2.8.1",
35
+ "typescript": "^4.9.4",
36
36
  "uvu": "^0.5.6"
37
37
  },
38
38
  "scripts": {