miqro 1.5.5 → 1.6.1

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 (89) hide show
  1. package/README.md +42 -2
  2. package/dist/cli.js +8 -9
  3. package/dist/cli.js.map +1 -0
  4. package/dist/cmds/config-bash.js +1 -0
  5. package/dist/cmds/config-bash.js.map +1 -0
  6. package/dist/cmds/config-env.js +1 -0
  7. package/dist/cmds/config-env.js.map +1 -0
  8. package/dist/cmds/config-init.js +2 -0
  9. package/dist/cmds/config-init.js.map +1 -0
  10. package/dist/cmds/config.js +1 -0
  11. package/dist/cmds/config.js.map +1 -0
  12. package/dist/cmds/db-console.js +2 -0
  13. package/dist/cmds/db-console.js.map +1 -0
  14. package/dist/cmds/db-createmodel.js +4 -1
  15. package/dist/cmds/db-createmodel.js.map +1 -0
  16. package/dist/cmds/db-dump-data.js +2 -0
  17. package/dist/cmds/db-dump-data.js.map +1 -0
  18. package/dist/cmds/db-init.js +2 -0
  19. package/dist/cmds/db-init.js.map +1 -0
  20. package/dist/cmds/db-makemigrations.js +3 -0
  21. package/dist/cmds/db-makemigrations.js.map +1 -0
  22. package/dist/cmds/db-push-data.js +30 -4
  23. package/dist/cmds/db-push-data.js.map +1 -0
  24. package/dist/cmds/db-sync-makemigrations.js +3 -0
  25. package/dist/cmds/db-sync-makemigrations.js.map +1 -0
  26. package/dist/cmds/doc-json.js +1 -0
  27. package/dist/cmds/doc-json.js.map +1 -0
  28. package/dist/cmds/doc-md.js +53 -16
  29. package/dist/cmds/doc-md.js.map +1 -0
  30. package/dist/cmds/handler-apiroute-new.js +2 -36
  31. package/dist/cmds/handler-apiroute-new.js.map +1 -0
  32. package/dist/cmds/handler-main-new.d.ts +1 -2
  33. package/dist/cmds/handler-main-new.js +15 -22
  34. package/dist/cmds/handler-main-new.js.map +1 -0
  35. package/dist/cmds/new.d.ts +1 -3
  36. package/dist/cmds/new.js +8 -18
  37. package/dist/cmds/new.js.map +1 -0
  38. package/dist/cmds/start.js +4 -0
  39. package/dist/cmds/start.js.map +1 -0
  40. package/dist/index.d.ts +2 -0
  41. package/dist/index.js +15 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/utils/db/automigrations/deep-diff/index.d.ts +24 -0
  44. package/dist/utils/db/automigrations/deep-diff/index.js +240 -0
  45. package/dist/utils/db/automigrations/deep-diff/index.js.map +1 -0
  46. package/dist/utils/db/automigrations/index.js +17 -0
  47. package/dist/utils/db/automigrations/index.js.map +1 -0
  48. package/dist/utils/db/automigrations/migrate.js +136 -17
  49. package/dist/utils/db/automigrations/migrate.js.map +1 -0
  50. package/dist/utils/db/index.d.ts +3 -3
  51. package/dist/utils/db/index.js +11 -1
  52. package/dist/utils/db/index.js.map +1 -0
  53. package/dist/utils/doc/index.d.ts +10 -8
  54. package/dist/utils/doc/index.js +4 -1
  55. package/dist/utils/doc/index.js.map +1 -0
  56. package/dist/utils/index.d.ts +2 -1
  57. package/dist/utils/index.js +2 -1
  58. package/dist/utils/index.js.map +1 -0
  59. package/dist/utils/templates.d.ts +2 -2
  60. package/dist/utils/templates.js +6 -0
  61. package/dist/utils/templates.js.map +1 -0
  62. package/package.json +9 -15
  63. package/src/cli.ts +62 -0
  64. package/src/cmds/config-bash.ts +18 -0
  65. package/src/cmds/config-env.ts +18 -0
  66. package/src/cmds/config-init.ts +35 -0
  67. package/src/cmds/config.ts +16 -0
  68. package/src/cmds/db-console.ts +35 -0
  69. package/src/cmds/db-createmodel.ts +44 -0
  70. package/src/cmds/db-dump-data.ts +44 -0
  71. package/src/cmds/db-init.ts +42 -0
  72. package/src/cmds/db-makemigrations.ts +12 -0
  73. package/src/cmds/db-push-data.ts +77 -0
  74. package/src/cmds/db-sync-makemigrations.ts +12 -0
  75. package/src/cmds/doc-json.ts +16 -0
  76. package/src/cmds/doc-md.ts +233 -0
  77. package/src/cmds/handler-apiroute-new.ts +67 -0
  78. package/src/cmds/handler-main-new.ts +85 -0
  79. package/src/cmds/new.ts +128 -0
  80. package/src/cmds/start.ts +16 -0
  81. package/src/index.ts +2 -0
  82. package/src/utils/db/automigrations/deep-diff/index.ts +264 -0
  83. package/src/utils/db/automigrations/index.ts +151 -0
  84. package/src/utils/db/automigrations/migrate.ts +888 -0
  85. package/src/utils/db/index.ts +128 -0
  86. package/src/utils/doc/index.ts +31 -0
  87. package/src/utils/index.ts +9 -0
  88. package/src/utils/templates.ts +189 -0
  89. package/tsconfig.json +32 -0
@@ -6,25 +6,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.writeMigration = exports.getMigration = exports.sortActions = exports.parseDifference = exports.reverseModels = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
- const deep_diff_1 = require("deep-diff");
9
+ const deep_diff_1 = require("./deep-diff");
10
+ /* tslint:disable */
10
11
  const reverseSequelizeColType = (DataTypes, col, prefix = "Sequelize.") => {
11
12
  const attrName = col.type.key;
12
13
  const attrObj = col.type;
13
14
  const options = (col.type.options) ? col.type.options : {};
15
+ // noinspection SpellCheckingInspection,DuplicateCaseLabelJS
14
16
  switch (attrName) {
17
+ // CHAR(length, binary)
15
18
  case DataTypes.CHAR.key:
16
19
  if (options.binary) {
17
20
  return prefix + "CHAR.BINARY";
18
21
  }
19
22
  return prefix + "CHAR(" + options.length + ")";
23
+ // STRING(length, binary).BINARY
20
24
  case DataTypes.STRING.key:
21
25
  return prefix + "STRING" + ((options.length) ? "(" + options.length + ")" : "") +
22
26
  ((options.binary) ? ".BINARY" : "");
27
+ // TEXT(length)
23
28
  case DataTypes.TEXT.key:
24
29
  if (!options.length) {
25
30
  return prefix + "TEXT";
26
31
  }
27
32
  return prefix + "TEXT(" + options.length.toLowerCase() + ")";
33
+ // NUMBER(length, decimals).UNSIGNED.ZEROFILL
28
34
  case DataTypes.NUMBER.key:
29
35
  case DataTypes.TINYINT.key:
30
36
  case DataTypes.SMALLINT.key:
@@ -91,6 +97,18 @@ const reverseSequelizeColType = (DataTypes, col, prefix = "Sequelize.") => {
91
97
  case DataTypes.RANGE.key:
92
98
  console.warn(attrName + " type not supported, you should make it by");
93
99
  return prefix + attrObj.toSql();
100
+ // BOOLEAN
101
+ // TIME
102
+ // DATE
103
+ // DATEONLY
104
+ // HSTORE
105
+ // JSONB
106
+ // UUID
107
+ // UUIDV1
108
+ // UUIDV4
109
+ // VIRTUAL
110
+ // INET
111
+ // MACADDR
94
112
  default:
95
113
  return prefix + attrName;
96
114
  }
@@ -114,119 +132,173 @@ const parseIndex = (idx) => {
114
132
  const options = {};
115
133
  if (idx.name) {
116
134
  options.name = options.indexName = idx.name;
117
- }
135
+ } // The name of the index. Default is __
136
+ // @todo: UNIQUE|FULLTEXT|SPATIAL
118
137
  if (idx.unique) {
119
138
  options.type = options.indicesType = "UNIQUE";
120
139
  }
121
140
  if (idx.method) {
122
141
  options.indexType = idx.type;
123
- }
142
+ } // Set a type for the index, e.g. BTREE. See the documentation of the used dialect
124
143
  if (idx.parser && idx.parser != "") {
125
144
  options.parser = idx.parser;
126
- }
145
+ } // For FULLTEXT columns set your parser
127
146
  idx.options = options;
128
147
  idx.hash = JSON.stringify(idx);
148
+ // log ('PI:', JSON.stringify(idx, null, 4));
129
149
  return idx;
130
150
  };
151
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
131
152
  const reverseModels = (sequelizeModule, sequelize, realModels, logger) => {
132
153
  const models = {};
133
154
  for (const model in realModels) {
134
155
  if (model !== "default") {
135
156
  models[model] = {
136
157
  tableName: realModels[model].tableName,
137
- options: Object.assign({}, realModels[model].options),
138
- rawAttributes: Object.assign({}, realModels[model].rawAttributes)
158
+ options: {
159
+ ...realModels[model].options
160
+ },
161
+ rawAttributes: {
162
+ ...realModels[model].rawAttributes
163
+ }
139
164
  };
140
165
  }
141
166
  }
142
167
  const tables = {};
143
168
  delete models.default;
144
169
  for (const model in models) {
170
+ // noinspection JSUnfilteredForInLoop
145
171
  const attributes = models[model].rawAttributes;
146
172
  for (const column in attributes) {
173
+ // noinspection JSUnfilteredForInLoop
147
174
  delete attributes[column].Model;
175
+ // noinspection JSUnfilteredForInLoop
148
176
  delete attributes[column].fieldName;
177
+ // delete attributes[column].field;
178
+ // noinspection JSUnfilteredForInLoop
149
179
  for (const property in attributes[column]) {
180
+ // noinspection JSUnfilteredForInLoop
150
181
  if (property.startsWith("_")) {
182
+ // noinspection JSUnfilteredForInLoop
151
183
  delete attributes[column][property];
152
184
  continue;
153
185
  }
154
186
  if (property === "defaultValue") {
187
+ // noinspection JSUnfilteredForInLoop
155
188
  const _val = reverseSequelizeDefValueType(attributes[column][property]);
156
189
  if (_val.notSupported) {
190
+ // noinspection JSUnfilteredForInLoop
157
191
  logger.info(`[Not supported] Skip defaultValue column of attribute ${model}:${column}`);
192
+ // noinspection JSUnfilteredForInLoop
158
193
  delete attributes[column][property];
159
194
  continue;
160
195
  }
196
+ // noinspection JSUnfilteredForInLoop
161
197
  attributes[column][property] = _val;
162
198
  }
199
+ // remove getters, setters...
200
+ // noinspection JSUnfilteredForInLoop
163
201
  if (typeof attributes[column][property] == "function") {
202
+ // noinspection JSUnfilteredForInLoop
164
203
  delete attributes[column][property];
165
204
  }
166
205
  }
206
+ // noinspection JSUnfilteredForInLoop
167
207
  if (typeof attributes[column].type === "undefined") {
208
+ // noinspection JSUnfilteredForInLoop
168
209
  if (!attributes[column].seqType) {
210
+ // noinspection JSUnfilteredForInLoop
169
211
  logger.info(`[Not supported] Skip column with undefined type ${model}:${column}`);
212
+ // noinspection JSUnfilteredForInLoop
170
213
  delete attributes[column];
171
214
  continue;
172
215
  }
173
216
  else {
217
+ // noinspection JSUnfilteredForInLoop
174
218
  if (!["Sequelize.ARRAY(Sequelize.INTEGER)", "Sequelize.ARRAY(Sequelize.STRING)"].includes(attributes[column].seqType)) {
219
+ // noinspection JSUnfilteredForInLoop
175
220
  delete attributes[column];
176
221
  continue;
177
222
  }
223
+ // noinspection JSUnfilteredForInLoop
178
224
  attributes[column].type = {
179
225
  key: sequelizeModule.ARRAY.key
180
226
  };
181
227
  }
182
228
  }
229
+ // noinspection JSUnfilteredForInLoop
183
230
  let seqType = reverseSequelizeColType(sequelizeModule.DataTypes, attributes[column]);
231
+ // NO virtual types in migration
184
232
  if (seqType === "Sequelize.VIRTUAL") {
233
+ // noinspection JSUnfilteredForInLoop
185
234
  logger.info(`[SKIP] Skip Sequelize.VIRTUAL column "${column}"", defined in model "${model}"`);
235
+ // noinspection JSUnfilteredForInLoop
186
236
  delete attributes[column];
187
237
  continue;
188
238
  }
189
239
  if (!seqType) {
240
+ // noinspection JSUnfilteredForInLoop
190
241
  if (typeof attributes[column].type.options !== "undefined" && typeof attributes[column].type.options.toString === "function") {
242
+ // noinspection JSUnfilteredForInLoop
191
243
  seqType = attributes[column].type.options.toString(sequelize);
192
244
  }
245
+ // noinspection JSUnfilteredForInLoop
193
246
  if (typeof attributes[column].type.toString === "function") {
247
+ // noinspection JSUnfilteredForInLoop
194
248
  seqType = attributes[column].type.toString(sequelize);
195
249
  }
196
250
  }
251
+ // noinspection JSUnfilteredForInLoop
197
252
  attributes[column].seqType = seqType;
253
+ // noinspection JSUnfilteredForInLoop
198
254
  delete attributes[column].type;
199
- delete attributes[column].values;
255
+ // noinspection JSUnfilteredForInLoop
256
+ delete attributes[column].values; // ENUM
200
257
  }
258
+ // noinspection JSUnfilteredForInLoop
201
259
  tables[models[model].tableName] = {
260
+ // noinspection JSUnfilteredForInLoop
202
261
  tableName: models[model].tableName,
203
262
  schema: attributes
204
263
  };
264
+ // noinspection JSUnfilteredForInLoop
205
265
  if (models[model].options.indexes.length > 0) {
206
266
  const idxOut = {};
267
+ // noinspection JSUnfilteredForInLoop
207
268
  for (const _i in models[model].options.indexes) {
269
+ // noinspection JSUnfilteredForInLoop
208
270
  const index = parseIndex(models[model].options.indexes[_i]);
209
271
  idxOut[index.hash + ""] = index;
210
272
  delete index.hash;
273
+ // make it immutable
211
274
  Object.freeze(index);
212
275
  }
276
+ // noinspection JSUnfilteredForInLoop
277
+ // models[model].options.indexes = idxOut;
213
278
  tables[models[model].tableName].indexes = idxOut;
214
279
  }
280
+ // noinspection JSUnfilteredForInLoop
215
281
  if (typeof models[model].options.charset !== "undefined") {
282
+ // noinspection JSUnfilteredForInLoop
216
283
  tables[models[model].tableName].charset = models[model].options.charset;
217
284
  }
285
+ // noinspection JSUnfilteredForInLoop
218
286
  tables[models[model].tableName].indexes = models[model].options.indexes;
219
287
  }
220
288
  return tables;
221
289
  };
222
290
  exports.reverseModels = reverseModels;
223
291
  const parseDifference = (previousState, currentState, logger) => {
292
+ // log(JSON.stringify(currentState, null, 4));
224
293
  const actions = [];
225
- const difference = (0, deep_diff_1.diff)(previousState, currentState);
294
+ const difference = deep_diff_1.DEEPDIFF.diff(previousState, currentState);
226
295
  if (difference) {
227
296
  for (const df of difference) {
297
+ // log (JSON.stringify(df, null, 4));
228
298
  switch (df.kind) {
299
+ // add new
229
300
  case "N": {
301
+ // new table created
230
302
  if (df.path && df.path.length === 1) {
231
303
  const depends = [];
232
304
  const tableName = df.rhs.tableName;
@@ -248,13 +320,17 @@ const parseDifference = (previousState, currentState, logger) => {
248
320
  options,
249
321
  depends
250
322
  });
323
+ // create indexes
251
324
  if (df.rhs.indexes) {
252
325
  for (const _i in df.rhs.indexes) {
253
- actions.push(Object.assign({
254
- actionType: "addIndex",
255
- tableName,
256
- depends: [tableName]
257
- }, Object.assign({}, df.rhs.indexes[_i])));
326
+ // noinspection JSUnfilteredForInLoop
327
+ actions.push({
328
+ ...{
329
+ actionType: "addIndex",
330
+ tableName,
331
+ depends: [tableName]
332
+ }, ...{ ...df.rhs.indexes[_i] }
333
+ });
258
334
  }
259
335
  }
260
336
  break;
@@ -262,7 +338,9 @@ const parseDifference = (previousState, currentState, logger) => {
262
338
  const tableName = df.path && df.path[0];
263
339
  const depends = [tableName];
264
340
  if (df.path && df.path[1] === "schema") {
341
+ // if (df.path.length === 3) - new field
265
342
  if (df.path.length === 3) {
343
+ // new field
266
344
  if (df.rhs && df.rhs.references) {
267
345
  depends.push(df.rhs.references.model);
268
346
  }
@@ -275,8 +353,10 @@ const parseDifference = (previousState, currentState, logger) => {
275
353
  });
276
354
  break;
277
355
  }
356
+ // if (df.path.length > 3) - add new attribute to column (change col)
278
357
  if (df.path && df.path.length > 3) {
279
358
  if (df.path[1] === "schema") {
359
+ // new field attributes
280
360
  const options = currentState[tableName].schema[df.path[2]];
281
361
  if (options.references) {
282
362
  depends.push(options.references.nodel);
@@ -292,19 +372,27 @@ const parseDifference = (previousState, currentState, logger) => {
292
372
  }
293
373
  }
294
374
  }
375
+ // new index
295
376
  if (df.path && df.path[1] === "indexes") {
296
377
  const tableName = df.path[0];
297
- const index = Object.assign(Object.assign({}, df.rhs), { actionType: "addIndex", tableName: tableName, depends: "addIndex" });
378
+ const index = {
379
+ ...df.rhs,
380
+ actionType: "addIndex",
381
+ tableName: tableName,
382
+ depends: "addIndex",
383
+ };
298
384
  index.depends = [tableName];
299
385
  actions.push(index);
300
386
  break;
301
387
  }
302
388
  break;
303
389
  }
390
+ // drop
304
391
  case "D": {
305
392
  const tableName = df.path && df.path[0];
306
393
  const depends = [tableName];
307
394
  if (df.path && df.path.length === 1) {
395
+ // drop table
308
396
  actions.push({
309
397
  actionType: "dropTable",
310
398
  tableName,
@@ -313,7 +401,9 @@ const parseDifference = (previousState, currentState, logger) => {
313
401
  break;
314
402
  }
315
403
  if (df.path && df.path[1] === "schema") {
404
+ // if (df.path.length === 3) - drop field
316
405
  if (df.path.length === 3) {
406
+ // drop column
317
407
  actions.push({
318
408
  actionType: "removeColumn",
319
409
  tableName,
@@ -323,7 +413,9 @@ const parseDifference = (previousState, currentState, logger) => {
323
413
  });
324
414
  break;
325
415
  }
416
+ // if (df.path.length > 3) - drop attribute from column (change col)
326
417
  if (df.path.length > 3) {
418
+ // new field attributes
327
419
  const options = currentState[tableName].schema[df.path[2]];
328
420
  if (options.references) {
329
421
  depends.push(options.references.nodel);
@@ -339,6 +431,7 @@ const parseDifference = (previousState, currentState, logger) => {
339
431
  }
340
432
  }
341
433
  if (df.path && df.path[1] === "indexes") {
434
+ // log(df)
342
435
  actions.push({
343
436
  actionType: "removeIndex",
344
437
  tableName,
@@ -350,10 +443,12 @@ const parseDifference = (previousState, currentState, logger) => {
350
443
  }
351
444
  break;
352
445
  }
446
+ // edit
353
447
  case "E": {
354
448
  const tableName = df.path && df.path[0];
355
449
  const depends = [tableName];
356
450
  if (df.path && df.path[1] === "schema") {
451
+ // new field attributes
357
452
  const options = currentState[tableName].schema[df.path[2]];
358
453
  if (options.references) {
359
454
  depends.push(options.references.nodel);
@@ -366,11 +461,15 @@ const parseDifference = (previousState, currentState, logger) => {
366
461
  depends
367
462
  });
368
463
  }
464
+ // updated index
465
+ // only support updating and dropping indexes
369
466
  if (df.path && df.path[1] === "indexes") {
370
467
  const tableName = df.path && df.path[0];
371
468
  let keys = Object.keys(df.rhs);
469
+ // noinspection LoopStatementThatDoesntLoopJS
372
470
  for (const k in keys) {
373
471
  const key = keys[k];
472
+ // noinspection JSUnusedLocalSymbols
374
473
  actions.push({
375
474
  actionType: "addIndex",
376
475
  tableName,
@@ -381,8 +480,10 @@ const parseDifference = (previousState, currentState, logger) => {
381
480
  break;
382
481
  }
383
482
  keys = Object.keys(df.lhs);
483
+ // noinspection LoopStatementThatDoesntLoopJS
384
484
  for (const k in keys) {
385
485
  const key = keys[k];
486
+ // noinspection JSUnusedLocalSymbols
386
487
  actions.push({
387
488
  actionType: "removeIndex",
388
489
  tableName,
@@ -395,6 +496,7 @@ const parseDifference = (previousState, currentState, logger) => {
395
496
  }
396
497
  break;
397
498
  }
499
+ // array change indexes
398
500
  case "A": {
399
501
  logger.info("[Not supported] Array model changes! Problems are possible. Please, check result more carefully!");
400
502
  logger.info("[Not supported] Difference: ");
@@ -402,6 +504,7 @@ const parseDifference = (previousState, currentState, logger) => {
402
504
  break;
403
505
  }
404
506
  default:
507
+ // code
405
508
  break;
406
509
  }
407
510
  }
@@ -419,6 +522,8 @@ const sortActions = (actions) => {
419
522
  "changeColumn",
420
523
  "addIndex"
421
524
  ];
525
+ // test
526
+ // actions = shuffleArray(actions);
422
527
  actions.sort((a, b) => {
423
528
  if (orderedActionTypes.indexOf(a.actionType) < orderedActionTypes.indexOf(b.actionType)) {
424
529
  return -1;
@@ -428,10 +533,10 @@ const sortActions = (actions) => {
428
533
  }
429
534
  if (a.depends.length === 0 && b.depends.length > 0) {
430
535
  return -1;
431
- }
536
+ } // a < b
432
537
  if (b.depends.length === 0 && a.depends.length > 0) {
433
538
  return 1;
434
- }
539
+ } // b < a
435
540
  return 0;
436
541
  });
437
542
  for (let k = 0; k <= actions.length; k++) {
@@ -464,28 +569,36 @@ const sortActions = (actions) => {
464
569
  }
465
570
  };
466
571
  exports.sortActions = sortActions;
572
+ // noinspection SpellCheckingInspection
467
573
  const getMigration = (actions) => {
468
574
  const propertyToStr = (obj) => {
575
+ // noinspection SpellCheckingInspection
469
576
  const vals = [];
470
577
  for (const k in obj) {
471
578
  if (k === "seqType") {
579
+ // noinspection JSUnfilteredForInLoop
472
580
  vals.push('"type": ' + obj[k]);
473
581
  continue;
474
582
  }
475
583
  if (k === "defaultValue") {
584
+ // noinspection JSUnfilteredForInLoop
476
585
  if (obj[k].internal) {
586
+ // noinspection JSUnfilteredForInLoop
477
587
  vals.push('"defaultValue": ' + obj[k].value);
478
588
  continue;
479
589
  }
590
+ // noinspection JSUnfilteredForInLoop
480
591
  if (obj[k].notSupported) {
481
592
  continue;
482
593
  }
483
594
  const x = {};
595
+ // noinspection JSUnfilteredForInLoop
484
596
  x[k] = obj[k].value;
485
597
  vals.push(JSON.stringify(x).slice(1, -1));
486
598
  continue;
487
599
  }
488
600
  const x = {};
601
+ // noinspection JSUnfilteredForInLoop
489
602
  x[k] = obj[k];
490
603
  vals.push(JSON.stringify(x).slice(1, -1));
491
604
  }
@@ -494,6 +607,7 @@ const getMigration = (actions) => {
494
607
  const getAttributes = (attrs) => {
495
608
  const ret = [];
496
609
  for (const attrName in attrs) {
610
+ // noinspection JSUnfilteredForInLoop
497
611
  ret.push(` "${attrName}": ${propertyToStr(attrs[attrName])}`);
498
612
  }
499
613
  return " { \n" + ret.join(", \n") + "\n }";
@@ -501,7 +615,9 @@ const getMigration = (actions) => {
501
615
  const commandsUp = [];
502
616
  const consoleOut = [];
503
617
  for (const _i in actions) {
618
+ // noinspection JSUnfilteredForInLoop
504
619
  const action = actions[_i];
620
+ // noinspection FallThroughInSwitchStatementJS,FallThroughInSwitchStatementJS
505
621
  switch (action.actionType) {
506
622
  case "createTable":
507
623
  {
@@ -563,6 +679,7 @@ const getMigration = (actions) => {
563
679
  }
564
680
  break;
565
681
  case "removeIndex": {
682
+ // log(action)
566
683
  const nameOrAttrs = (action.options && action.options.indexName && action.options.indexName != "") ? `"${action.options.indexName}"` : JSON.stringify(action.fields);
567
684
  const res = `{ fn: "removeIndex", params: [
568
685
  "${action.tableName}",
@@ -572,15 +689,16 @@ const getMigration = (actions) => {
572
689
  consoleOut.push(`removeIndex ${nameOrAttrs} from table "${action.tableName}"`);
573
690
  }
574
691
  default:
692
+ // code
575
693
  }
576
694
  }
577
695
  return { commandsUp, consoleOut };
578
696
  };
579
697
  exports.getMigration = getMigration;
580
- ;
581
698
  const writeMigration = (revision, migration, migrationsDir, name = "", comment = "") => {
582
699
  const _commands = "var migrationCommands = [ \n" + migration.commandsUp.join(", \n") + " \n];\n";
583
700
  const _actions = " * " + migration.consoleOut.join("\n * ");
701
+ //_commands = js_beautify(_commands);
584
702
  const info = {
585
703
  revision,
586
704
  name,
@@ -633,3 +751,4 @@ module.exports = {
633
751
  return { filename, info };
634
752
  };
635
753
  exports.writeMigration = writeMigration;
754
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../src/utils/db/automigrations/migrate.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,16 @@ export interface SequelizeRC {
5
5
  "seeders-path": string;
6
6
  "models-path": string;
7
7
  }
8
- export declare const loadSequelizeRC: (sequelizercPath?: string, logger?: Logger) => SequelizeRC;
8
+ export declare const loadSequelizeRC: (sequelizercPath?: string, logger?: Logger | undefined) => SequelizeRC;
9
9
  export declare const loadModels: (args?: {
10
10
  "models-path": string;
11
- }) => {
11
+ } | undefined) => {
12
12
  path: string;
13
13
  modelsModule: any;
14
14
  };
15
15
  export declare const loadSequelize: (args?: {
16
16
  "models-path": string;
17
- }, l?: Logger) => any;
17
+ } | undefined, l?: Logger | undefined) => any;
18
18
  export declare const initDBConfig: () => boolean;
19
19
  export declare const makemigrations: () => void;
20
20
  export declare const syncMakeMigrations: () => void;
@@ -8,13 +8,17 @@ const templates_1 = require("../../utils/templates");
8
8
  const core_1 = require("@miqro/core");
9
9
  const logger = console;
10
10
  const loadSequelizeRC = (sequelizercPath = core_1.ConfigPathResolver.getSequelizeRCFilePath(), logger) => {
11
+ // noinspection SpellCheckingInspection
11
12
  if (!(0, fs_1.existsSync)(sequelizercPath)) {
13
+ // noinspection SpellCheckingInspection
12
14
  throw new core_1.ConfigFileNotFoundError(`missing ${sequelizercPath} file. maybe you didnt init your db config.`);
13
15
  }
14
16
  else {
15
17
  if (logger) {
16
18
  logger.debug(`loading sequelize config from [${sequelizercPath}]`);
17
19
  }
20
+ // noinspection SpellCheckingInspection
21
+ /* eslint-disable @typescript-eslint/no-var-requires */
18
22
  const sequelizerc = require(sequelizercPath);
19
23
  return (0, core_1.parse)(sequelizercPath, sequelizerc, [
20
24
  { name: "config", type: "string", required: true },
@@ -46,6 +50,7 @@ const loadSequelize = (args, l) => {
46
50
  return modelsModule.sequelize;
47
51
  };
48
52
  exports.loadSequelize = loadSequelize;
53
+ // noinspection SpellCheckingInspection
49
54
  const initDBConfig = () => {
50
55
  try {
51
56
  const initDir = (p) => {
@@ -66,19 +71,22 @@ const initDBConfig = () => {
66
71
  logger.warn(`${p} already exists!. init will not create it.`);
67
72
  }
68
73
  };
74
+ // noinspection SpellCheckingInspection
69
75
  const sequelizercPath = (0, path_1.resolve)(core_1.ConfigPathResolver.getBaseDirname(), ".sequelizerc");
70
76
  if ((0, fs_1.existsSync)(sequelizercPath)) {
71
77
  logger.warn(`.sequelizerc already exists!. init will do nothing.`);
72
78
  return false;
73
79
  }
74
80
  else {
75
- const typescript = false;
81
+ // disable experimental typescript support
82
+ const typescript = false; //existsSync(resolve(ConfigPathResolver.getBaseDirname(), "tsconfig.json")) ? true : false;
76
83
  const dbFolder = (0, path_1.resolve)(core_1.ConfigPathResolver.getBaseDirname(), "db");
77
84
  const migrationsFolder = (0, path_1.resolve)(dbFolder, "migrations");
78
85
  const modelsFolder = typescript ? (0, path_1.resolve)("src", "models") : (0, path_1.resolve)(dbFolder, "models");
79
86
  const seedersFolder = (0, path_1.resolve)(dbFolder, "seeders");
80
87
  const modelLoaderPath = (0, path_1.resolve)(modelsFolder, typescript ? "index.ts" : "index.js");
81
88
  const dbConfigFilePath = (0, path_1.resolve)(dbFolder, "connection.js");
89
+ // noinspection SpellCheckingInspection
82
90
  initFile(sequelizercPath, templates_1.templates.sequelizerc(typescript));
83
91
  initDir(dbFolder);
84
92
  initFile(dbConfigFilePath, templates_1.templates.dbConfig);
@@ -95,6 +103,7 @@ const initDBConfig = () => {
95
103
  }
96
104
  };
97
105
  exports.initDBConfig = initDBConfig;
106
+ // noinspection SpellCheckingInspection
98
107
  const makemigrations = () => {
99
108
  try {
100
109
  (0, automigrations_1.makemigrationsImpl)();
@@ -115,3 +124,4 @@ const syncMakeMigrations = () => {
115
124
  }
116
125
  };
117
126
  exports.syncMakeMigrations = syncMakeMigrations;
127
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/db/index.ts"],"names":[],"mappings":"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"}