drizzle-kit 0.17.1-4d93888 → 0.17.1-5df459e

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 (4) hide show
  1. package/index.d.ts +14 -0
  2. package/index.js +20315 -19058
  3. package/package.json +9 -5
  4. package/utils.js +283 -173
package/utils.js CHANGED
@@ -7169,7 +7169,7 @@ var info = (msg, greyMsg = "") => {
7169
7169
  var originUUID = "00000000-0000-0000-0000-000000000000";
7170
7170
  var snapshotVersion = "5";
7171
7171
 
7172
- // node_modules/.pnpm/zod@3.20.2/node_modules/zod/lib/index.mjs
7172
+ // node_modules/.pnpm/zod@3.20.6/node_modules/zod/lib/index.mjs
7173
7173
  var util;
7174
7174
  (function(util2) {
7175
7175
  util2.assertEqual = (val) => val;
@@ -7584,7 +7584,7 @@ var OK = (value) => ({ status: "valid", value });
7584
7584
  var isAborted = (x) => x.status === "aborted";
7585
7585
  var isDirty = (x) => x.status === "dirty";
7586
7586
  var isValid = (x) => x.status === "valid";
7587
- var isAsync = (x) => typeof Promise !== void 0 && x instanceof Promise;
7587
+ var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
7588
7588
  var errorUtil;
7589
7589
  (function(errorUtil2) {
7590
7590
  errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {};
@@ -7800,28 +7800,29 @@ var ZodType = class {
7800
7800
  return this._refinement(refinement);
7801
7801
  }
7802
7802
  optional() {
7803
- return ZodOptional.create(this);
7803
+ return ZodOptional.create(this, this._def);
7804
7804
  }
7805
7805
  nullable() {
7806
- return ZodNullable.create(this);
7806
+ return ZodNullable.create(this, this._def);
7807
7807
  }
7808
7808
  nullish() {
7809
- return this.optional().nullable();
7809
+ return this.nullable().optional();
7810
7810
  }
7811
7811
  array() {
7812
- return ZodArray.create(this);
7812
+ return ZodArray.create(this, this._def);
7813
7813
  }
7814
7814
  promise() {
7815
- return ZodPromise.create(this);
7815
+ return ZodPromise.create(this, this._def);
7816
7816
  }
7817
7817
  or(option) {
7818
- return ZodUnion.create([this, option]);
7818
+ return ZodUnion.create([this, option], this._def);
7819
7819
  }
7820
7820
  and(incoming) {
7821
- return ZodIntersection.create(this, incoming);
7821
+ return ZodIntersection.create(this, incoming, this._def);
7822
7822
  }
7823
7823
  transform(transform) {
7824
7824
  return new ZodEffects({
7825
+ ...processCreateParams(this._def),
7825
7826
  schema: this,
7826
7827
  typeName: ZodFirstPartyTypeKind.ZodEffects,
7827
7828
  effect: { type: "transform", transform }
@@ -7830,6 +7831,7 @@ var ZodType = class {
7830
7831
  default(def) {
7831
7832
  const defaultValueFunc = typeof def === "function" ? def : () => def;
7832
7833
  return new ZodDefault({
7834
+ ...processCreateParams(this._def),
7833
7835
  innerType: this,
7834
7836
  defaultValue: defaultValueFunc,
7835
7837
  typeName: ZodFirstPartyTypeKind.ZodDefault
@@ -7839,14 +7841,15 @@ var ZodType = class {
7839
7841
  return new ZodBranded({
7840
7842
  typeName: ZodFirstPartyTypeKind.ZodBranded,
7841
7843
  type: this,
7842
- ...processCreateParams(void 0)
7844
+ ...processCreateParams(this._def)
7843
7845
  });
7844
7846
  }
7845
7847
  catch(def) {
7846
- const defaultValueFunc = typeof def === "function" ? def : () => def;
7848
+ const catchValueFunc = typeof def === "function" ? def : () => def;
7847
7849
  return new ZodCatch({
7850
+ ...processCreateParams(this._def),
7848
7851
  innerType: this,
7849
- defaultValue: defaultValueFunc,
7852
+ catchValue: catchValueFunc,
7850
7853
  typeName: ZodFirstPartyTypeKind.ZodCatch
7851
7854
  });
7852
7855
  }
@@ -7868,24 +7871,25 @@ var ZodType = class {
7868
7871
  }
7869
7872
  };
7870
7873
  var cuidRegex = /^c[^\s-]{8,}$/i;
7874
+ var cuid2Regex = /^[a-z][a-z0-9]*$/;
7871
7875
  var uuidRegex = /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;
7872
- var emailRegex = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
7876
+ var emailRegex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|([^-]([a-zA-Z0-9-]*\.)+[a-zA-Z]{2,}))$/;
7873
7877
  var datetimeRegex = (args) => {
7874
7878
  if (args.precision) {
7875
7879
  if (args.offset) {
7876
- return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${args.precision}}(([+-]\\d{2}:\\d{2})|Z)$`);
7880
+ return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${args.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`);
7877
7881
  } else {
7878
7882
  return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${args.precision}}Z$`);
7879
7883
  }
7880
7884
  } else if (args.precision === 0) {
7881
7885
  if (args.offset) {
7882
- return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}:\\d{2})|Z)$`);
7886
+ return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$`);
7883
7887
  } else {
7884
7888
  return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$`);
7885
7889
  }
7886
7890
  } else {
7887
7891
  if (args.offset) {
7888
- return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}:\\d{2})|Z)$`);
7892
+ return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$`);
7889
7893
  } else {
7890
7894
  return new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$`);
7891
7895
  }
@@ -8007,6 +8011,16 @@ var ZodString = class extends ZodType {
8007
8011
  });
8008
8012
  status.dirty();
8009
8013
  }
8014
+ } else if (check.kind === "cuid2") {
8015
+ if (!cuid2Regex.test(input.data)) {
8016
+ ctx = this._getOrReturnCtx(input, ctx);
8017
+ addIssueToContext(ctx, {
8018
+ validation: "cuid2",
8019
+ code: ZodIssueCode.invalid_string,
8020
+ message: check.message
8021
+ });
8022
+ status.dirty();
8023
+ }
8010
8024
  } else if (check.kind === "url") {
8011
8025
  try {
8012
8026
  new URL(input.data);
@@ -8088,6 +8102,9 @@ var ZodString = class extends ZodType {
8088
8102
  cuid(message) {
8089
8103
  return this._addCheck({ kind: "cuid", ...errorUtil.errToObj(message) });
8090
8104
  }
8105
+ cuid2(message) {
8106
+ return this._addCheck({ kind: "cuid2", ...errorUtil.errToObj(message) });
8107
+ }
8091
8108
  datetime(options) {
8092
8109
  var _a;
8093
8110
  if (typeof options === "string") {
@@ -8162,6 +8179,9 @@ var ZodString = class extends ZodType {
8162
8179
  get isCUID() {
8163
8180
  return !!this._def.checks.find((ch) => ch.kind === "cuid");
8164
8181
  }
8182
+ get isCUID2() {
8183
+ return !!this._def.checks.find((ch) => ch.kind === "cuid2");
8184
+ }
8165
8185
  get minLength() {
8166
8186
  let min = null;
8167
8187
  for (const ch of this._def.checks) {
@@ -8392,7 +8412,22 @@ var ZodNumber = class extends ZodType {
8392
8412
  return max;
8393
8413
  }
8394
8414
  get isInt() {
8395
- return !!this._def.checks.find((ch) => ch.kind === "int");
8415
+ return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value));
8416
+ }
8417
+ get isFinite() {
8418
+ let max = null, min = null;
8419
+ for (const ch of this._def.checks) {
8420
+ if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
8421
+ return true;
8422
+ } else if (ch.kind === "min") {
8423
+ if (min === null || ch.value > min)
8424
+ min = ch.value;
8425
+ } else if (ch.kind === "max") {
8426
+ if (max === null || ch.value < max)
8427
+ max = ch.value;
8428
+ }
8429
+ }
8430
+ return Number.isFinite(min) && Number.isFinite(max);
8396
8431
  }
8397
8432
  };
8398
8433
  ZodNumber.create = (params) => {
@@ -8749,13 +8784,13 @@ var ZodArray = class extends ZodType {
8749
8784
  }
8750
8785
  }
8751
8786
  if (ctx.common.async) {
8752
- return Promise.all(ctx.data.map((item, i) => {
8787
+ return Promise.all([...ctx.data].map((item, i) => {
8753
8788
  return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));
8754
8789
  })).then((result2) => {
8755
8790
  return ParseStatus.mergeArray(status, result2);
8756
8791
  });
8757
8792
  }
8758
- const result = ctx.data.map((item, i) => {
8793
+ const result = [...ctx.data].map((item, i) => {
8759
8794
  return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));
8760
8795
  });
8761
8796
  return ParseStatus.mergeArray(status, result);
@@ -8804,15 +8839,6 @@ var objectUtil;
8804
8839
  };
8805
8840
  };
8806
8841
  })(objectUtil || (objectUtil = {}));
8807
- var AugmentFactory = (def) => (augmentation) => {
8808
- return new ZodObject({
8809
- ...def,
8810
- shape: () => ({
8811
- ...def.shape(),
8812
- ...augmentation
8813
- })
8814
- });
8815
- };
8816
8842
  function deepPartialify(schema3) {
8817
8843
  if (schema3 instanceof ZodObject) {
8818
8844
  const newShape = {};
@@ -8841,8 +8867,7 @@ var ZodObject = class extends ZodType {
8841
8867
  super(...arguments);
8842
8868
  this._cached = null;
8843
8869
  this.nonstrict = this.passthrough;
8844
- this.augment = AugmentFactory(this._def);
8845
- this.extend = AugmentFactory(this._def);
8870
+ this.augment = this.extend;
8846
8871
  }
8847
8872
  _getCached() {
8848
8873
  if (this._cached !== null)
@@ -8971,8 +8996,14 @@ var ZodObject = class extends ZodType {
8971
8996
  unknownKeys: "passthrough"
8972
8997
  });
8973
8998
  }
8974
- setKey(key, schema3) {
8975
- return this.augment({ [key]: schema3 });
8999
+ extend(augmentation) {
9000
+ return new ZodObject({
9001
+ ...this._def,
9002
+ shape: () => ({
9003
+ ...this._def.shape(),
9004
+ ...augmentation
9005
+ })
9006
+ });
8976
9007
  }
8977
9008
  merge(merging) {
8978
9009
  const merged = new ZodObject({
@@ -8983,6 +9014,9 @@ var ZodObject = class extends ZodType {
8983
9014
  });
8984
9015
  return merged;
8985
9016
  }
9017
+ setKey(key, schema3) {
9018
+ return this.augment({ [key]: schema3 });
9019
+ }
8986
9020
  catchall(index4) {
8987
9021
  return new ZodObject({
8988
9022
  ...this._def,
@@ -8991,9 +9025,10 @@ var ZodObject = class extends ZodType {
8991
9025
  }
8992
9026
  pick(mask) {
8993
9027
  const shape = {};
8994
- util.objectKeys(mask).map((key) => {
8995
- if (this.shape[key])
9028
+ util.objectKeys(mask).forEach((key) => {
9029
+ if (mask[key] && this.shape[key]) {
8996
9030
  shape[key] = this.shape[key];
9031
+ }
8997
9032
  });
8998
9033
  return new ZodObject({
8999
9034
  ...this._def,
@@ -9002,8 +9037,8 @@ var ZodObject = class extends ZodType {
9002
9037
  }
9003
9038
  omit(mask) {
9004
9039
  const shape = {};
9005
- util.objectKeys(this.shape).map((key) => {
9006
- if (util.objectKeys(mask).indexOf(key) === -1) {
9040
+ util.objectKeys(this.shape).forEach((key) => {
9041
+ if (!mask[key]) {
9007
9042
  shape[key] = this.shape[key];
9008
9043
  }
9009
9044
  });
@@ -9017,24 +9052,14 @@ var ZodObject = class extends ZodType {
9017
9052
  }
9018
9053
  partial(mask) {
9019
9054
  const newShape = {};
9020
- if (mask) {
9021
- util.objectKeys(this.shape).map((key) => {
9022
- if (util.objectKeys(mask).indexOf(key) === -1) {
9023
- newShape[key] = this.shape[key];
9024
- } else {
9025
- newShape[key] = this.shape[key].optional();
9026
- }
9027
- });
9028
- return new ZodObject({
9029
- ...this._def,
9030
- shape: () => newShape
9031
- });
9032
- } else {
9033
- for (const key in this.shape) {
9034
- const fieldSchema = this.shape[key];
9055
+ util.objectKeys(this.shape).forEach((key) => {
9056
+ const fieldSchema = this.shape[key];
9057
+ if (mask && !mask[key]) {
9058
+ newShape[key] = fieldSchema;
9059
+ } else {
9035
9060
  newShape[key] = fieldSchema.optional();
9036
9061
  }
9037
- }
9062
+ });
9038
9063
  return new ZodObject({
9039
9064
  ...this._def,
9040
9065
  shape: () => newShape
@@ -9042,21 +9067,10 @@ var ZodObject = class extends ZodType {
9042
9067
  }
9043
9068
  required(mask) {
9044
9069
  const newShape = {};
9045
- if (mask) {
9046
- util.objectKeys(this.shape).map((key) => {
9047
- if (util.objectKeys(mask).indexOf(key) === -1) {
9048
- newShape[key] = this.shape[key];
9049
- } else {
9050
- const fieldSchema = this.shape[key];
9051
- let newField = fieldSchema;
9052
- while (newField instanceof ZodOptional) {
9053
- newField = newField._def.innerType;
9054
- }
9055
- newShape[key] = newField;
9056
- }
9057
- });
9058
- } else {
9059
- for (const key in this.shape) {
9070
+ util.objectKeys(this.shape).forEach((key) => {
9071
+ if (mask && !mask[key]) {
9072
+ newShape[key] = this.shape[key];
9073
+ } else {
9060
9074
  const fieldSchema = this.shape[key];
9061
9075
  let newField = fieldSchema;
9062
9076
  while (newField instanceof ZodOptional) {
@@ -9064,7 +9078,7 @@ var ZodObject = class extends ZodType {
9064
9078
  }
9065
9079
  newShape[key] = newField;
9066
9080
  }
9067
- }
9081
+ });
9068
9082
  return new ZodObject({
9069
9083
  ...this._def,
9070
9084
  shape: () => newShape
@@ -9404,7 +9418,7 @@ var ZodTuple = class extends ZodType {
9404
9418
  });
9405
9419
  status.dirty();
9406
9420
  }
9407
- const items = ctx.data.map((item, itemIndex) => {
9421
+ const items = [...ctx.data].map((item, itemIndex) => {
9408
9422
  const schema3 = this._def.items[itemIndex] || this._def.rest;
9409
9423
  if (!schema3)
9410
9424
  return null;
@@ -9771,6 +9785,7 @@ var ZodLiteral = class extends ZodType {
9771
9785
  if (input.data !== this._def.value) {
9772
9786
  const ctx = this._getOrReturnCtx(input);
9773
9787
  addIssueToContext(ctx, {
9788
+ received: ctx.data,
9774
9789
  code: ZodIssueCode.invalid_literal,
9775
9790
  expected: this._def.value
9776
9791
  });
@@ -9844,6 +9859,12 @@ var ZodEnum = class extends ZodType {
9844
9859
  }
9845
9860
  return enumValues;
9846
9861
  }
9862
+ extract(values) {
9863
+ return ZodEnum.create(values);
9864
+ }
9865
+ exclude(values) {
9866
+ return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));
9867
+ }
9847
9868
  };
9848
9869
  ZodEnum.create = createZodEnum;
9849
9870
  var ZodNativeEnum = class extends ZodType {
@@ -9882,6 +9903,9 @@ ZodNativeEnum.create = (values, params) => {
9882
9903
  });
9883
9904
  };
9884
9905
  var ZodPromise = class extends ZodType {
9906
+ unwrap() {
9907
+ return this._def.type;
9908
+ }
9885
9909
  _parse(input) {
9886
9910
  const { ctx } = this._processInputParams(input);
9887
9911
  if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {
@@ -10095,23 +10119,29 @@ var ZodCatch = class extends ZodType {
10095
10119
  const result = this._def.innerType._parse({
10096
10120
  data: ctx.data,
10097
10121
  path: ctx.path,
10098
- parent: ctx
10122
+ parent: {
10123
+ ...ctx,
10124
+ common: {
10125
+ ...ctx.common,
10126
+ issues: []
10127
+ }
10128
+ }
10099
10129
  });
10100
10130
  if (isAsync(result)) {
10101
10131
  return result.then((result2) => {
10102
10132
  return {
10103
10133
  status: "valid",
10104
- value: result2.status === "valid" ? result2.value : this._def.defaultValue()
10134
+ value: result2.status === "valid" ? result2.value : this._def.catchValue()
10105
10135
  };
10106
10136
  });
10107
10137
  } else {
10108
10138
  return {
10109
10139
  status: "valid",
10110
- value: result.status === "valid" ? result.value : this._def.defaultValue()
10140
+ value: result.status === "valid" ? result.value : this._def.catchValue()
10111
10141
  };
10112
10142
  }
10113
10143
  }
10114
- removeDefault() {
10144
+ removeCatch() {
10115
10145
  return this._def.innerType;
10116
10146
  }
10117
10147
  };
@@ -10119,7 +10149,7 @@ ZodCatch.create = (type, params) => {
10119
10149
  return new ZodCatch({
10120
10150
  innerType: type,
10121
10151
  typeName: ZodFirstPartyTypeKind.ZodCatch,
10122
- defaultValue: typeof params.default === "function" ? params.default : () => params.default,
10152
+ catchValue: typeof params.catch === "function" ? params.catch : () => params.catch,
10123
10153
  ...processCreateParams(params)
10124
10154
  });
10125
10155
  };
@@ -11065,6 +11095,19 @@ var alternationsInColumn = (column4) => {
11065
11095
  return { ...others, notNull: { type: "deleted", value: it.notNull__deleted } };
11066
11096
  }
11067
11097
  return it;
11098
+ }).map((it) => {
11099
+ if ("primaryKey" in it) {
11100
+ return { ...it, primaryKey: { type: "changed", old: it.primaryKey.__old, new: it.primaryKey.__new } };
11101
+ }
11102
+ if ("primaryKey__added" in it) {
11103
+ const { notNull__added, ...others } = it;
11104
+ return { ...others, primaryKey: { type: "added", value: it.primaryKey__added } };
11105
+ }
11106
+ if ("primaryKey__deleted" in it) {
11107
+ const { notNull__deleted, ...others } = it;
11108
+ return { ...others, primaryKey: { type: "deleted", value: it.primaryKey__deleted } };
11109
+ }
11110
+ return it;
11068
11111
  }).map((it) => {
11069
11112
  if ("onUpdate" in it) {
11070
11113
  return { ...it, onUpdate: { type: "changed", old: it.onUpdate.__old, new: it.onUpdate.__new } };
@@ -11188,23 +11231,24 @@ var MySqlCreateTableConvertor = class extends Convertor {
11188
11231
  `;
11189
11232
  for (let i = 0; i < columns.length; i++) {
11190
11233
  const column4 = columns[i];
11191
- const primaryKeyStatement = column4.primaryKey ? "PRIMARY KEY" : "";
11192
- const notNullStatement = column4.notNull ? "NOT NULL" : "";
11193
- const defaultStatement = column4.default !== void 0 ? `DEFAULT ${column4.default}` : "";
11194
- const onUpdateStatement = column4.onUpdate ? `ON UPDATE CURRENT_TIMESTAMP` : "";
11195
- const autoincrementStatement = column4.autoincrement ? "AUTO_INCREMENT" : "";
11196
- statement += " " + `\`${column4.name}\` ${column4.type} ${autoincrementStatement} ${primaryKeyStatement} ${notNullStatement} ${defaultStatement} ${onUpdateStatement}`.replace(/ +/g, " ").trim();
11197
- statement += (i === columns.length - 1 ? "" : ",") + "\n";
11234
+ const primaryKeyStatement = column4.primaryKey ? " PRIMARY KEY" : "";
11235
+ const notNullStatement = column4.notNull ? " NOT NULL" : "";
11236
+ const defaultStatement = column4.default !== void 0 ? ` DEFAULT ${column4.default}` : "";
11237
+ const onUpdateStatement = column4.onUpdate ? ` ON UPDATE CURRENT_TIMESTAMP` : "";
11238
+ const autoincrementStatement = column4.autoincrement ? " AUTO_INCREMENT" : "";
11239
+ statement += " " + `\`${column4.name}\` ${column4.type}${autoincrementStatement}${primaryKeyStatement}${notNullStatement}${defaultStatement}${onUpdateStatement}`.trim();
11240
+ statement += i === columns.length - 1 ? "" : ",\n";
11198
11241
  }
11199
- statement += `);`;
11200
- statement += `
11201
- `;
11202
11242
  if (typeof compositePKs !== "undefined" && compositePKs.length > 0) {
11243
+ statement += ",\n";
11203
11244
  const compositePK4 = MySqlSquasher.unsquashPK(compositePKs[0]);
11204
- statement += `ALTER TABLE ${tName} ADD PRIMARY KEY(\`${compositePK4.columns.join("`,`")}\`);`;
11245
+ statement += ` PRIMARY KEY(\`${compositePK4.columns.join("`,`")}\`)`;
11205
11246
  statement += `
11206
11247
  `;
11207
11248
  }
11249
+ statement += `);`;
11250
+ statement += `
11251
+ `;
11208
11252
  return statement;
11209
11253
  }
11210
11254
  };
@@ -11295,7 +11339,7 @@ var DropTableConvertor = class extends Convertor {
11295
11339
  }
11296
11340
  convert(statement) {
11297
11341
  const { tableName } = statement;
11298
- return `DROP TABLE ${tableName};`;
11342
+ return `DROP TABLE \`${tableName}\`;`;
11299
11343
  }
11300
11344
  };
11301
11345
  var PgRenameTableConvertor = class extends Convertor {
@@ -11336,7 +11380,7 @@ var PgAlterTableRenameColumnConvertor = class extends Convertor {
11336
11380
  }
11337
11381
  convert(statement) {
11338
11382
  const { tableName, oldColumnName, newColumnName } = statement;
11339
- return `ALTER TABLE "${tableName}" RENAME COLUMN "${oldColumnName}" TO "${newColumnName}";`;
11383
+ return `ALTER TABLE ${tableName} RENAME COLUMN "${oldColumnName}" TO "${newColumnName}";`;
11340
11384
  }
11341
11385
  };
11342
11386
  var MySqlAlterTableRenameColumnConvertor = class extends Convertor {
@@ -11363,7 +11407,7 @@ var PgAlterTableDropColumnConvertor = class extends Convertor {
11363
11407
  }
11364
11408
  convert(statement) {
11365
11409
  const { tableName, columnName } = statement;
11366
- return `ALTER TABLE "${tableName}" DROP COLUMN IF EXISTS "${columnName}";`;
11410
+ return `ALTER TABLE ${tableName} DROP COLUMN IF EXISTS "${columnName}";`;
11367
11411
  }
11368
11412
  };
11369
11413
  var MySqlAlterTableDropColumnConvertor = class extends Convertor {
@@ -11394,7 +11438,7 @@ var PgAlterTableAddColumnConvertor = class extends Convertor {
11394
11438
  const defaultStatement = `${column4.default !== void 0 ? `DEFAULT ${column4.default}` : ""}`;
11395
11439
  const fixedType = isPgNativeType(column4.type) ? column4.type : `"${column4.type}"`;
11396
11440
  const notNullStatement = `${notNull ? "NOT NULL" : ""}`;
11397
- return `ALTER TABLE "${tableName}" ADD COLUMN "${name}" ${fixedType} ${defaultStatement} ${notNullStatement}`.replace(/ +/g, " ").trim() + ";";
11441
+ return `ALTER TABLE ${tableName} ADD COLUMN "${name}" ${fixedType} ${defaultStatement} ${notNullStatement}`.replace(/ +/g, " ").trim() + ";";
11398
11442
  }
11399
11443
  };
11400
11444
  var MySqlAlterTableAddColumnConvertor = class extends Convertor {
@@ -11403,12 +11447,13 @@ var MySqlAlterTableAddColumnConvertor = class extends Convertor {
11403
11447
  }
11404
11448
  convert(statement) {
11405
11449
  const { tableName, column: column4 } = statement;
11406
- const { name, type, notNull, primaryKey, autoincrement } = column4;
11407
- const defaultStatement = `${column4.default !== void 0 ? `DEFAULT ${column4.default}` : ""}`;
11408
- const notNullStatement = `${notNull ? "NOT NULL" : ""}`;
11409
- const primaryKeyStatement = `${primaryKey ? "PRIMARY KEY" : ""}`;
11410
- const autoincrementStatement = `${autoincrement ? "AUTO_INCREMENT" : ""}`;
11411
- return `ALTER TABLE ${tableName} ADD \`${name}\` ${type} ${primaryKeyStatement} ${autoincrementStatement} ${defaultStatement} ${notNullStatement}`.replace(/ +/g, " ").trim() + ";";
11450
+ const { name, type, notNull, primaryKey, autoincrement, onUpdate } = column4;
11451
+ const defaultStatement = `${column4.default !== void 0 ? ` DEFAULT ${column4.default}` : ""}`;
11452
+ const notNullStatement = `${notNull ? " NOT NULL" : ""}`;
11453
+ const primaryKeyStatement = `${primaryKey ? " PRIMARY KEY" : ""}`;
11454
+ const autoincrementStatement = `${autoincrement ? " AUTO_INCREMENT" : ""}`;
11455
+ const onUpdateStatement = `${onUpdate ? " ON UPDATE CURRENT_TIMESTAMP" : ""}`;
11456
+ return `ALTER TABLE ${tableName} ADD \`${name}\` ${type}${primaryKeyStatement}${autoincrementStatement}${defaultStatement}${notNullStatement}${onUpdateStatement};`;
11412
11457
  }
11413
11458
  };
11414
11459
  var SQLiteAlterTableAddColumnConvertor = class extends Convertor {
@@ -11432,7 +11477,7 @@ var PgAlterTableAlterColumnSetTypeConvertor = class extends Convertor {
11432
11477
  }
11433
11478
  convert(statement) {
11434
11479
  const { tableName, columnName, newDataType } = statement;
11435
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" SET DATA TYPE ${newDataType};`;
11480
+ return `ALTER TABLE ${tableName} ALTER COLUMN "${columnName}" SET DATA TYPE ${newDataType};`;
11436
11481
  }
11437
11482
  };
11438
11483
  var SQLiteAlterTableAlterColumnSetTypeConvertor = class extends Convertor {
@@ -11456,7 +11501,7 @@ var PgAlterTableAlterColumnSetDefaultConvertor = class extends Convertor {
11456
11501
  }
11457
11502
  convert(statement) {
11458
11503
  const { tableName, columnName } = statement;
11459
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" SET DEFAULT ${statement.newDefaultValue};`;
11504
+ return `ALTER TABLE ${tableName} ALTER COLUMN "${columnName}" SET DEFAULT ${statement.newDefaultValue};`;
11460
11505
  }
11461
11506
  };
11462
11507
  var SqliteAlterTableAlterColumnSetDefaultConvertor = class extends Convertor {
@@ -11480,30 +11525,28 @@ var PgAlterTableAlterColumnDropDefaultConvertor = class extends Convertor {
11480
11525
  }
11481
11526
  convert(statement) {
11482
11527
  const { tableName, columnName } = statement;
11483
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" DROP DEFAULT;`;
11528
+ return `ALTER TABLE ${tableName} ALTER COLUMN "${columnName}" DROP DEFAULT;`;
11484
11529
  }
11485
11530
  };
11486
- var MySqlAlterTableAlterColumnSetDefaultConvertor = class extends Convertor {
11531
+ var MySqlAlterTableAddPk = class extends Convertor {
11487
11532
  can(statement, dialect3) {
11488
- return statement.type === "alter_table_alter_column_set_default" && dialect3 === "mysql";
11533
+ return statement.type === "alter_table_alter_column_set_pk" && dialect3 === "mysql";
11489
11534
  }
11490
11535
  convert(statement) {
11491
- const { tableName, columnName } = statement;
11492
- return `ALTER TABLE ${tableName} ALTER COLUMN \`${columnName}\` SET DEFAULT ${statement.newDefaultValue};`;
11536
+ return `ALTER TABLE \`${statement.tableName}\` ADD PRIMARY KEY (\`${statement.columnName}\`);`;
11493
11537
  }
11494
11538
  };
11495
- var MySqlAlterTableAlterColumnDropDefaultConvertor = class extends Convertor {
11539
+ var MySqlAlterTableDropPk = class extends Convertor {
11496
11540
  can(statement, dialect3) {
11497
- return statement.type === "alter_table_alter_column_drop_default" && dialect3 === "mysql";
11541
+ return statement.type === "alter_table_alter_column_drop_pk" && dialect3 === "mysql";
11498
11542
  }
11499
11543
  convert(statement) {
11500
- const { tableName, columnName } = statement;
11501
- return `ALTER TABLE ${tableName} ALTER COLUMN \`${columnName}\` DROP DEFAULT;`;
11544
+ return `ALTER TABLE \`${statement.tableName}\` DROP PRIMARY KEY`;
11502
11545
  }
11503
11546
  };
11504
11547
  var MySqlModifyColumn = class extends Convertor {
11505
11548
  can(statement, dialect3) {
11506
- return (statement.type === "alter_table_alter_column_set_type" || statement.type === "alter_table_alter_column_set_notnull" || statement.type === "alter_table_alter_column_drop_notnull" || statement.type === "alter_table_alter_column_drop_on_update" || statement.type === "alter_table_alter_column_set_on_update" || statement.type === "alter_table_alter_column_set_autoincrement" || statement.type === "alter_table_alter_column_drop_autoincrement") && dialect3 === "mysql";
11549
+ return (statement.type === "alter_table_alter_column_set_type" || statement.type === "alter_table_alter_column_set_notnull" || statement.type === "alter_table_alter_column_drop_notnull" || statement.type === "alter_table_alter_column_drop_on_update" || statement.type === "alter_table_alter_column_set_on_update" || statement.type === "alter_table_alter_column_set_autoincrement" || statement.type === "alter_table_alter_column_drop_autoincrement" || statement.type === "alter_table_alter_column_set_default" || statement.type === "alter_table_alter_column_drop_default") && dialect3 === "mysql";
11507
11550
  }
11508
11551
  convert(statement) {
11509
11552
  const { tableName, columnName } = statement;
@@ -11512,6 +11555,7 @@ var MySqlModifyColumn = class extends Convertor {
11512
11555
  let columnNotNull = "";
11513
11556
  let columnOnUpdate = "";
11514
11557
  let columnAutoincrement = "";
11558
+ let primaryKey = statement.columnPk ? " PRIMARY KEY" : "";
11515
11559
  if (statement.type === "alter_table_alter_column_drop_notnull") {
11516
11560
  columnType = ` ${statement.newDataType}`;
11517
11561
  columnDefault = statement.columnDefault ? ` DEFAULT ${statement.columnDefault}` : "";
@@ -11541,19 +11585,31 @@ var MySqlModifyColumn = class extends Convertor {
11541
11585
  columnOnUpdate = columnOnUpdate = statement.columnOnUpdate ? ` ON UPDATE CURRENT_TIMESTAMP` : "";
11542
11586
  columnType = ` ${statement.newDataType}`;
11543
11587
  columnDefault = statement.columnDefault ? ` DEFAULT ${statement.columnDefault}` : "";
11544
- columnAutoincrement = "AUTO_INCREMENT";
11588
+ columnAutoincrement = " AUTO_INCREMENT";
11545
11589
  } else if (statement.type === "alter_table_alter_column_drop_autoincrement") {
11546
11590
  columnNotNull = statement.columnNotNull ? ` NOT NULL` : "";
11547
11591
  columnOnUpdate = columnOnUpdate = statement.columnOnUpdate ? ` ON UPDATE CURRENT_TIMESTAMP` : "";
11548
11592
  columnType = ` ${statement.newDataType}`;
11549
11593
  columnDefault = statement.columnDefault ? ` DEFAULT ${statement.columnDefault}` : "";
11550
11594
  columnAutoincrement = "";
11595
+ } else if (statement.type === "alter_table_alter_column_set_default") {
11596
+ columnNotNull = statement.columnNotNull ? ` NOT NULL` : "";
11597
+ columnOnUpdate = columnOnUpdate = statement.columnOnUpdate ? ` ON UPDATE CURRENT_TIMESTAMP` : "";
11598
+ columnType = ` ${statement.newDataType}`;
11599
+ columnDefault = ` DEFAULT ${statement.newDefaultValue}`;
11600
+ columnAutoincrement = statement.columnAutoIncrement ? " AUTO_INCREMENT" : "";
11601
+ } else if (statement.type === "alter_table_alter_column_drop_default") {
11602
+ columnNotNull = statement.columnNotNull ? ` NOT NULL` : "";
11603
+ columnOnUpdate = columnOnUpdate = statement.columnOnUpdate ? ` ON UPDATE CURRENT_TIMESTAMP` : "";
11604
+ columnType = ` ${statement.newDataType}`;
11605
+ columnDefault = "";
11606
+ columnAutoincrement = statement.columnAutoIncrement ? " AUTO_INCREMENT" : "";
11551
11607
  } else {
11552
11608
  columnType = ` ${statement.newDataType}`;
11553
11609
  columnNotNull = statement.columnNotNull ? ` NOT NULL` : "";
11554
11610
  columnOnUpdate = columnOnUpdate = statement.columnOnUpdate ? ` ON UPDATE CURRENT_TIMESTAMP` : "";
11555
11611
  columnDefault = statement.columnDefault ? ` DEFAULT ${statement.columnDefault}` : "";
11556
- columnAutoincrement = statement.columnAutoIncrement ? "AUTO_INCREMENT" : "";
11612
+ columnAutoincrement = statement.columnAutoIncrement ? " AUTO_INCREMENT" : "";
11557
11613
  }
11558
11614
  columnDefault = columnDefault instanceof Date ? columnDefault.toISOString() : columnDefault;
11559
11615
  return `ALTER TABLE ${tableName} MODIFY COLUMN \`${columnName}\`${columnType}${columnAutoincrement}${columnNotNull}${columnDefault}${columnOnUpdate};`;
@@ -11720,7 +11776,7 @@ var PgAlterTableAlterColumnSetNotNullConvertor = class extends Convertor {
11720
11776
  }
11721
11777
  convert(statement) {
11722
11778
  const { tableName, columnName } = statement;
11723
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" SET NOT NULL;`;
11779
+ return `ALTER TABLE ${tableName} ALTER COLUMN "${columnName}" SET NOT NULL;`;
11724
11780
  }
11725
11781
  };
11726
11782
  var SqliteAlterTableAlterColumnSetNotNullConvertor = class extends Convertor {
@@ -11744,7 +11800,7 @@ var PgAlterTableAlterColumnDropNotNullConvertor = class extends Convertor {
11744
11800
  }
11745
11801
  convert(statement) {
11746
11802
  const { tableName, columnName } = statement;
11747
- return `ALTER TABLE "${tableName}" ALTER COLUMN "${columnName}" DROP NOT NULL;`;
11803
+ return `ALTER TABLE ${tableName} ALTER COLUMN "${columnName}" DROP NOT NULL;`;
11748
11804
  }
11749
11805
  };
11750
11806
  var SqliteAlterTableAlterColumnDropNotNullConvertor = class extends Convertor {
@@ -11780,7 +11836,7 @@ var PgCreateForeignKeyConvertor = class extends Convertor {
11780
11836
  const onUpdateStatement = onUpdate ? `ON UPDATE ${onUpdate}` : "";
11781
11837
  const fromColumnsString = columnsFrom.map((it) => `"${it}"`).join(",");
11782
11838
  const toColumnsString = columnsTo.map((it) => `"${it}"`).join(",");
11783
- const alterStatement = `ALTER TABLE "${tableFrom}" ADD CONSTRAINT ${name} FOREIGN KEY (${fromColumnsString}) REFERENCES "${tableTo}"(${toColumnsString}) ${onDeleteStatement} ${onUpdateStatement}`.replace(/ +/g, " ").trim();
11839
+ const alterStatement = `ALTER TABLE ${tableFrom} ADD CONSTRAINT ${name} FOREIGN KEY (${fromColumnsString}) REFERENCES ${tableTo}(${toColumnsString}) ${onDeleteStatement} ${onUpdateStatement}`.replace(/ +/g, " ").trim();
11784
11840
  let sql = "DO $$ BEGIN\n";
11785
11841
  sql += " " + alterStatement + ";\n";
11786
11842
  sql += "EXCEPTION\n";
@@ -11831,20 +11887,19 @@ var PgAlterForeignKeyConvertor = class extends Convertor {
11831
11887
  convert(statement) {
11832
11888
  const newFk = PgSquasher.unsquashFK(statement.data);
11833
11889
  const oldFk = PgSquasher.unsquashFK(statement.oldFkey);
11834
- let sql = `ALTER TABLE "${oldFk.tableFrom}" DROP CONSTRAINT ${oldFk.name};
11890
+ let sql = `ALTER TABLE ${oldFk.tableFrom} DROP CONSTRAINT ${oldFk.name};
11835
11891
  `;
11836
11892
  const onDeleteStatement = newFk.onDelete ? `ON DELETE ${newFk.onDelete}` : "";
11837
11893
  const onUpdateStatement = newFk.onUpdate ? `ON UPDATE ${newFk.onDelete}` : "";
11838
11894
  const fromColumnsString = newFk.columnsFrom.map((it) => `"${it}"`).join(",");
11839
11895
  const toColumnsString = newFk.columnsTo.map((it) => `"${it}"`).join(",");
11840
- const alterStatement = `ALTER TABLE "${newFk.tableFrom}" ADD CONSTRAINT ${newFk.name} FOREIGN KEY (${fromColumnsString}) REFERENCES "${newFk.tableTo}"(${toColumnsString}) ${onDeleteStatement} ${onUpdateStatement}`.replace(/ +/g, " ").trim();
11896
+ const alterStatement = `ALTER TABLE ${newFk.tableFrom} ADD CONSTRAINT ${newFk.name} FOREIGN KEY (${fromColumnsString}) REFERENCES ${newFk.tableTo}(${toColumnsString}) ${onDeleteStatement} ${onUpdateStatement}`.replace(/ +/g, " ").trim();
11841
11897
  sql += "DO $$ BEGIN\n";
11842
11898
  sql += " " + alterStatement + ";\n";
11843
11899
  sql += "EXCEPTION\n";
11844
11900
  sql += " WHEN duplicate_object THEN null;\n";
11845
11901
  sql += "END $$;\n";
11846
11902
  return sql;
11847
- throw new Error("TODO");
11848
11903
  }
11849
11904
  };
11850
11905
  var SqliteAlterForeignKeyConvertor = class extends Convertor {
@@ -11868,7 +11923,7 @@ var PgDeleteForeignKeyConvertor = class extends Convertor {
11868
11923
  convert(statement) {
11869
11924
  const tableFrom = statement.tableName;
11870
11925
  const { name } = PgSquasher.unsquashFK(statement.data);
11871
- return `ALTER TABLE "${tableFrom}" DROP CONSTRAINT ${name};
11926
+ return `ALTER TABLE ${tableFrom} DROP CONSTRAINT ${name};
11872
11927
  `;
11873
11928
  }
11874
11929
  };
@@ -11905,7 +11960,7 @@ var CreatePgIndexConvertor = class extends Convertor {
11905
11960
  const { name, columns, isUnique } = PgSquasher.unsquashIdx(statement.data);
11906
11961
  const indexPart = isUnique ? "UNIQUE INDEX" : "INDEX";
11907
11962
  const value = columns.map((it) => `"${it}"`).join(",");
11908
- return `CREATE ${indexPart} IF NOT EXISTS "${name}" ON "${statement.tableName}" (${value});`;
11963
+ return `CREATE ${indexPart} IF NOT EXISTS ${name} ON ${statement.tableName} (${value});`;
11909
11964
  }
11910
11965
  };
11911
11966
  var CreateMySqlIndexConvertor = class extends Convertor {
@@ -11941,7 +11996,7 @@ var PgDropIndexConvertor = class extends Convertor {
11941
11996
  }
11942
11997
  convert(statement) {
11943
11998
  const { name } = PgSquasher.unsquashIdx(statement.data);
11944
- return `DROP INDEX IF EXISTS "${name}";`;
11999
+ return `DROP INDEX IF EXISTS ${name};`;
11945
12000
  }
11946
12001
  };
11947
12002
  var PgCreateSchemaConvertor = class extends Convertor {
@@ -12112,8 +12167,6 @@ convertors.push(new PgAlterTableAlterColumnDropNotNullConvertor());
12112
12167
  convertors.push(new PgAlterTableAlterColumnSetDefaultConvertor());
12113
12168
  convertors.push(new PgAlterTableAlterColumnDropDefaultConvertor());
12114
12169
  convertors.push(new MySqlModifyColumn());
12115
- convertors.push(new MySqlAlterTableAlterColumnSetDefaultConvertor());
12116
- convertors.push(new MySqlAlterTableAlterColumnDropDefaultConvertor());
12117
12170
  convertors.push(new PgCreateForeignKeyConvertor());
12118
12171
  convertors.push(new MySqlCreateForeignKeyConvertor());
12119
12172
  convertors.push(new PgAlterForeignKeyConvertor());
@@ -12144,8 +12197,10 @@ convertors.push(new SqliteAlterTableAlterCompositePrimaryKeyConvertor());
12144
12197
  convertors.push(new PgAlterTableCreateCompositePrimaryKeyConvertor());
12145
12198
  convertors.push(new PgAlterTableDeleteCompositePrimaryKeyConvertor());
12146
12199
  convertors.push(new PgAlterTableAlterCompositePrimaryKeyConvertor());
12147
- convertors.push(new MySqlAlterTableCreateCompositePrimaryKeyConvertor());
12148
12200
  convertors.push(new MySqlAlterTableDeleteCompositePrimaryKeyConvertor());
12201
+ convertors.push(new MySqlAlterTableDropPk());
12202
+ convertors.push(new MySqlAlterTableCreateCompositePrimaryKeyConvertor());
12203
+ convertors.push(new MySqlAlterTableAddPk());
12149
12204
  convertors.push(new MySqlAlterTableAlterCompositePrimaryKeyConvertor());
12150
12205
  var fromJson = (statements, dialect3) => {
12151
12206
  const result = statements.map((statement) => {
@@ -12155,10 +12210,10 @@ var fromJson = (statements, dialect3) => {
12155
12210
  const convertor = filtered.length === 1 ? filtered[0] : void 0;
12156
12211
  if (!convertor) {
12157
12212
  console.log("no convertor:", statement.type, dialect3);
12158
- return "dry run";
12213
+ return "";
12159
12214
  }
12160
12215
  return convertor.convert(statement);
12161
- });
12216
+ }).filter((it) => it !== "");
12162
12217
  return result;
12163
12218
  };
12164
12219
  https:
@@ -12349,7 +12404,7 @@ var _prepareSQLiteAddColumns = (tableName, columns, referenceData) => {
12349
12404
  });
12350
12405
  };
12351
12406
  var _prepareAlterColumns = (tableName, schema3, columns, json2) => {
12352
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
12407
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
12353
12408
  let statements = [];
12354
12409
  for (const column4 of columns) {
12355
12410
  const columnName = typeof column4.name !== "string" ? column4.name.new : column4.name;
@@ -12358,97 +12413,134 @@ var _prepareAlterColumns = (tableName, schema3, columns, json2) => {
12358
12413
  const columnOnUpdate = json2.tables[tableName].columns[columnName].onUpdate;
12359
12414
  const columnNotNull = json2.tables[tableName].columns[columnName].notNull;
12360
12415
  const columnAutoIncrement = json2.tables[tableName].columns[columnName].autoincrement;
12361
- if (typeof column4.name !== "string") {
12416
+ const columnPk = json2.tables[tableName].columns[columnName].primaryKey;
12417
+ if (((_a = column4.autoincrement) == null ? void 0 : _a.type) === "added") {
12362
12418
  statements.push({
12363
- type: "alter_table_rename_column",
12419
+ type: "alter_table_alter_column_set_autoincrement",
12364
12420
  tableName,
12365
- oldColumnName: column4.name.old,
12366
- newColumnName: column4.name.new,
12367
- schema: schema3
12421
+ columnName,
12422
+ schema: schema3,
12423
+ newDataType: columnType,
12424
+ columnDefault,
12425
+ columnOnUpdate,
12426
+ columnNotNull,
12427
+ columnAutoIncrement,
12428
+ columnPk
12368
12429
  });
12369
12430
  }
12370
- if (((_a = column4.type) == null ? void 0 : _a.type) === "changed") {
12431
+ if (((_b = column4.autoincrement) == null ? void 0 : _b.type) === "changed") {
12432
+ const type = column4.autoincrement.new ? "alter_table_alter_column_set_autoincrement" : "alter_table_alter_column_drop_autoincrement";
12371
12433
  statements.push({
12372
- type: "alter_table_alter_column_set_type",
12434
+ type,
12373
12435
  tableName,
12374
12436
  columnName,
12375
- newDataType: column4.type.new,
12376
12437
  schema: schema3,
12438
+ newDataType: columnType,
12377
12439
  columnDefault,
12378
12440
  columnOnUpdate,
12379
12441
  columnNotNull,
12380
- columnAutoIncrement
12442
+ columnAutoIncrement,
12443
+ columnPk
12381
12444
  });
12382
12445
  }
12383
- if (((_b = column4.default) == null ? void 0 : _b.type) === "added") {
12446
+ if (((_c = column4.autoincrement) == null ? void 0 : _c.type) === "deleted") {
12384
12447
  statements.push({
12385
- type: "alter_table_alter_column_set_default",
12448
+ type: "alter_table_alter_column_drop_autoincrement",
12386
12449
  tableName,
12387
12450
  columnName,
12388
- newDefaultValue: column4.default.value,
12389
- schema: schema3
12451
+ schema: schema3,
12452
+ newDataType: columnType,
12453
+ columnDefault,
12454
+ columnOnUpdate,
12455
+ columnNotNull,
12456
+ columnAutoIncrement,
12457
+ columnPk
12390
12458
  });
12391
12459
  }
12392
- if (((_c = column4.default) == null ? void 0 : _c.type) === "changed") {
12460
+ }
12461
+ for (const column4 of columns) {
12462
+ const columnName = typeof column4.name !== "string" ? column4.name.new : column4.name;
12463
+ const columnType = json2.tables[tableName].columns[columnName].type;
12464
+ const columnDefault = json2.tables[tableName].columns[columnName].default;
12465
+ const columnOnUpdate = json2.tables[tableName].columns[columnName].onUpdate;
12466
+ const columnNotNull = json2.tables[tableName].columns[columnName].notNull;
12467
+ const columnAutoIncrement = json2.tables[tableName].columns[columnName].autoincrement;
12468
+ const columnPk = json2.tables[tableName].columns[columnName].primaryKey;
12469
+ if (typeof column4.name !== "string") {
12393
12470
  statements.push({
12394
- type: "alter_table_alter_column_set_default",
12471
+ type: "alter_table_rename_column",
12395
12472
  tableName,
12396
- columnName,
12397
- newDefaultValue: column4.default.new,
12473
+ oldColumnName: column4.name.old,
12474
+ newColumnName: column4.name.new,
12398
12475
  schema: schema3
12399
12476
  });
12400
12477
  }
12401
- if (((_d = column4.default) == null ? void 0 : _d.type) === "deleted") {
12478
+ if (((_d = column4.type) == null ? void 0 : _d.type) === "changed") {
12402
12479
  statements.push({
12403
- type: "alter_table_alter_column_drop_default",
12480
+ type: "alter_table_alter_column_set_type",
12404
12481
  tableName,
12405
12482
  columnName,
12406
- schema: schema3
12483
+ newDataType: column4.type.new,
12484
+ schema: schema3,
12485
+ columnDefault,
12486
+ columnOnUpdate,
12487
+ columnNotNull,
12488
+ columnAutoIncrement,
12489
+ columnPk
12407
12490
  });
12408
12491
  }
12409
- if (((_e = column4.notNull) == null ? void 0 : _e.type) === "added") {
12492
+ if (((_e = column4.primaryKey) == null ? void 0 : _e.type) === "deleted" || ((_f = column4.primaryKey) == null ? void 0 : _f.type) === "changed" && !column4.primaryKey.new) {
12410
12493
  statements.push({
12411
- type: "alter_table_alter_column_set_notnull",
12494
+ type: "alter_table_alter_column_drop_pk",
12495
+ tableName,
12496
+ columnName
12497
+ });
12498
+ }
12499
+ if (((_g = column4.default) == null ? void 0 : _g.type) === "added") {
12500
+ statements.push({
12501
+ type: "alter_table_alter_column_set_default",
12412
12502
  tableName,
12413
12503
  columnName,
12504
+ newDefaultValue: column4.default.value,
12414
12505
  schema: schema3,
12415
- newDataType: columnType,
12416
- columnDefault,
12417
12506
  columnOnUpdate,
12418
12507
  columnNotNull,
12419
- columnAutoIncrement
12508
+ columnAutoIncrement,
12509
+ newDataType: columnType,
12510
+ columnPk
12420
12511
  });
12421
12512
  }
12422
- if (((_f = column4.notNull) == null ? void 0 : _f.type) === "changed") {
12423
- const type = column4.notNull.new ? "alter_table_alter_column_set_notnull" : "alter_table_alter_column_drop_notnull";
12513
+ if (((_h = column4.default) == null ? void 0 : _h.type) === "changed") {
12424
12514
  statements.push({
12425
- type,
12515
+ type: "alter_table_alter_column_set_default",
12426
12516
  tableName,
12427
12517
  columnName,
12518
+ newDefaultValue: column4.default.new,
12428
12519
  schema: schema3,
12429
- newDataType: columnType,
12430
- columnDefault,
12431
12520
  columnOnUpdate,
12432
12521
  columnNotNull,
12433
- columnAutoIncrement
12522
+ columnAutoIncrement,
12523
+ newDataType: columnType,
12524
+ columnPk
12434
12525
  });
12435
12526
  }
12436
- if (((_g = column4.notNull) == null ? void 0 : _g.type) === "deleted") {
12527
+ if (((_i = column4.default) == null ? void 0 : _i.type) === "deleted") {
12437
12528
  statements.push({
12438
- type: "alter_table_alter_column_drop_notnull",
12529
+ type: "alter_table_alter_column_drop_default",
12439
12530
  tableName,
12440
12531
  columnName,
12441
12532
  schema: schema3,
12442
- newDataType: columnType,
12443
12533
  columnDefault,
12444
12534
  columnOnUpdate,
12445
12535
  columnNotNull,
12446
- columnAutoIncrement
12536
+ columnAutoIncrement,
12537
+ newDataType: columnType,
12538
+ columnPk
12447
12539
  });
12448
12540
  }
12449
- if (((_h = column4.autoincrement) == null ? void 0 : _h.type) === "added") {
12541
+ if (((_j = column4.notNull) == null ? void 0 : _j.type) === "added") {
12450
12542
  statements.push({
12451
- type: "alter_table_alter_column_set_autoincrement",
12543
+ type: "alter_table_alter_column_set_notnull",
12452
12544
  tableName,
12453
12545
  columnName,
12454
12546
  schema: schema3,
@@ -12456,11 +12548,12 @@ var _prepareAlterColumns = (tableName, schema3, columns, json2) => {
12456
12548
  columnDefault,
12457
12549
  columnOnUpdate,
12458
12550
  columnNotNull,
12459
- columnAutoIncrement
12551
+ columnAutoIncrement,
12552
+ columnPk
12460
12553
  });
12461
12554
  }
12462
- if (((_i = column4.autoincrement) == null ? void 0 : _i.type) === "changed") {
12463
- const type = column4.autoincrement.new ? "alter_table_alter_column_set_notnull" : "alter_table_alter_column_drop_notnull";
12555
+ if (((_k = column4.notNull) == null ? void 0 : _k.type) === "changed") {
12556
+ const type = column4.notNull.new ? "alter_table_alter_column_set_notnull" : "alter_table_alter_column_drop_notnull";
12464
12557
  statements.push({
12465
12558
  type,
12466
12559
  tableName,
@@ -12470,12 +12563,13 @@ var _prepareAlterColumns = (tableName, schema3, columns, json2) => {
12470
12563
  columnDefault,
12471
12564
  columnOnUpdate,
12472
12565
  columnNotNull,
12473
- columnAutoIncrement
12566
+ columnAutoIncrement,
12567
+ columnPk
12474
12568
  });
12475
12569
  }
12476
- if (((_j = column4.autoincrement) == null ? void 0 : _j.type) === "deleted") {
12570
+ if (((_l = column4.notNull) == null ? void 0 : _l.type) === "deleted") {
12477
12571
  statements.push({
12478
- type: "alter_table_alter_column_drop_autoincrement",
12572
+ type: "alter_table_alter_column_drop_notnull",
12479
12573
  tableName,
12480
12574
  columnName,
12481
12575
  schema: schema3,
@@ -12483,10 +12577,23 @@ var _prepareAlterColumns = (tableName, schema3, columns, json2) => {
12483
12577
  columnDefault,
12484
12578
  columnOnUpdate,
12485
12579
  columnNotNull,
12486
- columnAutoIncrement
12580
+ columnAutoIncrement,
12581
+ columnPk
12487
12582
  });
12488
12583
  }
12489
- if (((_k = column4.onUpdate) == null ? void 0 : _k.type) === "added") {
12584
+ if (((_m = column4.primaryKey) == null ? void 0 : _m.type) === "added" || ((_n = column4.primaryKey) == null ? void 0 : _n.type) === "changed" && column4.primaryKey.new) {
12585
+ const wasAutoincrement = statements.filter(
12586
+ (it) => it.type === "alter_table_alter_column_set_autoincrement"
12587
+ );
12588
+ if (wasAutoincrement.length === 0) {
12589
+ statements.push({
12590
+ type: "alter_table_alter_column_set_pk",
12591
+ tableName,
12592
+ columnName
12593
+ });
12594
+ }
12595
+ }
12596
+ if (((_o = column4.onUpdate) == null ? void 0 : _o.type) === "added") {
12490
12597
  statements.push({
12491
12598
  type: "alter_table_alter_column_set_on_update",
12492
12599
  tableName,
@@ -12496,10 +12603,11 @@ var _prepareAlterColumns = (tableName, schema3, columns, json2) => {
12496
12603
  columnDefault,
12497
12604
  columnOnUpdate,
12498
12605
  columnNotNull,
12499
- columnAutoIncrement
12606
+ columnAutoIncrement,
12607
+ columnPk
12500
12608
  });
12501
12609
  }
12502
- if (((_l = column4.onUpdate) == null ? void 0 : _l.type) === "deleted") {
12610
+ if (((_p = column4.onUpdate) == null ? void 0 : _p.type) === "deleted") {
12503
12611
  statements.push({
12504
12612
  type: "alter_table_alter_column_drop_on_update",
12505
12613
  tableName,
@@ -12509,7 +12617,8 @@ var _prepareAlterColumns = (tableName, schema3, columns, json2) => {
12509
12617
  columnDefault,
12510
12618
  columnOnUpdate,
12511
12619
  columnNotNull,
12512
- columnAutoIncrement
12620
+ columnAutoIncrement,
12621
+ columnPk
12513
12622
  });
12514
12623
  }
12515
12624
  }
@@ -12741,6 +12850,7 @@ var alteredColumnSchema = objectType({
12741
12850
  name: makeSelfOrChanged(stringType()),
12742
12851
  type: makeChanged(stringType()).optional(),
12743
12852
  default: makePatched(anyType()).optional(),
12853
+ primaryKey: makePatched(booleanType()).optional(),
12744
12854
  notNull: makePatched(booleanType()).optional(),
12745
12855
  onUpdate: makePatched(booleanType()).optional(),
12746
12856
  autoincrement: makePatched(booleanType()).optional()
@@ -13073,6 +13183,7 @@ var applySnapshotsDiff = async (json1, json2, dialect3, schemasResolver, tablesR
13073
13183
  jsonStatements.push(...jsonDropTables);
13074
13184
  jsonStatements.push(...jsonRenameTables);
13075
13185
  jsonStatements.push(...jsonRenameColumnsStatements);
13186
+ jsonStatements.push(...jsonDeletedCompositePKs);
13076
13187
  jsonStatements.push(...jsonTableAlternations.alterColumns);
13077
13188
  jsonStatements.push(...jsonTableAlternations.createColumns);
13078
13189
  jsonStatements.push(...jsonAlterReferencesForAlteredTables);
@@ -13082,7 +13193,6 @@ var applySnapshotsDiff = async (json1, json2, dialect3, schemasResolver, tablesR
13082
13193
  jsonStatements.push(...jsonDropIndexesForAllAlteredTables);
13083
13194
  jsonStatements.push(...jsonCreateIndexesForCreatedTables);
13084
13195
  jsonStatements.push(...jsonCreateIndexesForAllAlteredTables);
13085
- jsonStatements.push(...jsonDeletedCompositePKs);
13086
13196
  jsonStatements.push(...jsonAddedCompositePKs);
13087
13197
  jsonStatements.push(...jsonAlteredCompositePKs);
13088
13198
  jsonStatements.push(...jsonSetTableSchemas);