drizzle-kit 0.18.0-a7a8954 → 0.18.1-c38539c

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 (5) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +257 -107
  3. package/package.json +3 -3
  4. package/readme.md +14 -1
  5. package/utils.js +117 -50
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-kit",
3
- "version": "0.18.0-a7a8954",
3
+ "version": "0.18.1-c38539c",
4
4
  "repository": "https://github.com/drizzle-team/drizzle-kit-mirror",
5
5
  "author": "Drizzle Team",
6
6
  "license": "MIT",
@@ -11,11 +11,11 @@
11
11
  "migrate:old": "drizzle-kit generate:pg --out ./dev/migrations-pg --schema ./dev/migrations-pg/schema.ts",
12
12
  "push": "node -r esbuild-register ./src/cli/index.ts push:mysql",
13
13
  "migrate:old:mysql": "drizzle-kit generate:mysql --out ./dev/migrations-mysql --schema ./dev/migrations-mysql/schema.ts",
14
- "start:pg": "node -r esbuild-register ./src/cli/index.ts generate:pg --out ./dev/migrations-pg --schema ./dev/migrations-pg/schema.ts",
14
+ "start:pg": "node -r esbuild-register ./src/cli/index.ts generate:pg",
15
15
  "start:sqlite": "node -r esbuild-register ./src/cli/index.ts generate:sqlite --out ./dev/migrations-sqlite --schema ./dev/migrations-sqlite/schema.ts",
16
16
  "start:mysql": "node -r esbuild-register ./src/cli/index.ts generate:mysql",
17
17
  "check:pg": "node -r esbuild-register ./src/cli/index.ts check --out ./dev/migrations --dialect pg",
18
- "introspect:mysql": "node -r esbuild-register ./src/cli/index.ts introspect:mysql",
18
+ "introspect:mysql": "node -r esbuild-register ./src/cli/index.ts introspect:mysql --config drizzle.config2.ts",
19
19
  "introspect:pg": "node -r esbuild-register ./src/cli/index.ts introspect:pg --out ./dev/introspect-pg --connectionString=postgresql://postgres@localhost:5432/introspect",
20
20
  "drop": "node -r esbuild-register ./src/cli/index.ts drop --out ./dev/migrations-pg",
21
21
  "up:pg": "node -r esbuild-register ./src/cli/index.ts up:pg --out ./dev/migrations-pg",
package/readme.md CHANGED
@@ -3,6 +3,10 @@
3
3
  DrizzleKit - is a CLI migrator tool for DrizzleORM. It is probably one and only tool that lets you completely automatically generate SQL migrations and covers ~95% of the common cases like deletions and renames by prompting user input.
4
4
  <https://github.com/drizzle-team/drizzle-kit-mirror> - is a mirror repository for issues.
5
5
 
6
+ ## Documentation
7
+
8
+ Check the full documenation on [the website](https://orm.drizzle.team/kit-docs/overview)
9
+
6
10
  ### How it works
7
11
 
8
12
  `drizzle-kit` will traverse `schema folder` or `schema file`, generate schema snapshot and compare it to the previous version, if there's one.
@@ -61,8 +65,17 @@ npm install -D drizzle-kit
61
65
 
62
66
  Running with CLI options
63
67
 
68
+ ```jsonc
69
+ // package.json
70
+ {
71
+ "scripts": {
72
+ "generate": "drizzle-kit generate:pg --out migrations-folder --schema src/db/schema.ts"
73
+ }
74
+ }
75
+ ```
76
+
64
77
  ```shell
65
- npx drizzle-kit generate:pg --out migrations-folder --schema src/db/schema.ts
78
+ npm run generate
66
79
  ```
67
80
 
68
81
  ### Configuration
package/utils.js CHANGED
@@ -21546,9 +21546,28 @@ var AlterTypeAddValueConvertor = class extends Convertor {
21546
21546
  return `ALTER TYPE "${name}" ADD VALUE '${value}';`;
21547
21547
  }
21548
21548
  };
21549
- var DropTableConvertor = class extends Convertor {
21550
- can(statement) {
21551
- return statement.type === "drop_table";
21549
+ var PgDropTableConvertor = class extends Convertor {
21550
+ can(statement, dialect3) {
21551
+ return statement.type === "drop_table" && dialect3 === "pg";
21552
+ }
21553
+ convert(statement) {
21554
+ const { tableName, schema: schema4 } = statement;
21555
+ const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
21556
+ return `DROP TABLE ${tableNameWithSchema};`;
21557
+ }
21558
+ };
21559
+ var MySQLDropTableConvertor = class extends Convertor {
21560
+ can(statement, dialect3) {
21561
+ return statement.type === "drop_table" && dialect3 === "mysql";
21562
+ }
21563
+ convert(statement) {
21564
+ const { tableName } = statement;
21565
+ return `DROP TABLE \`${tableName}\`;`;
21566
+ }
21567
+ };
21568
+ var SQLiteDropTableConvertor = class extends Convertor {
21569
+ can(statement, dialect3) {
21570
+ return statement.type === "drop_table" && dialect3 === "sqlite";
21552
21571
  }
21553
21572
  convert(statement) {
21554
21573
  const { tableName } = statement;
@@ -21591,8 +21610,9 @@ var PgAlterTableRenameColumnConvertor = class extends Convertor {
21591
21610
  return statement.type === "alter_table_rename_column" && dialect3 === "pg";
21592
21611
  }
21593
21612
  convert(statement) {
21594
- const { tableName, oldColumnName, newColumnName } = statement;
21595
- return `ALTER TABLE "${tableName}" RENAME COLUMN "${oldColumnName}" TO "${newColumnName}";`;
21613
+ const { tableName, oldColumnName, newColumnName, schema: schema4 } = statement;
21614
+ const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
21615
+ return `ALTER TABLE ${tableNameWithSchema} RENAME COLUMN "${oldColumnName}" TO "${newColumnName}";`;
21596
21616
  }
21597
21617
  };
21598
21618
  var MySqlAlterTableRenameColumnConvertor = class extends Convertor {
@@ -21618,8 +21638,9 @@ var PgAlterTableDropColumnConvertor = class extends Convertor {
21618
21638
  return statement.type === "alter_table_drop_column" && dialect3 === "pg";
21619
21639
  }
21620
21640
  convert(statement) {
21621
- const { tableName, columnName } = statement;
21622
- return `ALTER TABLE "${tableName}" DROP COLUMN IF EXISTS "${columnName}";`;
21641
+ const { tableName, columnName, schema: schema4 } = statement;
21642
+ const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
21643
+ return `ALTER TABLE ${tableNameWithSchema} DROP COLUMN IF EXISTS "${columnName}";`;
21623
21644
  }
21624
21645
  };
21625
21646
  var MySqlAlterTableDropColumnConvertor = class extends Convertor {
@@ -21645,12 +21666,13 @@ var PgAlterTableAddColumnConvertor = class extends Convertor {
21645
21666
  return statement.type === "alter_table_add_column" && dialect3 === "pg";
21646
21667
  }
21647
21668
  convert(statement) {
21648
- const { tableName, column: column4 } = statement;
21669
+ const { tableName, column: column4, schema: schema4 } = statement;
21649
21670
  const { name, type, notNull } = column4;
21671
+ const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
21650
21672
  const defaultStatement = `${column4.default !== void 0 ? ` DEFAULT ${column4.default}` : ""}`;
21651
21673
  const fixedType = isPgNativeType(column4.type) ? column4.type : `"${column4.type}"`;
21652
21674
  const notNullStatement = `${notNull ? " NOT NULL" : ""}`;
21653
- return `ALTER TABLE "${tableName}" ADD COLUMN "${name}" ${fixedType}${defaultStatement}${notNullStatement};`;
21675
+ return `ALTER TABLE ${tableNameWithSchema} ADD COLUMN "${name}" ${fixedType}${defaultStatement}${notNullStatement};`;
21654
21676
  }
21655
21677
  };
21656
21678
  var MySqlAlterTableAddColumnConvertor = class extends Convertor {
@@ -21688,8 +21710,9 @@ var PgAlterTableAlterColumnSetTypeConvertor = class extends Convertor {
21688
21710
  return statement.type === "alter_table_alter_column_set_type" && dialect3 === "pg";
21689
21711
  }
21690
21712
  convert(statement) {
21691
- const { tableName, columnName, newDataType } = statement;
21692
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" SET DATA TYPE ${newDataType};`;
21713
+ const { tableName, columnName, newDataType, schema: schema4 } = statement;
21714
+ const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
21715
+ return `ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${columnName}" SET DATA TYPE ${newDataType};`;
21693
21716
  }
21694
21717
  };
21695
21718
  var SQLiteAlterTableAlterColumnSetTypeConvertor = class extends Convertor {
@@ -21712,8 +21735,9 @@ var PgAlterTableAlterColumnSetDefaultConvertor = class extends Convertor {
21712
21735
  return statement.type === "alter_table_alter_column_set_default" && dialect3 === "pg";
21713
21736
  }
21714
21737
  convert(statement) {
21715
- const { tableName, columnName } = statement;
21716
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" SET DEFAULT ${statement.newDefaultValue};`;
21738
+ const { tableName, columnName, schema: schema4 } = statement;
21739
+ const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
21740
+ return `ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${columnName}" SET DEFAULT ${statement.newDefaultValue};`;
21717
21741
  }
21718
21742
  };
21719
21743
  var SqliteAlterTableAlterColumnSetDefaultConvertor = class extends Convertor {
@@ -21736,8 +21760,9 @@ var PgAlterTableAlterColumnDropDefaultConvertor = class extends Convertor {
21736
21760
  return statement.type === "alter_table_alter_column_drop_default" && dialect3 === "pg";
21737
21761
  }
21738
21762
  convert(statement) {
21739
- const { tableName, columnName } = statement;
21740
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" DROP DEFAULT;`;
21763
+ const { tableName, columnName, schema: schema4 } = statement;
21764
+ const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
21765
+ return `ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${columnName}" DROP DEFAULT;`;
21741
21766
  }
21742
21767
  };
21743
21768
  var MySqlAlterTableAddPk = class extends Convertor {
@@ -21848,7 +21873,8 @@ var PgAlterTableCreateCompositePrimaryKeyConvertor = class extends Convertor {
21848
21873
  }
21849
21874
  convert(statement) {
21850
21875
  const { name, columns } = PgSquasher.unsquashPK(statement.data);
21851
- return `ALTER TABLE "${statement.tableName}" ADD CONSTRAINT "${statement.constraintName}" PRIMARY KEY("${columns.join('","')}");`;
21876
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
21877
+ return `ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT "${statement.constraintName}" PRIMARY KEY("${columns.join('","')}");`;
21852
21878
  }
21853
21879
  };
21854
21880
  var PgAlterTableDeleteCompositePrimaryKeyConvertor = class extends Convertor {
@@ -21857,7 +21883,8 @@ var PgAlterTableDeleteCompositePrimaryKeyConvertor = class extends Convertor {
21857
21883
  }
21858
21884
  convert(statement) {
21859
21885
  const { name, columns } = PgSquasher.unsquashPK(statement.data);
21860
- return `ALTER TABLE "${statement.tableName}" DROP CONSTRAINT "${statement.constraintName}";`;
21886
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
21887
+ return `ALTER TABLE ${tableNameWithSchema} DROP CONSTRAINT "${statement.constraintName}";`;
21861
21888
  }
21862
21889
  };
21863
21890
  var PgAlterTableAlterCompositePrimaryKeyConvertor = class extends Convertor {
@@ -21869,8 +21896,9 @@ var PgAlterTableAlterCompositePrimaryKeyConvertor = class extends Convertor {
21869
21896
  const { name: newName, columns: newColumns } = PgSquasher.unsquashPK(
21870
21897
  statement.new
21871
21898
  );
21872
- return `ALTER TABLE "${statement.tableName}" DROP CONSTRAINT ${statement.oldConstraintName};
21873
- ${BREAKPOINT}ALTER TABLE "${statement.tableName}" ADD CONSTRAINT ${statement.newConstraintName} PRIMARY KEY(${newColumns.join(",")});`;
21899
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
21900
+ return `ALTER TABLE ${tableNameWithSchema} DROP CONSTRAINT ${statement.oldConstraintName};
21901
+ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT ${statement.newConstraintName} PRIMARY KEY(${newColumns.join(",")});`;
21874
21902
  }
21875
21903
  };
21876
21904
  var MySqlAlterTableCreateCompositePrimaryKeyConvertor = class extends Convertor {
@@ -21988,7 +22016,9 @@ var PgAlterTableAlterColumnSetPrimaryKeyConvertor = class extends Convertor {
21988
22016
  }
21989
22017
  convert(statement) {
21990
22018
  const { tableName, columnName } = statement;
21991
- return `ALTER TABLE "${tableName}" ADD PRIMARY KEY ("${columnName}");`;
22019
+ console.log(statement);
22020
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
22021
+ return `ALTER TABLE ${tableNameWithSchema} ADD PRIMARY KEY ("${columnName}");`;
21992
22022
  }
21993
22023
  };
21994
22024
  var PgAlterTableAlterColumnDropPrimaryKeyConvertor = class extends Convertor {
@@ -22021,7 +22051,8 @@ var PgAlterTableAlterColumnSetNotNullConvertor = class extends Convertor {
22021
22051
  }
22022
22052
  convert(statement) {
22023
22053
  const { tableName, columnName } = statement;
22024
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" SET NOT NULL;`;
22054
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
22055
+ return `ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${columnName}" SET NOT NULL;`;
22025
22056
  }
22026
22057
  };
22027
22058
  var SqliteAlterTableAlterColumnSetNotNullConvertor = class extends Convertor {
@@ -22045,7 +22076,8 @@ var PgAlterTableAlterColumnDropNotNullConvertor = class extends Convertor {
22045
22076
  }
22046
22077
  convert(statement) {
22047
22078
  const { tableName, columnName } = statement;
22048
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" DROP NOT NULL;`;
22079
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
22080
+ return `ALTER TABLE ${tableNameWithSchema} ALTER COLUMN "${columnName}" DROP NOT NULL;`;
22049
22081
  }
22050
22082
  };
22051
22083
  var SqliteAlterTableAlterColumnDropNotNullConvertor = class extends Convertor {
@@ -22081,7 +22113,9 @@ var PgCreateForeignKeyConvertor = class extends Convertor {
22081
22113
  const onUpdateStatement = onUpdate ? ` ON UPDATE ${onUpdate}` : "";
22082
22114
  const fromColumnsString = columnsFrom.map((it) => `"${it}"`).join(",");
22083
22115
  const toColumnsString = columnsTo.map((it) => `"${it}"`).join(",");
22084
- const alterStatement = `ALTER TABLE "${tableFrom}" ADD CONSTRAINT "${name}" FOREIGN KEY (${fromColumnsString}) REFERENCES "${tableTo}"(${toColumnsString})${onDeleteStatement}${onUpdateStatement}`;
22116
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${tableFrom}"` : `"${tableFrom}"`;
22117
+ const tableToNameWithSchema = statement.schema ? `"${statement.schema}"."${tableTo}"` : `"${tableTo}"`;
22118
+ const alterStatement = `ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT "${name}" FOREIGN KEY (${fromColumnsString}) REFERENCES ${tableToNameWithSchema}(${toColumnsString})${onDeleteStatement}${onUpdateStatement}`;
22085
22119
  let sql = "DO $$ BEGIN\n";
22086
22120
  sql += " " + alterStatement + ";\n";
22087
22121
  sql += "EXCEPTION\n";
@@ -22132,13 +22166,15 @@ var PgAlterForeignKeyConvertor = class extends Convertor {
22132
22166
  convert(statement) {
22133
22167
  const newFk = PgSquasher.unsquashFK(statement.data);
22134
22168
  const oldFk = PgSquasher.unsquashFK(statement.oldFkey);
22135
- let sql = `ALTER TABLE "${oldFk.tableFrom}" DROP CONSTRAINT "${oldFk.name}";
22169
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${oldFk.tableFrom}"` : `"${oldFk.tableFrom}"`;
22170
+ let sql = `ALTER TABLE ${tableNameWithSchema} DROP CONSTRAINT "${oldFk.name}";
22136
22171
  `;
22137
22172
  const onDeleteStatement = newFk.onDelete ? ` ON DELETE ${newFk.onDelete}` : "";
22138
22173
  const onUpdateStatement = newFk.onUpdate ? ` ON UPDATE ${newFk.onUpdate}` : "";
22139
22174
  const fromColumnsString = newFk.columnsFrom.map((it) => `"${it}"`).join(",");
22140
22175
  const toColumnsString = newFk.columnsTo.map((it) => `"${it}"`).join(",");
22141
- const alterStatement = `ALTER TABLE "${newFk.tableFrom}" ADD CONSTRAINT "${newFk.name}" FOREIGN KEY (${fromColumnsString}) REFERENCES "${newFk.tableTo}"(${toColumnsString})${onDeleteStatement}${onUpdateStatement}`;
22176
+ const tableFromNameWithSchema = statement.schema ? `"${statement.schema}"."${newFk.tableFrom}"` : `"${newFk.tableFrom}"`;
22177
+ const alterStatement = `ALTER TABLE ${tableFromNameWithSchema} ADD CONSTRAINT "${newFk.name}" FOREIGN KEY (${fromColumnsString}) REFERENCES "${newFk.tableTo}"(${toColumnsString})${onDeleteStatement}${onUpdateStatement}`;
22142
22178
  sql += "DO $$ BEGIN\n";
22143
22179
  sql += " " + alterStatement + ";\n";
22144
22180
  sql += "EXCEPTION\n";
@@ -22168,7 +22204,8 @@ var PgDeleteForeignKeyConvertor = class extends Convertor {
22168
22204
  convert(statement) {
22169
22205
  const tableFrom = statement.tableName;
22170
22206
  const { name } = PgSquasher.unsquashFK(statement.data);
22171
- return `ALTER TABLE "${tableFrom}" DROP CONSTRAINT "${name}";
22207
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${tableFrom}"` : `"${tableFrom}"`;
22208
+ return `ALTER TABLE ${tableNameWithSchema} DROP CONSTRAINT "${name}";
22172
22209
  `;
22173
22210
  }
22174
22211
  };
@@ -22205,7 +22242,8 @@ var CreatePgIndexConvertor = class extends Convertor {
22205
22242
  const { name, columns, isUnique } = PgSquasher.unsquashIdx(statement.data);
22206
22243
  const indexPart = isUnique ? "UNIQUE INDEX" : "INDEX";
22207
22244
  const value = columns.map((it) => `"${it}"`).join(",");
22208
- return `CREATE ${indexPart} IF NOT EXISTS "${name}" ON "${statement.tableName}" (${value});`;
22245
+ const tableNameWithSchema = statement.schema ? `"${statement.schema}"."${statement.tableName}"` : `"${statement.tableName}"`;
22246
+ return `CREATE ${indexPart} IF NOT EXISTS "${name}" ON ${tableNameWithSchema} (${value});`;
22209
22247
  }
22210
22248
  };
22211
22249
  var CreateMySqlIndexConvertor = class extends Convertor {
@@ -22289,8 +22327,9 @@ var PgAlterTableSetNewSchemaConvertor = class extends Convertor {
22289
22327
  return statement.type === "alter_table_set_new_schema" && dialect3 === "pg";
22290
22328
  }
22291
22329
  convert(statement) {
22292
- const { tableName, to } = statement;
22293
- return `ALTER TABLE "${tableName}" SET SCHEMA "${to}";
22330
+ const { tableName, to, from } = statement;
22331
+ const tableNameWithSchema = from ? `"${from}"."${tableName}"` : `"${tableName}"`;
22332
+ return `ALTER TABLE ${tableNameWithSchema} SET SCHEMA "${to}";
22294
22333
  `;
22295
22334
  }
22296
22335
  };
@@ -22299,8 +22338,9 @@ var PgAlterTableRemoveFromSchemaConvertor = class extends Convertor {
22299
22338
  return statement.type === "alter_table_remove_from_schema" && dialect3 === "pg";
22300
22339
  }
22301
22340
  convert(statement) {
22302
- const { tableName } = statement;
22303
- return `ALTER TABLE "${tableName}" SET SCHEMA public;
22341
+ const { tableName, schema: schema4 } = statement;
22342
+ const tableNameWithSchema = schema4 ? `"${schema4}"."${tableName}"` : `"${tableName}"`;
22343
+ return `ALTER TABLE ${tableNameWithSchema} SET SCHEMA public;
22304
22344
  `;
22305
22345
  }
22306
22346
  };
@@ -22384,7 +22424,9 @@ convertors.push(new PgCreateTableConvertor());
22384
22424
  convertors.push(new MySqlCreateTableConvertor());
22385
22425
  convertors.push(new SQLiteCreateTableConvertor());
22386
22426
  convertors.push(new CreateTypeEnumConvertor());
22387
- convertors.push(new DropTableConvertor());
22427
+ convertors.push(new PgDropTableConvertor());
22428
+ convertors.push(new MySQLDropTableConvertor());
22429
+ convertors.push(new SQLiteDropTableConvertor());
22388
22430
  convertors.push(new PgRenameTableConvertor());
22389
22431
  convertors.push(new MySqlRenameTableConvertor());
22390
22432
  convertors.push(new SqliteRenameTableConvertor());
@@ -22764,6 +22806,7 @@ var _prepareAlterColumns = (tableName, schema4, columns, json2) => {
22764
22806
  tableName,
22765
22807
  columnName,
22766
22808
  newDefaultValue: column4.default.new,
22809
+ oldDefaultValue: column4.default.old,
22767
22810
  schema: schema4,
22768
22811
  columnOnUpdate,
22769
22812
  columnNotNull,
@@ -22837,6 +22880,7 @@ var _prepareAlterColumns = (tableName, schema4, columns, json2) => {
22837
22880
  setPkStatements.push({
22838
22881
  type: "alter_table_alter_column_set_pk",
22839
22882
  tableName,
22883
+ schema: schema4,
22840
22884
  columnName
22841
22885
  });
22842
22886
  }
@@ -22903,15 +22947,21 @@ var prepareDropReferencesJson = (tableName, schema4, foreignKeys) => {
22903
22947
  });
22904
22948
  };
22905
22949
  var prepareAlterReferencesJson = (tableName, schema4, foreignKeys) => {
22906
- return Object.values(foreignKeys).map((fkData) => {
22907
- return {
22908
- type: "alter_reference",
22909
- tableName,
22910
- data: fkData.__new,
22911
- oldFkey: fkData.__old,
22912
- schema: schema4
22913
- };
22914
- });
22950
+ const keys = Object.keys(foreignKeys);
22951
+ const stmts = [];
22952
+ if (keys.length > 0) {
22953
+ stmts.push(
22954
+ ...prepareDropReferencesJson(tableName, schema4, {
22955
+ [keys[0]]: foreignKeys[keys[0]].__old
22956
+ })
22957
+ );
22958
+ stmts.push(
22959
+ ...prepareCreateReferencesJson(tableName, schema4, {
22960
+ [keys[0]]: foreignKeys[keys[0]].__new
22961
+ })
22962
+ );
22963
+ }
22964
+ return stmts;
22915
22965
  };
22916
22966
  var prepareDropIndexesJson = (tableName, schema4, indexes) => {
22917
22967
  return Object.values(indexes).map((indexData) => {
@@ -22951,33 +23001,36 @@ var prepareAlterCompositePrimaryKeySqlite = (tableName, pks) => {
22951
23001
  };
22952
23002
  });
22953
23003
  };
22954
- var prepareAddCompositePrimaryKeyPg = (tableName, pks, json2) => {
23004
+ var prepareAddCompositePrimaryKeyPg = (tableName, schema4, pks, json2) => {
22955
23005
  return Object.values(pks).map((it) => {
22956
23006
  return {
22957
23007
  type: "create_composite_pk",
22958
23008
  tableName,
22959
23009
  data: it,
23010
+ schema: schema4,
22960
23011
  constraintName: json2.tables[tableName].compositePrimaryKeys[`${tableName}_${PgSquasher.unsquashPK(it).columns.join("_")}`].name
22961
23012
  };
22962
23013
  });
22963
23014
  };
22964
- var prepareDeleteCompositePrimaryKeyPg = (tableName, pks, json1) => {
23015
+ var prepareDeleteCompositePrimaryKeyPg = (tableName, schema4, pks, json1) => {
22965
23016
  return Object.values(pks).map((it) => {
22966
23017
  return {
22967
23018
  type: "delete_composite_pk",
22968
23019
  tableName,
22969
23020
  data: it,
23021
+ schema: schema4,
22970
23022
  constraintName: json1.tables[tableName].compositePrimaryKeys[`${tableName}_${PgSquasher.unsquashPK(it).columns.join("_")}`].name
22971
23023
  };
22972
23024
  });
22973
23025
  };
22974
- var prepareAlterCompositePrimaryKeyPg = (tableName, pks, json1, json2) => {
23026
+ var prepareAlterCompositePrimaryKeyPg = (tableName, schema4, pks, json1, json2) => {
22975
23027
  return Object.values(pks).map((it) => {
22976
23028
  return {
22977
23029
  type: "alter_composite_pk",
22978
23030
  tableName,
22979
23031
  old: it.__old,
22980
23032
  new: it.__new,
23033
+ schema: schema4,
22981
23034
  oldConstraintName: json1.tables[tableName].compositePrimaryKeys[`${tableName}_${PgSquasher.unsquashPK(it.__old).columns.join("_")}`].name,
22982
23035
  newConstraintName: json2.tables[tableName].compositePrimaryKeys[`${tableName}_${PgSquasher.unsquashPK(it.__new).columns.join("_")}`].name
22983
23036
  };
@@ -23252,6 +23305,7 @@ var applySnapshotsDiff = async (json1, json2, dialect3, schemasResolver, tablesR
23252
23305
  const jsonRemoveTableFromSchemas = [];
23253
23306
  const jsonSetNewTableSchemas = [];
23254
23307
  allAlteredResolved.forEach((it) => {
23308
+ const schemaUnwrapped = valueFromSelfOrPatchedNew(it.schema);
23255
23309
  let addedCompositePKs;
23256
23310
  let deletedCompositePKs;
23257
23311
  let alteredCompositePKs;
@@ -23271,16 +23325,19 @@ var applySnapshotsDiff = async (json1, json2, dialect3, schemasResolver, tablesR
23271
23325
  } else if (dialect3 === "pg") {
23272
23326
  addedCompositePKs = prepareAddCompositePrimaryKeyPg(
23273
23327
  it.name,
23328
+ schemaUnwrapped,
23274
23329
  it.addedCompositePKs,
23275
23330
  curFull
23276
23331
  );
23277
23332
  deletedCompositePKs = prepareDeleteCompositePrimaryKeyPg(
23278
23333
  it.name,
23334
+ schemaUnwrapped,
23279
23335
  it.deletedCompositePKs,
23280
23336
  prevFull
23281
23337
  );
23282
23338
  alteredCompositePKs = prepareAlterCompositePrimaryKeyPg(
23283
23339
  it.name,
23340
+ schemaUnwrapped,
23284
23341
  it.alteredCompositePKs,
23285
23342
  prevFull,
23286
23343
  curFull
@@ -23389,8 +23446,12 @@ var applySnapshotsDiff = async (json1, json2, dialect3, schemasResolver, tablesR
23389
23446
  },
23390
23447
  {}
23391
23448
  );
23392
- jsonCreateIndexesForAllAlteredTables.push(...prepareCreateIndexesJson(it.name, schema4, createdIndexes || {}));
23393
- jsonDropIndexesForAllAlteredTables.push(...prepareDropIndexesJson(it.name, schema4, droppedIndexes || {}));
23449
+ jsonCreateIndexesForAllAlteredTables.push(
23450
+ ...prepareCreateIndexesJson(it.name, schema4, createdIndexes || {})
23451
+ );
23452
+ jsonDropIndexesForAllAlteredTables.push(
23453
+ ...prepareDropIndexesJson(it.name, schema4, droppedIndexes || {})
23454
+ );
23394
23455
  });
23395
23456
  const jsonCreateReferencesForCreatedTables = created.map((it) => {
23396
23457
  return prepareCreateReferencesJson(it.name, it.schema, it.foreignKeys);
@@ -23411,7 +23472,12 @@ var applySnapshotsDiff = async (json1, json2, dialect3, schemasResolver, tablesR
23411
23472
  return [...forAdded, ...forAltered, ...alteredFKs];
23412
23473
  }).flat();
23413
23474
  const jsonCreateReferences = jsonCreateReferencesForCreatedTables;
23414
- const jsonAlterReferencesForAlteredTables = jsonReferencesForAllAlteredTables;
23475
+ const jsonCreatedReferencesForAlteredTables = jsonReferencesForAllAlteredTables.filter(
23476
+ (t) => t.type === "create_reference"
23477
+ );
23478
+ const jsonDroppedReferencesForAlteredTables = jsonReferencesForAllAlteredTables.filter(
23479
+ (t) => t.type === "delete_reference"
23480
+ );
23415
23481
  const createEnums = (_b = (_a = typedResult.addedEnums) == null ? void 0 : _a.map((it) => {
23416
23482
  return prepareCreateEnumJson(it.name, it.values);
23417
23483
  })) != null ? _b : [];
@@ -23459,15 +23525,16 @@ var applySnapshotsDiff = async (json1, json2, dialect3, schemasResolver, tablesR
23459
23525
  jsonStatements.push(...jsonRenameTables);
23460
23526
  jsonStatements.push(...jsonRenameColumnsStatements);
23461
23527
  jsonStatements.push(...jsonDeletedCompositePKs);
23528
+ jsonStatements.push(...jsonDroppedReferencesForAlteredTables);
23462
23529
  jsonStatements.push(...jsonDropIndexesForAllAlteredTables);
23463
23530
  jsonStatements.push(...jsonTableAlternations.alterColumns);
23464
23531
  jsonStatements.push(...jsonTableAlternations.createColumns);
23465
- jsonStatements.push(...jsonAlterReferencesForAlteredTables);
23532
+ jsonStatements.push(...jsonCreateIndexesForCreatedTables);
23533
+ jsonStatements.push(...jsonCreateIndexesForAllAlteredTables);
23534
+ jsonStatements.push(...jsonCreatedReferencesForAlteredTables);
23466
23535
  jsonStatements.push(...jsonTableAlternations.dropColumns);
23467
23536
  if (dialect3 !== "sqlite")
23468
23537
  jsonStatements.push(...jsonCreateReferences);
23469
- jsonStatements.push(...jsonCreateIndexesForCreatedTables);
23470
- jsonStatements.push(...jsonCreateIndexesForAllAlteredTables);
23471
23538
  jsonStatements.push(...jsonAddedCompositePKs);
23472
23539
  jsonStatements.push(...jsonAlteredCompositePKs);
23473
23540
  jsonStatements.push(...jsonSetTableSchemas);