drizzle-kit 0.9.24 → 0.9.28

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 +139 -125
  2. package/package.json +4 -18
package/index.js CHANGED
@@ -6534,10 +6534,10 @@ var require_utils2 = __commonJS({
6534
6534
  };
6535
6535
  exports2.swap = (arr, index, pos) => {
6536
6536
  let len = arr.length;
6537
- let idx = pos === len ? 0 : pos < 0 ? len - 1 : pos;
6537
+ let idx2 = pos === len ? 0 : pos < 0 ? len - 1 : pos;
6538
6538
  let choice = arr[index];
6539
- arr[index] = arr[idx];
6540
- arr[idx] = choice;
6539
+ arr[index] = arr[idx2];
6540
+ arr[idx2] = choice;
6541
6541
  };
6542
6542
  exports2.width = (stream, fallback = 80) => {
6543
6543
  let columns = stream && stream.columns ? stream.columns : fallback;
@@ -7487,9 +7487,9 @@ var require_prompt = __commonJS({
7487
7487
  let { buffer, input, prompt } = this.state;
7488
7488
  prompt = colors.unstyle(prompt);
7489
7489
  let buf = colors.unstyle(buffer);
7490
- let idx = buf.indexOf(prompt);
7491
- let header = buf.slice(0, idx);
7492
- let rest = buf.slice(idx);
7490
+ let idx2 = buf.indexOf(prompt);
7491
+ let header = buf.slice(0, idx2);
7492
+ let rest = buf.slice(idx2);
7493
7493
  let lines = rest.split("\n");
7494
7494
  let first = lines[0];
7495
7495
  let last = lines[lines.length - 1];
@@ -8196,14 +8196,14 @@ var require_array = __commonJS({
8196
8196
  up() {
8197
8197
  let len = this.choices.length;
8198
8198
  let vis = this.visible.length;
8199
- let idx = this.index;
8200
- if (this.options.scroll === false && idx === 0) {
8199
+ let idx2 = this.index;
8200
+ if (this.options.scroll === false && idx2 === 0) {
8201
8201
  return this.alert();
8202
8202
  }
8203
- if (len > vis && idx === 0) {
8203
+ if (len > vis && idx2 === 0) {
8204
8204
  return this.scrollUp();
8205
8205
  }
8206
- this.index = (idx - 1 % len + len) % len;
8206
+ this.index = (idx2 - 1 % len + len) % len;
8207
8207
  if (this.isDisabled()) {
8208
8208
  return this.up();
8209
8209
  }
@@ -8212,14 +8212,14 @@ var require_array = __commonJS({
8212
8212
  down() {
8213
8213
  let len = this.choices.length;
8214
8214
  let vis = this.visible.length;
8215
- let idx = this.index;
8216
- if (this.options.scroll === false && idx === vis - 1) {
8215
+ let idx2 = this.index;
8216
+ if (this.options.scroll === false && idx2 === vis - 1) {
8217
8217
  return this.alert();
8218
8218
  }
8219
- if (len > vis && idx === vis - 1) {
8219
+ if (len > vis && idx2 === vis - 1) {
8220
8220
  return this.scrollDown();
8221
8221
  }
8222
- this.index = (idx + 1) % len;
8222
+ this.index = (idx2 + 1) % len;
8223
8223
  if (this.isDisabled()) {
8224
8224
  return this.down();
8225
8225
  }
@@ -11916,15 +11916,15 @@ var require_array_set = __commonJS({
11916
11916
  ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
11917
11917
  var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
11918
11918
  var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
11919
- var idx = this._array.length;
11919
+ var idx2 = this._array.length;
11920
11920
  if (!isDuplicate || aAllowDuplicates) {
11921
11921
  this._array.push(aStr);
11922
11922
  }
11923
11923
  if (!isDuplicate) {
11924
11924
  if (hasNativeMap) {
11925
- this._set.set(aStr, idx);
11925
+ this._set.set(aStr, idx2);
11926
11926
  } else {
11927
- this._set[sStr] = idx;
11927
+ this._set[sStr] = idx2;
11928
11928
  }
11929
11929
  }
11930
11930
  };
@@ -11938,9 +11938,9 @@ var require_array_set = __commonJS({
11938
11938
  };
11939
11939
  ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
11940
11940
  if (hasNativeMap) {
11941
- var idx = this._set.get(aStr);
11942
- if (idx >= 0) {
11943
- return idx;
11941
+ var idx2 = this._set.get(aStr);
11942
+ if (idx2 >= 0) {
11943
+ return idx2;
11944
11944
  }
11945
11945
  } else {
11946
11946
  var sStr = util.toSetString(aStr);
@@ -13150,11 +13150,11 @@ var require_source_node = __commonJS({
13150
13150
  lastOriginalSource = null;
13151
13151
  sourceMappingActive = false;
13152
13152
  }
13153
- for (var idx = 0, length = chunk.length; idx < length; idx++) {
13154
- if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
13153
+ for (var idx2 = 0, length = chunk.length; idx2 < length; idx2++) {
13154
+ if (chunk.charCodeAt(idx2) === NEWLINE_CODE) {
13155
13155
  generated.line++;
13156
13156
  generated.column = 0;
13157
- if (idx + 1 === length) {
13157
+ if (idx2 + 1 === length) {
13158
13158
  lastOriginalSource = null;
13159
13159
  sourceMappingActive = false;
13160
13160
  } else if (sourceMappingActive) {
@@ -47386,11 +47386,11 @@ var require_typescript = __commonJS({
47386
47386
  ts3.pathContainsNodeModules = pathContainsNodeModules;
47387
47387
  function parseNodeModuleFromPath(resolved) {
47388
47388
  var path2 = ts3.normalizePath(resolved);
47389
- var idx = path2.lastIndexOf(ts3.nodeModulesPathPart);
47390
- if (idx === -1) {
47389
+ var idx2 = path2.lastIndexOf(ts3.nodeModulesPathPart);
47390
+ if (idx2 === -1) {
47391
47391
  return void 0;
47392
47392
  }
47393
- var indexAfterNodeModules = idx + ts3.nodeModulesPathPart.length;
47393
+ var indexAfterNodeModules = idx2 + ts3.nodeModulesPathPart.length;
47394
47394
  var indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterNodeModules);
47395
47395
  if (path2.charCodeAt(indexAfterNodeModules) === 64) {
47396
47396
  indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path2, indexAfterPackageName);
@@ -47581,11 +47581,11 @@ var require_typescript = __commonJS({
47581
47581
  }
47582
47582
  }
47583
47583
  function parsePackageName(moduleName) {
47584
- var idx = moduleName.indexOf(ts3.directorySeparator);
47584
+ var idx2 = moduleName.indexOf(ts3.directorySeparator);
47585
47585
  if (moduleName[0] === "@") {
47586
- idx = moduleName.indexOf(ts3.directorySeparator, idx + 1);
47586
+ idx2 = moduleName.indexOf(ts3.directorySeparator, idx2 + 1);
47587
47587
  }
47588
- return idx === -1 ? { packageName: moduleName, rest: "" } : { packageName: moduleName.slice(0, idx), rest: moduleName.slice(idx + 1) };
47588
+ return idx2 === -1 ? { packageName: moduleName, rest: "" } : { packageName: moduleName.slice(0, idx2), rest: moduleName.slice(idx2 + 1) };
47589
47589
  }
47590
47590
  ts3.parsePackageName = parsePackageName;
47591
47591
  function loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, directory, state, cache, redirectedReference) {
@@ -63536,9 +63536,9 @@ var require_typescript = __commonJS({
63536
63536
  return false;
63537
63537
  }
63538
63538
  function getBestMatchIndexedAccessTypeOrUndefined(source, target, nameType) {
63539
- var idx = getIndexedAccessTypeOrUndefined(target, nameType);
63540
- if (idx) {
63541
- return idx;
63539
+ var idx2 = getIndexedAccessTypeOrUndefined(target, nameType);
63540
+ if (idx2) {
63541
+ return idx2;
63542
63542
  }
63543
63543
  if (target.flags & 1048576) {
63544
63544
  var best = getBestMatchingType(source, target);
@@ -112609,12 +112609,12 @@ var require_typescript = __commonJS({
112609
112609
  function indexInTextChange(change, name) {
112610
112610
  if (ts3.startsWith(change, name))
112611
112611
  return 0;
112612
- var idx = change.indexOf(" " + name);
112613
- if (idx === -1)
112614
- idx = change.indexOf("." + name);
112615
- if (idx === -1)
112616
- idx = change.indexOf('"' + name);
112617
- return idx === -1 ? -1 : idx + 1;
112612
+ var idx2 = change.indexOf(" " + name);
112613
+ if (idx2 === -1)
112614
+ idx2 = change.indexOf("." + name);
112615
+ if (idx2 === -1)
112616
+ idx2 = change.indexOf('"' + name);
112617
+ return idx2 === -1 ? -1 : idx2 + 1;
112618
112618
  }
112619
112619
  function needsParentheses(expression) {
112620
112620
  return ts3.isBinaryExpression(expression) && expression.operatorToken.kind === 27 || ts3.isObjectLiteralExpression(expression) || ts3.isAsExpression(expression) && ts3.isObjectLiteralExpression(expression.expression);
@@ -147576,8 +147576,8 @@ var require_Parser = __commonJS({
147576
147576
  this.attribvalue = "";
147577
147577
  };
147578
147578
  Parser2.prototype.getInstructionName = function(value) {
147579
- var idx = value.search(reNameEnd);
147580
- var name = idx < 0 ? value : value.substr(0, idx);
147579
+ var idx2 = value.search(reNameEnd);
147580
+ var name = idx2 < 0 ? value : value.substr(0, idx2);
147581
147581
  if (this.lowerCaseTagNames) {
147582
147582
  name = name.toLowerCase();
147583
147583
  }
@@ -149134,16 +149134,16 @@ var require_helpers = __commonJS({
149134
149134
  exports2.uniqueSort = exports2.compareDocumentPosition = exports2.removeSubsets = void 0;
149135
149135
  var domhandler_1 = require_lib8();
149136
149136
  function removeSubsets(nodes) {
149137
- var idx = nodes.length;
149138
- while (--idx >= 0) {
149139
- var node = nodes[idx];
149140
- if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) {
149141
- nodes.splice(idx, 1);
149137
+ var idx2 = nodes.length;
149138
+ while (--idx2 >= 0) {
149139
+ var node = nodes[idx2];
149140
+ if (idx2 > 0 && nodes.lastIndexOf(node, idx2 - 1) >= 0) {
149141
+ nodes.splice(idx2, 1);
149142
149142
  continue;
149143
149143
  }
149144
149144
  for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent) {
149145
149145
  if (nodes.includes(ancestor)) {
149146
- nodes.splice(idx, 1);
149146
+ nodes.splice(idx2, 1);
149147
149147
  break;
149148
149148
  }
149149
149149
  }
@@ -149168,17 +149168,17 @@ var require_helpers = __commonJS({
149168
149168
  current = current.parent;
149169
149169
  }
149170
149170
  var maxIdx = Math.min(aParents.length, bParents.length);
149171
- var idx = 0;
149172
- while (idx < maxIdx && aParents[idx] === bParents[idx]) {
149173
- idx++;
149171
+ var idx2 = 0;
149172
+ while (idx2 < maxIdx && aParents[idx2] === bParents[idx2]) {
149173
+ idx2++;
149174
149174
  }
149175
- if (idx === 0) {
149175
+ if (idx2 === 0) {
149176
149176
  return 1;
149177
149177
  }
149178
- var sharedParent = aParents[idx - 1];
149178
+ var sharedParent = aParents[idx2 - 1];
149179
149179
  var siblings = sharedParent.children;
149180
- var aSibling = aParents[idx];
149181
- var bSibling = bParents[idx];
149180
+ var aSibling = aParents[idx2];
149181
+ var bSibling = bParents[idx2];
149182
149182
  if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {
149183
149183
  if (sharedParent === nodeB) {
149184
149184
  return 4 | 16;
@@ -153950,15 +153950,15 @@ var require_parse2 = __commonJS({
153950
153950
  } else if (formula === "odd") {
153951
153951
  return [2, 1];
153952
153952
  }
153953
- var idx = 0;
153953
+ var idx2 = 0;
153954
153954
  var a = 0;
153955
153955
  var sign = readSign();
153956
153956
  var number = readNumber();
153957
- if (idx < formula.length && formula.charAt(idx) === "n") {
153958
- idx++;
153957
+ if (idx2 < formula.length && formula.charAt(idx2) === "n") {
153958
+ idx2++;
153959
153959
  a = sign * (number !== null && number !== void 0 ? number : 1);
153960
153960
  skipWhitespace();
153961
- if (idx < formula.length) {
153961
+ if (idx2 < formula.length) {
153962
153962
  sign = readSign();
153963
153963
  skipWhitespace();
153964
153964
  number = readNumber();
@@ -153966,32 +153966,32 @@ var require_parse2 = __commonJS({
153966
153966
  sign = number = 0;
153967
153967
  }
153968
153968
  }
153969
- if (number === null || idx < formula.length) {
153969
+ if (number === null || idx2 < formula.length) {
153970
153970
  throw new Error("n-th rule couldn't be parsed ('" + formula + "')");
153971
153971
  }
153972
153972
  return [a, sign * number];
153973
153973
  function readSign() {
153974
- if (formula.charAt(idx) === "-") {
153975
- idx++;
153974
+ if (formula.charAt(idx2) === "-") {
153975
+ idx2++;
153976
153976
  return -1;
153977
153977
  }
153978
- if (formula.charAt(idx) === "+") {
153979
- idx++;
153978
+ if (formula.charAt(idx2) === "+") {
153979
+ idx2++;
153980
153980
  }
153981
153981
  return 1;
153982
153982
  }
153983
153983
  function readNumber() {
153984
- var start = idx;
153984
+ var start = idx2;
153985
153985
  var value = 0;
153986
- while (idx < formula.length && formula.charCodeAt(idx) >= ZERO && formula.charCodeAt(idx) <= NINE) {
153987
- value = value * 10 + (formula.charCodeAt(idx) - ZERO);
153988
- idx++;
153986
+ while (idx2 < formula.length && formula.charCodeAt(idx2) >= ZERO && formula.charCodeAt(idx2) <= NINE) {
153987
+ value = value * 10 + (formula.charCodeAt(idx2) - ZERO);
153988
+ idx2++;
153989
153989
  }
153990
- return idx === start ? null : value;
153990
+ return idx2 === start ? null : value;
153991
153991
  }
153992
153992
  function skipWhitespace() {
153993
- while (idx < formula.length && whitespace.has(formula.charCodeAt(idx))) {
153994
- idx++;
153993
+ while (idx2 < formula.length && whitespace.has(formula.charCodeAt(idx2))) {
153994
+ idx2++;
153995
153995
  }
153996
153996
  }
153997
153997
  }
@@ -159866,6 +159866,7 @@ var createResolveTablesMachine = (props) => (0, import_xstate.createMachine)({
159866
159866
  }
159867
159867
  },
159868
159868
  check: {
159869
+ entry: (0, import_xstate.send)({ type: "NEXT" }),
159869
159870
  on: {
159870
159871
  NEXT: [
159871
159872
  {
@@ -160966,9 +160967,9 @@ var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
160966
160967
  function resolveYamlBinary(data) {
160967
160968
  if (data === null)
160968
160969
  return false;
160969
- var code, idx, bitlen = 0, max = data.length, map2 = BASE64_MAP;
160970
- for (idx = 0; idx < max; idx++) {
160971
- code = map2.indexOf(data.charAt(idx));
160970
+ var code, idx2, bitlen = 0, max = data.length, map2 = BASE64_MAP;
160971
+ for (idx2 = 0; idx2 < max; idx2++) {
160972
+ code = map2.indexOf(data.charAt(idx2));
160972
160973
  if (code > 64)
160973
160974
  continue;
160974
160975
  if (code < 0)
@@ -160978,14 +160979,14 @@ function resolveYamlBinary(data) {
160978
160979
  return bitlen % 8 === 0;
160979
160980
  }
160980
160981
  function constructYamlBinary(data) {
160981
- var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max = input.length, map2 = BASE64_MAP, bits = 0, result2 = [];
160982
- for (idx = 0; idx < max; idx++) {
160983
- if (idx % 4 === 0 && idx) {
160982
+ var idx2, tailbits, input = data.replace(/[\r\n=]/g, ""), max = input.length, map2 = BASE64_MAP, bits = 0, result2 = [];
160983
+ for (idx2 = 0; idx2 < max; idx2++) {
160984
+ if (idx2 % 4 === 0 && idx2) {
160984
160985
  result2.push(bits >> 16 & 255);
160985
160986
  result2.push(bits >> 8 & 255);
160986
160987
  result2.push(bits & 255);
160987
160988
  }
160988
- bits = bits << 6 | map2.indexOf(input.charAt(idx));
160989
+ bits = bits << 6 | map2.indexOf(input.charAt(idx2));
160989
160990
  }
160990
160991
  tailbits = max % 4 * 6;
160991
160992
  if (tailbits === 0) {
@@ -161001,15 +161002,15 @@ function constructYamlBinary(data) {
161001
161002
  return new Uint8Array(result2);
161002
161003
  }
161003
161004
  function representYamlBinary(object) {
161004
- var result2 = "", bits = 0, idx, tail, max = object.length, map2 = BASE64_MAP;
161005
- for (idx = 0; idx < max; idx++) {
161006
- if (idx % 3 === 0 && idx) {
161005
+ var result2 = "", bits = 0, idx2, tail, max = object.length, map2 = BASE64_MAP;
161006
+ for (idx2 = 0; idx2 < max; idx2++) {
161007
+ if (idx2 % 3 === 0 && idx2) {
161007
161008
  result2 += map2[bits >> 18 & 63];
161008
161009
  result2 += map2[bits >> 12 & 63];
161009
161010
  result2 += map2[bits >> 6 & 63];
161010
161011
  result2 += map2[bits & 63];
161011
161012
  }
161012
- bits = (bits << 8) + object[idx];
161013
+ bits = (bits << 8) + object[idx2];
161013
161014
  }
161014
161015
  tail = max % 3;
161015
161016
  if (tail === 0) {
@@ -162980,6 +162981,7 @@ var printer = import_typescript.default.createPrinter();
162980
162981
  var prepareFabricFile = (folder) => {
162981
162982
  const staticImports = [
162982
162983
  import_typescript.default.createImportDeclaration(void 0, void 0, import_typescript.default.createImportClause(void 0, import_typescript.default.createNamespaceImport(import_typescript.default.createIdentifier("drizzle"))), import_typescript.default.createStringLiteral("drizzle-orm")),
162984
+ import_typescript.default.createImportDeclaration(void 0, void 0, import_typescript.default.createImportClause(import_typescript.default.createIdentifier("Session"), void 0), import_typescript.default.createStringLiteral("drizzle-orm/db/session")),
162983
162985
  import_typescript.default.createImportDeclaration(void 0, void 0, import_typescript.default.createImportClause(import_typescript.default.createIdentifier("MigrationSerializer"), void 0), import_typescript.default.createStringLiteral("drizzle-orm/serializer/serializer")),
162984
162986
  import_typescript.default.createImportDeclaration(void 0, void 0, import_typescript.default.createImportClause(import_typescript.default.createIdentifier("Enum"), void 0), import_typescript.default.createStringLiteral("drizzle-orm/types/type")),
162985
162987
  import_typescript.default.createImportDeclaration(void 0, void 0, import_typescript.default.createImportClause(void 0, import_typescript.default.createNamespaceImport(import_typescript.default.createIdentifier("pg"))), import_typescript.default.createStringLiteral("pg"))
@@ -162994,7 +162996,7 @@ var prepareFabricFile = (folder) => {
162994
162996
  const variablesStatements = [
162995
162997
  import_typescript.default.createVariableStatement(void 0, import_typescript.default.createVariableDeclarationList([
162996
162998
  import_typescript.default.createVariableDeclaration(import_typescript.default.createIdentifier("db"), void 0, import_typescript.default.createNew(import_typescript.default.createIdentifier("drizzle.DB"), void 0, [
162997
- import_typescript.default.createNew(import_typescript.default.createPropertyAccess(import_typescript.default.createIdentifier("pg"), import_typescript.default.createIdentifier("Pool")), void 0, [])
162999
+ import_typescript.default.createNew(import_typescript.default.createIdentifier("Session"), void 0, [import_typescript.default.createNew(import_typescript.default.createPropertyAccess(import_typescript.default.createIdentifier("pg"), import_typescript.default.createIdentifier("Pool")), void 0, [])])
162998
163000
  ]))
162999
163001
  ], import_typescript.default.NodeFlags.Const)),
163000
163002
  import_typescript.default.createVariableStatement(void 0, import_typescript.default.createVariableDeclarationList([
@@ -163276,7 +163278,8 @@ var CreateIndexConvertor = class extends Convertor {
163276
163278
  }
163277
163279
  convert(statement) {
163278
163280
  const { tableName, indexName, value } = statement;
163279
- return `CREATE INDEX IF NOT EXISTS ${indexName} ON ${tableName} (${value});`;
163281
+ const indexPart = statement.isUnique ? "UNIQUE INDEX" : "INDEX";
163282
+ return `CREATE ${indexPart} IF NOT EXISTS ${indexName} ON ${tableName} (${value});`;
163280
163283
  }
163281
163284
  };
163282
163285
  var DropIndexConvertor = class extends Convertor {
@@ -163355,7 +163358,7 @@ function diffForRenamedTables(pairs2) {
163355
163358
  return [newFrom, to];
163356
163359
  });
163357
163360
  const altered = renamed2.map((pair) => {
163358
- return diffForRenamedTable(pair.from, pair.to);
163361
+ return diffForRenamedTable(pair[0], pair[1]);
163359
163362
  });
163360
163363
  return altered;
163361
163364
  }
@@ -163379,10 +163382,10 @@ function applyJsonDiff(json1, json2) {
163379
163382
  const addedTables = tableEntries.filter((it) => it[0].includes("__added")).map((it) => it[1]).map((it) => {
163380
163383
  return __spreadProps(__spreadValues({}, it), {
163381
163384
  indexes: Object.entries(it.indexes).map((indexEntry) => {
163382
- const idx = indexEntry[1];
163383
- const name = idx["name"];
163384
- const columns = Object.values(idx["columns"]).map((it2) => it2["name"]);
163385
- return { name, columns };
163385
+ const idx2 = indexEntry[1];
163386
+ const name = idx2["name"];
163387
+ const columns = Object.values(idx2["columns"]).map((it2) => it2["name"]);
163388
+ return { name, columns, isUnique: idx2["isUnique"] };
163386
163389
  })
163387
163390
  });
163388
163391
  });
@@ -163429,22 +163432,22 @@ var findAlternationsInTable = (table) => {
163429
163432
  const deletedIndexes = Object.values(table.indexes__deleted || {}).map((it) => {
163430
163433
  const name = it["name"];
163431
163434
  const columns2 = Object.values(it["columns"]).map((it2) => it2["name"]);
163432
- return { name, columns: columns2 };
163435
+ return { name, columns: columns2, isUnique: it["isUnique"] };
163433
163436
  }).concat(Object.keys(table.indexes || {}).filter((it) => it.includes("__deleted")).map((it) => {
163434
- const idx = table.indexes[it];
163435
- const name = idx["name"];
163436
- const columns2 = Object.values(idx["columns"]).map((it2) => it2["name"]);
163437
- return { name, columns: columns2 };
163437
+ const idx2 = table.indexes[it];
163438
+ const name = idx2["name"];
163439
+ const columns2 = Object.values(idx2["columns"]).map((it2) => it2["name"]);
163440
+ return { name, columns: columns2, isUnique: idx2["isUnique"] };
163438
163441
  }));
163439
163442
  const addedIndexes = Object.values(table.indexes__added || {}).map((it) => {
163440
163443
  const name = it["name"];
163441
163444
  const columns2 = Object.values(it["columns"]).map((it2) => it2["name"]);
163442
- return { name, columns: columns2 };
163445
+ return { name, columns: columns2, isUnique: idx["isUnique"] };
163443
163446
  }).concat(Object.keys(table.indexes || {}).filter((it) => it.includes("__added")).map((it) => {
163444
- const idx = table.indexes[it];
163445
- const name = idx["name"];
163446
- const columns2 = Object.values(idx["columns"]).map((it2) => it2["name"]);
163447
- return { name, columns: columns2 };
163447
+ const idx2 = table.indexes[it];
163448
+ const name = idx2["name"];
163449
+ const columns2 = Object.values(idx2["columns"]).map((it2) => it2["name"]);
163450
+ return { name, columns: columns2, isUnique: idx2["isUnique"] };
163448
163451
  }));
163449
163452
  const mappedAltered = altered.map((it) => alternationsInColumn(it));
163450
163453
  return { name: table.name, deleted, added, altered: mappedAltered, addedIndexes, deletedIndexes };
@@ -163642,7 +163645,8 @@ var prepareCreateIndexesJson = (tableName, indexes) => {
163642
163645
  type: "create_index",
163643
163646
  tableName,
163644
163647
  indexName: index.name,
163645
- value: index.columns.join(", ")
163648
+ value: index.columns.join(", "),
163649
+ isUnique: index.isUnique
163646
163650
  };
163647
163651
  });
163648
163652
  };
@@ -163748,33 +163752,53 @@ var applySnapshotsDiff = async (json1, json2, tablesResolver, columnsResolver) =
163748
163752
  };
163749
163753
 
163750
163754
  // src/cli/commands/migrate.tsx
163751
- var migrate = async () => {
163755
+ var prepareAndMigrate = async () => {
163752
163756
  const drizzleConfig = js_yaml_default.load(import_fs4.default.readFileSync("drizzle.config.yml", { encoding: "utf-8" }));
163753
163757
  const migrationRootFolder = drizzleConfig.migrationRootFolder || "drizzle";
163754
163758
  const dataFolder = drizzleConfig.dataFolder;
163755
- const { prev, cur } = await task("Preparing data schema json snapshot", async ({ setTitle }) => {
163759
+ try {
163760
+ const { prev, cur } = await prepareJsonSnapshots(migrationRootFolder, dataFolder);
163761
+ const sql = await prepareSQL(prev, cur);
163762
+ const folderName = prepareSnapshotFolderName();
163763
+ const migrationFolderPath = `./${migrationRootFolder}/${folderName}`;
163764
+ import_fs4.default.mkdirSync(migrationFolderPath);
163765
+ import_fs4.default.writeFileSync(`${migrationFolderPath}/snapshot.json`, JSON.stringify(cur, null, 2));
163766
+ import_fs4.default.writeFileSync(`${migrationFolderPath}/migration.sql`, sql);
163767
+ } catch (e) {
163768
+ console.error(e);
163769
+ }
163770
+ };
163771
+ var prepareJsonSnapshots = async (migrationRootFolder, dataFolder) => {
163772
+ return await task("Preparing data schema json snapshot", async ({ setTitle }) => {
163756
163773
  return migrationPreparator_default(migrationRootFolder, dataFolder);
163757
163774
  });
163775
+ };
163776
+ var prepareSQL = async (prev, cur) => {
163758
163777
  const tablesResolver = async (input) => {
163759
- const { created, deleted, renamed: renamed2 } = await promptTablesConflicts({
163760
- newTables: input.created,
163761
- missingTables: input.deleted
163762
- });
163763
- return { created, deleted, renamed: renamed2 };
163778
+ try {
163779
+ const { created, deleted, renamed: renamed2 } = await promptTablesConflicts({
163780
+ newTables: input.created,
163781
+ missingTables: input.deleted
163782
+ });
163783
+ return { created, deleted, renamed: renamed2 };
163784
+ } catch (e) {
163785
+ console.error(e);
163786
+ throw e;
163787
+ }
163764
163788
  };
163765
163789
  const columnsResolver = async (input) => {
163766
163790
  const result2 = await promptColumnsConflicts({ name: input.tableName, added: input.created, deleted: input.deleted });
163767
- return { tableName: input.tableName, created: result2.created, deleted: input.deleted, renamed: result2.renamed };
163791
+ return { tableName: input.tableName, created: result2.created, deleted: result2.deleted, renamed: result2.renamed };
163768
163792
  };
163769
- const sql = await applySnapshotsDiff(prev, cur, tablesResolver, columnsResolver);
163770
- const date = new Date();
163771
- const folderName = date.toISOString();
163772
- const migrationFolderPath = `./${migrationRootFolder}/${folderName}`;
163773
- import_fs4.default.mkdirSync(migrationFolderPath);
163774
- import_fs4.default.writeFileSync(`${migrationFolderPath}/snapshot.json`, JSON.stringify(cur, null, 2));
163775
- import_fs4.default.writeFileSync(`${migrationFolderPath}/migration.sql`, sql);
163793
+ return await applySnapshotsDiff(prev, cur, tablesResolver, columnsResolver);
163794
+ };
163795
+ var prepareSnapshotFolderName = () => {
163796
+ const now = new Date();
163797
+ return `${now.getFullYear()}${two(now.getUTCMonth() + 1)}${two(now.getUTCDate())}${two(now.getUTCHours())}${two(now.getUTCMinutes())}${two(now.getUTCSeconds())}`;
163798
+ };
163799
+ var two = (input) => {
163800
+ return input.toString().padStart(2, "0");
163776
163801
  };
163777
- var migrate_default = migrate;
163778
163802
 
163779
163803
  // node_modules/source-map-support/register.js
163780
163804
  require_source_map_support().install();
@@ -163782,19 +163806,9 @@ require_source_map_support().install();
163782
163806
  // node_modules/pretty-error/start.js
163783
163807
  require_PrettyError().start();
163784
163808
 
163785
- // src/cli/commands/prepare-snapshot.ts
163786
- function prepareSnapshot(path2) {
163787
- const result2 = serializer_default(path2);
163788
- return result2;
163789
- }
163790
-
163791
163809
  // src/cli/index.tsx
163792
- var migrationCommand = new import_commander.Command("migrate").alias("mg").description("Migration").action(migrate_default);
163793
- var prepareSnapshotCommand = new import_commander.Command("prepare").argument("<path>").action((path2) => {
163794
- console.log(JSON.stringify(prepareSnapshot(path2), null, 2));
163795
- });
163810
+ var migrationCommand = new import_commander.Command("migrate").alias("mg").description("Migration").action(prepareAndMigrate);
163796
163811
  import_commander.program.addCommand(migrationCommand);
163797
- import_commander.program.addCommand(prepareSnapshotCommand);
163798
163812
  import_commander.program.parse();
163799
163813
  /*! *****************************************************************************
163800
163814
  Copyright (c) Microsoft Corporation.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-kit",
3
- "version": "0.9.24",
3
+ "version": "0.9.28",
4
4
  "main": "index.js",
5
5
  "repository": "https://github.com/lambda-direct/drizzle-kit",
6
6
  "author": "Alex Blokh <aleksandrblokh@gmail.com>",
@@ -12,6 +12,7 @@
12
12
  "start": "ts-node ./src/index.ts",
13
13
  "watch": "esbuild ./src/cli/index.tsx --bundle --platform=node --target=node10.4 --outfile=./dist/index.js --external:esbuild --watch",
14
14
  "diff": "ts-node ./src/diff.ts",
15
+ "sim": "ts-node ./dev/simulate.ts",
15
16
  "test": "jest --silent",
16
17
  "imports": "ts-node ./test.ts",
17
18
  "build": "esbuild ./src/cli/index.tsx --bundle --platform=node --target=node10.4 --outfile=./dist/index.js --external:esbuild"
@@ -29,32 +30,17 @@
29
30
  "xstate": "^4.25.0"
30
31
  },
31
32
  "devDependencies": {
32
- "@types/ink-divider": "^2.0.2",
33
33
  "@types/jest": "^27.0.3",
34
34
  "@types/js-yaml": "^4.0.3",
35
- "@types/lodash.flatten": "^4.4.6",
36
- "@types/object-hash": "2.1.1",
37
35
  "@types/pg": "^8.6.1",
38
- "@types/react": "^17.0.13",
39
- "@types/vorpal": "^1.12.1",
40
- "@types/webpack": "^5.28.0",
41
36
  "@typescript-eslint/eslint-plugin": "4.4.1",
42
- "drizzle-orm": "^0.9.12",
37
+ "drizzle-orm": "^0.10.2",
43
38
  "eslint": "^7.2.0",
44
39
  "eslint-config-airbnb": "18.2.1",
45
40
  "eslint-config-airbnb-typescript": "11.0.0",
46
41
  "eslint-plugin-import": "^2.22.1",
47
- "eslint-plugin-jsx-a11y": "^6.4.1",
48
- "eslint-plugin-react": "^7.21.5",
49
- "eslint-plugin-react-hooks": "^1.7.0",
50
42
  "jest": "^27.4.5",
51
- "prettier": "^2.3.2",
52
43
  "source-map-loader": "^3.0.0",
53
- "ts-jest": "^27.1.2",
54
- "tsconfig-paths-webpack-plugin": "^3.5.1",
55
- "webpack": "^5.42.0",
56
- "webpack-cli": "^4.7.2",
57
- "webpack-node-externals": "^3.0.0",
58
- "webpack-shebang-plugin": "^1.1.6"
44
+ "ts-jest": "^27.1.2"
59
45
  }
60
46
  }