drizzle-kit 0.19.11-6427e88 → 0.19.11-6f50bf8

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 (3) hide show
  1. package/index.cjs +35 -31
  2. package/package.json +1 -1
  3. package/utils.js +16 -7
package/index.cjs CHANGED
@@ -11539,16 +11539,21 @@ var init_mysqlSerializer = __esm({
11539
11539
  const uniqueConstraintObject = {};
11540
11540
  columns.forEach((column7) => {
11541
11541
  const notNull = column7.notNull;
11542
- const primaryKey = column7.primary;
11543
11542
  const sqlTypeLowered = column7.getSQLType().toLowerCase();
11544
11543
  const columnToSet = {
11545
11544
  name: column7.name,
11546
11545
  type: column7.getSQLType(),
11547
- primaryKey,
11546
+ primaryKey: false,
11548
11547
  notNull,
11549
11548
  autoincrement: typeof column7.autoIncrement === "undefined" ? false : column7.autoIncrement,
11550
11549
  onUpdate: column7.hasOnUpdateNow
11551
11550
  };
11551
+ if (column7.primary) {
11552
+ primaryKeysObject[`${tableName}_${column7.name}`] = {
11553
+ name: `${tableName}_${column7.name}`,
11554
+ columns: [column7.name]
11555
+ };
11556
+ }
11552
11557
  if (column7.isUnique) {
11553
11558
  const existingUnique = uniqueConstraintObject[column7.uniqueName];
11554
11559
  if (typeof existingUnique !== "undefined") {
@@ -11862,17 +11867,12 @@ We have encountered a collision between the index name on columns ${source_defau
11862
11867
  }
11863
11868
  }
11864
11869
  for (const [key, value] of Object.entries(tableToPk)) {
11865
- if (value.length > 1) {
11866
- result[key].compositePrimaryKeys = {
11867
- [`${key}_${value.sort().join("_")}`]: {
11868
- name: `${key}_${value.join("_")}`,
11869
- columns: value.sort()
11870
- }
11871
- };
11872
- } else if (value.length === 1) {
11873
- result[key].columns[value[0]].primaryKey = true;
11874
- } else {
11875
- }
11870
+ result[key].compositePrimaryKeys = {
11871
+ [`${key}_${value.sort().join("_")}`]: {
11872
+ name: `${key}_${value.join("_")}`,
11873
+ columns: value.sort()
11874
+ }
11875
+ };
11876
11876
  }
11877
11877
  if (progressCallback) {
11878
11878
  progressCallback("columns", columnsCount, "done");
@@ -12320,7 +12320,7 @@ ${withStyle.errorWarning(`We've found duplicated unique constraint names in ${so
12320
12320
  END AS data_type, INFORMATION_SCHEMA.COLUMNS.table_name, INFORMATION_SCHEMA.COLUMNS.column_name, INFORMATION_SCHEMA.COLUMNS.column_default, INFORMATION_SCHEMA.COLUMNS.data_type as additional_dt
12321
12321
  FROM pg_attribute a
12322
12322
  JOIN INFORMATION_SCHEMA.COLUMNS ON INFORMATION_SCHEMA.COLUMNS.column_name = a.attname
12323
- WHERE a.attrelid = '${tableSchema}.${tableName}'::regclass and INFORMATION_SCHEMA.COLUMNS.table_name = '${tableName}'
12323
+ WHERE a.attrelid = '"${tableSchema}"."${tableName}"'::regclass and INFORMATION_SCHEMA.COLUMNS.table_name = '${tableName}'
12324
12324
  AND a.attnum > 0
12325
12325
  AND NOT a.attisdropped
12326
12326
  ORDER BY a.attnum;`
@@ -12879,17 +12879,12 @@ The unique constraint ${source_default.underline.blue(
12879
12879
  WHERE m.type = 'table' and m.tbl_name != 'sqlite_sequence' and m.tbl_name != 'sqlite_stat1' and m.tbl_name != '_litestream_seq' and m.tbl_name != '_litestream_lock';
12880
12880
  `
12881
12881
  );
12882
- const isSeqExists = await db.query(
12883
- `SELECT * FROM sqlite_master WHERE type='table' AND name='sqlite_sequence';`
12884
- );
12885
12882
  const tablesWithSeq = [];
12886
- if (isSeqExists.length > 0) {
12887
- const seq = await db.query(
12888
- `SELECT * FROM sqlite_sequence WHERE name != 'sqlite_sequence' and name != 'sqlite_stat1' and name != '_litestream_seq' and name != '_litestream_lock';`
12889
- );
12890
- for (const s of seq) {
12891
- tablesWithSeq.push(s.name);
12892
- }
12883
+ const seq = await db.query(
12884
+ `SELECT * FROM sqlite_master WHERE name != 'sqlite_sequence' and name != 'sqlite_stat1' and name != '_litestream_seq' and name != '_litestream_lock' and sql GLOB '*[ *' || CHAR(9) || CHAR(10) || CHAR(13) || ']AUTOINCREMENT[^'']*';`
12885
+ );
12886
+ for (const s of seq) {
12887
+ tablesWithSeq.push(s.name);
12893
12888
  }
12894
12889
  let columnsCount = 0;
12895
12890
  let tablesCount = /* @__PURE__ */ new Set();
@@ -16576,6 +16571,7 @@ var init_jsonStatements = __esm({
16576
16571
  const columnNotNull = json2.tables[tableName].columns[columnName].notNull;
16577
16572
  const columnAutoIncrement = json2.tables[tableName].columns[columnName].autoincrement;
16578
16573
  const columnPk = json2.tables[tableName].columns[columnName].primaryKey;
16574
+ const compositePk = json2.tables[tableName].compositePrimaryKeys[`${tableName}_${columnName}`];
16579
16575
  if (typeof column7.name !== "string") {
16580
16576
  statements.push({
16581
16577
  type: "alter_table_rename_column",
@@ -16600,7 +16596,7 @@ var init_jsonStatements = __esm({
16600
16596
  columnPk
16601
16597
  });
16602
16598
  }
16603
- if (((_e = column7.primaryKey) == null ? void 0 : _e.type) === "deleted" || ((_f = column7.primaryKey) == null ? void 0 : _f.type) === "changed" && !column7.primaryKey.new) {
16599
+ if (((_e = column7.primaryKey) == null ? void 0 : _e.type) === "deleted" || ((_f = column7.primaryKey) == null ? void 0 : _f.type) === "changed" && !column7.primaryKey.new && typeof compositePk === "undefined") {
16604
16600
  dropPkStatements.push({
16605
16601
  ////
16606
16602
  type: "alter_table_alter_column_drop_pk",
@@ -16879,15 +16875,22 @@ var init_jsonStatements = __esm({
16879
16875
  };
16880
16876
  });
16881
16877
  };
16882
- prepareAddCompositePrimaryKeyMySql = (tableName, pks, json2) => {
16883
- return Object.values(pks).map((it) => {
16884
- return {
16878
+ prepareAddCompositePrimaryKeyMySql = (tableName, pks, json1, json2) => {
16879
+ var _a, _b;
16880
+ const res = [];
16881
+ for (const it of Object.values(pks)) {
16882
+ const unsquashed = MySqlSquasher.unsquashPK(it);
16883
+ if (unsquashed.columns.length === 1 && ((_b = (_a = json1.tables[tableName]) == null ? void 0 : _a.columns[unsquashed.columns[0]]) == null ? void 0 : _b.primaryKey)) {
16884
+ continue;
16885
+ }
16886
+ res.push({
16885
16887
  type: "create_composite_pk",
16886
16888
  tableName,
16887
16889
  data: it,
16888
- constraintName: json2.tables[tableName].compositePrimaryKeys[`${tableName}_${MySqlSquasher.unsquashPK(it).columns.join("_")}`].name
16889
- };
16890
- });
16890
+ constraintName: json2.tables[tableName].compositePrimaryKeys[`${tableName}_${unsquashed.columns.join("_")}`].name
16891
+ });
16892
+ }
16893
+ return res;
16891
16894
  };
16892
16895
  prepareDeleteCompositePrimaryKeyMySql = (tableName, pks, json1) => {
16893
16896
  return Object.values(pks).map((it) => {
@@ -17280,6 +17283,7 @@ var init_snapshotsDiffer = __esm({
17280
17283
  addedCompositePKs = prepareAddCompositePrimaryKeyMySql(
17281
17284
  it.name,
17282
17285
  it.addedCompositePKs,
17286
+ prevFull,
17283
17287
  curFull
17284
17288
  );
17285
17289
  deletedCompositePKs = prepareDeleteCompositePrimaryKeyMySql(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-kit",
3
- "version": "0.19.11-6427e88",
3
+ "version": "0.19.11-6f50bf8",
4
4
  "repository": "https://github.com/drizzle-team/drizzle-kit-mirror",
5
5
  "author": "Drizzle Team",
6
6
  "license": "MIT",
package/utils.js CHANGED
@@ -15178,6 +15178,7 @@ var _prepareAlterColumns = (tableName, schema4, columns, json2) => {
15178
15178
  const columnNotNull = json2.tables[tableName].columns[columnName].notNull;
15179
15179
  const columnAutoIncrement = json2.tables[tableName].columns[columnName].autoincrement;
15180
15180
  const columnPk = json2.tables[tableName].columns[columnName].primaryKey;
15181
+ const compositePk = json2.tables[tableName].compositePrimaryKeys[`${tableName}_${columnName}`];
15181
15182
  if (typeof column4.name !== "string") {
15182
15183
  statements.push({
15183
15184
  type: "alter_table_rename_column",
@@ -15202,7 +15203,7 @@ var _prepareAlterColumns = (tableName, schema4, columns, json2) => {
15202
15203
  columnPk
15203
15204
  });
15204
15205
  }
15205
- if (((_e = column4.primaryKey) == null ? void 0 : _e.type) === "deleted" || ((_f = column4.primaryKey) == null ? void 0 : _f.type) === "changed" && !column4.primaryKey.new) {
15206
+ if (((_e = column4.primaryKey) == null ? void 0 : _e.type) === "deleted" || ((_f = column4.primaryKey) == null ? void 0 : _f.type) === "changed" && !column4.primaryKey.new && typeof compositePk === "undefined") {
15206
15207
  dropPkStatements.push({
15207
15208
  ////
15208
15209
  type: "alter_table_alter_column_drop_pk",
@@ -15481,15 +15482,22 @@ var prepareDeleteUniqueConstraintPg = (tableName, schema4, unqs) => {
15481
15482
  };
15482
15483
  });
15483
15484
  };
15484
- var prepareAddCompositePrimaryKeyMySql = (tableName, pks, json2) => {
15485
- return Object.values(pks).map((it) => {
15486
- return {
15485
+ var prepareAddCompositePrimaryKeyMySql = (tableName, pks, json1, json2) => {
15486
+ var _a, _b;
15487
+ const res = [];
15488
+ for (const it of Object.values(pks)) {
15489
+ const unsquashed = MySqlSquasher.unsquashPK(it);
15490
+ if (unsquashed.columns.length === 1 && ((_b = (_a = json1.tables[tableName]) == null ? void 0 : _a.columns[unsquashed.columns[0]]) == null ? void 0 : _b.primaryKey)) {
15491
+ continue;
15492
+ }
15493
+ res.push({
15487
15494
  type: "create_composite_pk",
15488
15495
  tableName,
15489
15496
  data: it,
15490
- constraintName: json2.tables[tableName].compositePrimaryKeys[`${tableName}_${MySqlSquasher.unsquashPK(it).columns.join("_")}`].name
15491
- };
15492
- });
15497
+ constraintName: json2.tables[tableName].compositePrimaryKeys[`${tableName}_${unsquashed.columns.join("_")}`].name
15498
+ });
15499
+ }
15500
+ return res;
15493
15501
  };
15494
15502
  var prepareDeleteCompositePrimaryKeyMySql = (tableName, pks, json1) => {
15495
15503
  return Object.values(pks).map((it) => {
@@ -15870,6 +15878,7 @@ var applySnapshotsDiff = async (json1, json2, dialect3, schemasResolver, tablesR
15870
15878
  addedCompositePKs = prepareAddCompositePrimaryKeyMySql(
15871
15879
  it.name,
15872
15880
  it.addedCompositePKs,
15881
+ prevFull,
15873
15882
  curFull
15874
15883
  );
15875
15884
  deletedCompositePKs = prepareDeleteCompositePrimaryKeyMySql(