tspace-mysql 1.9.0 → 1.9.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 (108) hide show
  1. package/README.md +4357 -133
  2. package/dist/lib/config/index.d.ts +2 -2
  3. package/dist/lib/config/index.js +24 -16
  4. package/dist/lib/config/index.js.map +1 -1
  5. package/dist/lib/constants/index.d.ts +10 -1
  6. package/dist/lib/constants/index.js +11 -2
  7. package/dist/lib/constants/index.js.map +1 -1
  8. package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +11 -7
  9. package/dist/lib/core/Abstracts/AbstractBuilder.js +11 -13
  10. package/dist/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
  11. package/dist/lib/core/Abstracts/AbstractDB.d.ts +4 -1
  12. package/dist/lib/core/Abstracts/AbstractDB.js.map +1 -1
  13. package/dist/lib/core/Abstracts/AbstractView.js.map +1 -1
  14. package/dist/lib/core/Blueprint.d.ts +30 -10
  15. package/dist/lib/core/Blueprint.js +39 -14
  16. package/dist/lib/core/Blueprint.js.map +1 -1
  17. package/dist/lib/core/Builder.d.ts +263 -9
  18. package/dist/lib/core/Builder.js +610 -347
  19. package/dist/lib/core/Builder.js.map +1 -1
  20. package/dist/lib/core/Cache/DBCache.js +19 -20
  21. package/dist/lib/core/Cache/DBCache.js.map +1 -1
  22. package/dist/lib/core/Cache/MemoryCache.js +3 -3
  23. package/dist/lib/core/Cache/MemoryCache.js.map +1 -1
  24. package/dist/lib/core/Cache/RedisCache.js +27 -17
  25. package/dist/lib/core/Cache/RedisCache.js.map +1 -1
  26. package/dist/lib/core/Cache/index.js +5 -4
  27. package/dist/lib/core/Cache/index.js.map +1 -1
  28. package/dist/lib/core/Contracts/AlterTable.d.ts +152 -0
  29. package/dist/lib/core/Contracts/AlterTable.js +243 -0
  30. package/dist/lib/core/Contracts/AlterTable.js.map +1 -0
  31. package/dist/lib/core/Contracts/Audit.js +2 -5
  32. package/dist/lib/core/Contracts/Audit.js.map +1 -1
  33. package/dist/lib/core/DB.d.ts +101 -9
  34. package/dist/lib/core/DB.js +168 -29
  35. package/dist/lib/core/DB.js.map +1 -1
  36. package/dist/lib/core/Decorator.d.ts +144 -16
  37. package/dist/lib/core/Decorator.js +156 -14
  38. package/dist/lib/core/Decorator.js.map +1 -1
  39. package/dist/lib/core/Driver/index.d.ts +43 -9
  40. package/dist/lib/core/Driver/index.js +9 -7
  41. package/dist/lib/core/Driver/index.js.map +1 -1
  42. package/dist/lib/core/Driver/mariadb/MariadbDriver.js +74 -27
  43. package/dist/lib/core/Driver/mariadb/MariadbDriver.js.map +1 -1
  44. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.d.ts +45 -9
  45. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js +165 -21
  46. package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js.map +1 -1
  47. package/dist/lib/core/Driver/mongodb/MongodbDriver.d.ts +24 -0
  48. package/dist/lib/core/Driver/mongodb/MongodbDriver.js +255 -0
  49. package/dist/lib/core/Driver/mongodb/MongodbDriver.js.map +1 -0
  50. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.d.ts +141 -0
  51. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js +563 -0
  52. package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js.map +1 -0
  53. package/dist/lib/core/Driver/mysql/MysqlDriver.js +105 -95
  54. package/dist/lib/core/Driver/mysql/MysqlDriver.js.map +1 -1
  55. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.d.ts +45 -9
  56. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js +165 -21
  57. package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js.map +1 -1
  58. package/dist/lib/core/Driver/postgres/PostgresDriver.js +97 -72
  59. package/dist/lib/core/Driver/postgres/PostgresDriver.js.map +1 -1
  60. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.d.ts +50 -9
  61. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js +296 -41
  62. package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js.map +1 -1
  63. package/dist/lib/core/Driver/sqlite/SqliteDriver.d.ts +20 -0
  64. package/dist/lib/core/Driver/sqlite/SqliteDriver.js +192 -0
  65. package/dist/lib/core/Driver/sqlite/SqliteDriver.js.map +1 -0
  66. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.d.ts +144 -0
  67. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js +689 -0
  68. package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js.map +1 -0
  69. package/dist/lib/core/JoinModel.js +2 -2
  70. package/dist/lib/core/JoinModel.js.map +1 -1
  71. package/dist/lib/core/Meta.d.ts +17 -11
  72. package/dist/lib/core/Meta.js +25 -19
  73. package/dist/lib/core/Meta.js.map +1 -1
  74. package/dist/lib/core/Model.d.ts +450 -108
  75. package/dist/lib/core/Model.js +1031 -587
  76. package/dist/lib/core/Model.js.map +1 -1
  77. package/dist/lib/{tools/index.d.ts → core/Package.d.ts} +11 -3
  78. package/dist/lib/{tools/index.js → core/Package.js} +20 -7
  79. package/dist/lib/core/Package.js.map +1 -0
  80. package/dist/lib/core/Pool.js +42 -30
  81. package/dist/lib/core/Pool.js.map +1 -1
  82. package/dist/lib/core/Queue.d.ts +240 -0
  83. package/dist/lib/core/Queue.js +686 -0
  84. package/dist/lib/core/Queue.js.map +1 -0
  85. package/dist/lib/core/RelationManager.js +27 -25
  86. package/dist/lib/core/RelationManager.js.map +1 -1
  87. package/dist/lib/core/Repository.d.ts +73 -207
  88. package/dist/lib/core/Repository.js +120 -235
  89. package/dist/lib/core/Repository.js.map +1 -1
  90. package/dist/lib/core/Schema.d.ts +218 -0
  91. package/dist/lib/core/Schema.js +370 -65
  92. package/dist/lib/core/Schema.js.map +1 -1
  93. package/dist/lib/core/StateManager.d.ts +25 -12
  94. package/dist/lib/core/StateManager.js +10 -5
  95. package/dist/lib/core/StateManager.js.map +1 -1
  96. package/dist/lib/core/UtilityTypes.d.ts +85 -56
  97. package/dist/lib/core/UtilityTypes.js.map +1 -1
  98. package/dist/lib/core/index.d.ts +4 -0
  99. package/dist/lib/core/index.js +6 -2
  100. package/dist/lib/core/index.js.map +1 -1
  101. package/dist/lib/types/decorator/index.d.ts +1 -1
  102. package/dist/lib/types/index.d.ts +69 -22
  103. package/dist/lib/types/repository/index.d.ts +68 -37
  104. package/dist/lib/utils/index.d.ts +11 -1
  105. package/dist/lib/utils/index.js +58 -2
  106. package/dist/lib/utils/index.js.map +1 -1
  107. package/package.json +14 -6
  108. package/dist/lib/tools/index.js.map +0 -1
@@ -34,8 +34,11 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.Schema = void 0;
37
+ const zod_1 = require("zod");
37
38
  const Builder_1 = require("./Builder");
38
- const tools_1 = require("../tools");
39
+ const Package_1 = require("./Package");
40
+ ;
41
+ const AlterTable_1 = require("./Contracts/AlterTable");
39
42
  class Schema {
40
43
  $db = new Builder_1.Builder();
41
44
  table = async (table, schemas) => {
@@ -66,10 +69,16 @@ class Schema {
66
69
  console.log(err.message?.replace(/ER_TABLE_EXISTS_ERROR:/g, ""));
67
70
  }
68
71
  };
72
+ static table = async (table, schemas) => {
73
+ return new this().table(table, schemas);
74
+ };
69
75
  createTable = (database, table, schema) => {
70
76
  const query = this.$db["_queryBuilder"]();
71
77
  return query.createTable({ database, table, schema });
72
78
  };
79
+ static createTable = (database, table, schema) => {
80
+ return new this().createTable(database, table, schema);
81
+ };
73
82
  detectSchema(schema) {
74
83
  try {
75
84
  return {
@@ -85,18 +94,7 @@ class Schema {
85
94
  }
86
95
  }
87
96
  static detectSchema(schema) {
88
- try {
89
- return {
90
- type: schema?.type ?? schema?._type ?? null,
91
- attributes: schema?.attributes ?? schema?._attributes ?? null,
92
- };
93
- }
94
- catch (e) {
95
- return {
96
- type: null,
97
- attributes: null,
98
- };
99
- }
97
+ return new this().detectSchema(schema);
100
98
  }
101
99
  /**
102
100
  *
@@ -156,11 +154,11 @@ class Schema {
156
154
  * await new Schema().sync(`app/Models` , { force : true , log = true, foreign = true , changed = true })
157
155
  */
158
156
  async sync(pathFolders, { force = false, log = false, foreign = false, changed = false, index = false, } = {}) {
159
- const directories = tools_1.Tool.fs.readdirSync(pathFolders, {
157
+ const directories = Package_1.Package.fs.readdirSync(pathFolders, {
160
158
  withFileTypes: true,
161
159
  });
162
160
  const files = await Promise.all(directories.map((directory) => {
163
- const newDir = tools_1.Tool.path.resolve(String(pathFolders), directory.name);
161
+ const newDir = Package_1.Package.path.resolve(String(pathFolders), directory.name);
164
162
  if (directory.isDirectory() &&
165
163
  directory.name.toLocaleLowerCase().includes("migrations"))
166
164
  return null;
@@ -246,6 +244,243 @@ class Schema {
246
244
  index,
247
245
  });
248
246
  }
247
+ /**
248
+ * The 'validator' method is used Create runtime validator schema from Model definition.
249
+ *
250
+ * Generates request validation schema compatible with supported adapters.
251
+ *
252
+ *
253
+ * @param {Model} model Model class used to generate validator schema.
254
+ * @type {object} options
255
+ * @param {string[]} options.omit
256
+ * @param {string[]} options.optional
257
+ *
258
+ *
259
+ * @example
260
+ *
261
+ * import { Schema } from 'tspace-mysql'
262
+ * import { User } from './User'
263
+ * import { Elysia } from 'elysia'
264
+ *
265
+ * new Elysia()
266
+ * .post('/', ({ body }) => {
267
+ * return { body }
268
+ * }, {
269
+ * body: Schema
270
+ * .validator(User)
271
+ * .create({
272
+ * omit: ["id", "created_at", "updated_at", "deleted_at"],
273
+ * optional: ["uuid"]
274
+ * })
275
+ * })
276
+ * .put('/', ({ body }) => {
277
+ * return { body }
278
+ * }, {
279
+ * body: Schema
280
+ * .validator(User)
281
+ * .update({
282
+ * required: ["id","email"],
283
+ * omit: ["uuid"]
284
+ * })
285
+ * })
286
+ * .listen(8000)
287
+ */
288
+ validator(model) {
289
+ return {
290
+ /**
291
+ * The 'create' method is used Create runtime validator schema from Model definition.
292
+ *
293
+ * Generates request validation schema compatible with supported adapters.
294
+ *
295
+ * @type {object} options
296
+ * @param {string[]} options.omit
297
+ * @param {string[]} options.optional
298
+ *
299
+ *
300
+ * @example
301
+ *
302
+ * import { Schema } from 'tspace-mysql'
303
+ * import { User } from './User'
304
+ * import { Elysia } from 'elysia'
305
+ *
306
+ * new Elysia()
307
+ * .post('/', ({ body }) => {
308
+ * return { body }
309
+ * }, {
310
+ * body: Schema
311
+ * .validator(User)
312
+ * .create({
313
+ * omit: ["id", "created_at", "updated_at", "deleted_at"],
314
+ * optional: ["uuid"]
315
+ * })
316
+ * .listen(8000)
317
+ */
318
+ create: (options) => {
319
+ return this._createValidator(model, options);
320
+ },
321
+ /**
322
+ * The 'update' method is used Create runtime validator schema from Model definition.
323
+ *
324
+ * Generates request validation schema compatible with supported adapters.
325
+ *
326
+ * @type {object} options
327
+ * @param {string[]} options.required
328
+ * @param {string[]} options.omit
329
+ * @example
330
+ *
331
+ * import { Schema } from 'tspace-mysql'
332
+ * import { User } from './User'
333
+ * import { Elysia } from 'elysia'
334
+ *
335
+ * new Elysia()
336
+ * .post('/', ({ body }) => {
337
+ * return { body }
338
+ * }, {
339
+ * body: Schema
340
+ * .validator(User)
341
+ * .update({
342
+ * required: ["id","email"],
343
+ * omit: ["uuid"]
344
+ * })
345
+ * })
346
+ * .listen(8000)
347
+ */
348
+ update: (options) => {
349
+ return this._updateValidator(model, options);
350
+ }
351
+ };
352
+ }
353
+ /**
354
+ * The 'validator' method is used Create runtime validator schema from Model definition.
355
+ *
356
+ * Generates request validation schema compatible with supported adapters.
357
+ *
358
+ *
359
+ * @param {Model} model Model class used to generate validator schema.
360
+ * @type {object} options
361
+ * @param {string[]} options.omit
362
+ * @param {string[]} options.optional
363
+ *
364
+ *
365
+ * @example
366
+ *
367
+ * import { Schema } from 'tspace-mysql'
368
+ * import { User } from './User'
369
+ * import { Elysia } from 'elysia'
370
+ *
371
+ * new Elysia()
372
+ * .post('/', ({ body }) => {
373
+ * return { body }
374
+ * }, {
375
+ * body: Schema.createValidator(User, {
376
+ * omit: ["id", "created_at", "updated_at", "deleted_at"],
377
+ * optional: ["uuid"]
378
+ * })
379
+ * })
380
+ * .listen(8000)
381
+ */
382
+ static validator(model) {
383
+ return new this().validator(model);
384
+ }
385
+ alterTable(model) {
386
+ return new AlterTable_1.AlterTable(model);
387
+ }
388
+ static alterTable(model) {
389
+ return new this().alterTable(model);
390
+ }
391
+ _createValidator(model, options) {
392
+ const schema = new model().getSchemaModel();
393
+ if (schema == null) {
394
+ throw new Error(`The '${new model().constructor.name}' is missing schema definition.`);
395
+ }
396
+ const shape = {};
397
+ const definition = this._definitionSchema(schema);
398
+ for (const key in definition) {
399
+ if (options?.omit?.includes(key))
400
+ continue;
401
+ const value = definition[key];
402
+ let schemaValidator;
403
+ if (Array.isArray(value)) {
404
+ schemaValidator = zod_1.z.enum(value);
405
+ }
406
+ else if (typeof value === "string" && value.includes("|null")) {
407
+ const base = value.replace("|null", "");
408
+ //@ts-ignore
409
+ schemaValidator = zod_1.z.nullable(zod_1.z[base]());
410
+ }
411
+ else {
412
+ //@ts-ignore
413
+ schemaValidator = zod_1.z[value]();
414
+ }
415
+ if (options?.optional?.includes(key)) {
416
+ schemaValidator = zod_1.z.optional(schemaValidator);
417
+ }
418
+ // @ts-ignore
419
+ shape[key] = schemaValidator;
420
+ }
421
+ return zod_1.z.object(shape);
422
+ }
423
+ _updateValidator(model, options) {
424
+ const schema = new model().getSchemaModel();
425
+ if (schema == null) {
426
+ throw new Error(`The '${new model().constructor.name}' is missing schema definition.`);
427
+ }
428
+ const shape = {};
429
+ const definition = this._definitionSchema(schema);
430
+ for (const key in definition) {
431
+ const value = definition[key];
432
+ let schemaValidator;
433
+ if (!options?.required?.includes(key)) {
434
+ const v = Array.isArray(value) ? "enum" : value?.replace("|null", "");
435
+ //@ts-ignore
436
+ schemaValidator = Array.isArray(value) ? zod_1.z.enum(value) : zod_1.z[v]();
437
+ schemaValidator = zod_1.z.nullable(schemaValidator);
438
+ schemaValidator = zod_1.z.optional(schemaValidator);
439
+ // @ts-ignore
440
+ shape[key] = schemaValidator;
441
+ continue;
442
+ }
443
+ if (Array.isArray(value)) {
444
+ schemaValidator = zod_1.z.enum(value);
445
+ }
446
+ else if (typeof value === "string" && value.includes("|null")) {
447
+ const base = value.replace("|null", "");
448
+ //@ts-ignore
449
+ schemaValidator = zod_1.z.nullable(zod_1.z[base]());
450
+ }
451
+ else {
452
+ //@ts-ignore
453
+ schemaValidator = zod_1.z[value]();
454
+ }
455
+ // @ts-ignore
456
+ shape[key] = schemaValidator;
457
+ }
458
+ return zod_1.z.object(shape);
459
+ }
460
+ _definitionSchema(schema) {
461
+ const typeMap = new Map([
462
+ [Number, "number"],
463
+ [String, "string"],
464
+ [Boolean, "boolean"],
465
+ [Date, "date"],
466
+ [Array, "array"],
467
+ [Object, "object"],
468
+ ]);
469
+ let definition = {};
470
+ for (const key in schema) {
471
+ const type = schema[key].valueType;
472
+ const isNull = schema[key].isNull;
473
+ const isEnum = schema[key].isEnum;
474
+ definition[key] = typeMap.get(type) ?? "unknown";
475
+ if (isNull) {
476
+ definition[key] = definition[key] + '|null';
477
+ }
478
+ if (isEnum) {
479
+ definition[key] = schema[key].enums;
480
+ }
481
+ }
482
+ return definition;
483
+ }
249
484
  async _import(pathModel) {
250
485
  try {
251
486
  const loadModel = await Promise.resolve(`${pathModel}`).then(s => __importStar(require(s))).catch((_) => { });
@@ -253,7 +488,7 @@ class Schema {
253
488
  return model;
254
489
  }
255
490
  catch (err) {
256
- console.log(`Check your 'Model' from path : '${pathModel}' is not instance of Model`);
491
+ console.log(`Check your 'Model' from path : '${pathModel}' is not instance of Model, Please export default class with extends Model.`);
257
492
  return null;
258
493
  }
259
494
  }
@@ -264,7 +499,7 @@ class Schema {
264
499
  .rawQuery(query.getTables(this.$db.database()));
265
500
  const tables = rawTables.map((c) => Object.values(c)[0]);
266
501
  for (const model of models) {
267
- if (model == null || !force)
502
+ if (model == null)
268
503
  continue;
269
504
  let rawSchemaModel = model.getSchemaModel();
270
505
  if (!rawSchemaModel)
@@ -277,13 +512,13 @@ class Schema {
277
512
  }
278
513
  return prev;
279
514
  }, {});
515
+ await this._syncTable({
516
+ schemaModel,
517
+ model,
518
+ log,
519
+ tables
520
+ });
280
521
  if (force) {
281
- await this._syncTable({
282
- schemaModel,
283
- model,
284
- log,
285
- tables
286
- });
287
522
  await this._syncMissingColumn({
288
523
  schemaModel,
289
524
  model,
@@ -365,7 +600,7 @@ class Schema {
365
600
  });
366
601
  if (FK)
367
602
  continue;
368
- await this.$db.debug(log).rawQuery(query.createFK({
603
+ await this.$db.debug(log).rawQuery(query.addFK({
369
604
  table: model.getTableName(),
370
605
  tableRef: table,
371
606
  key,
@@ -389,7 +624,7 @@ class Schema {
389
624
  });
390
625
  await this.$db
391
626
  .debug(log)
392
- .rawQuery(query.createFK({
627
+ .rawQuery(query.addFK({
393
628
  table: model.getTableName(),
394
629
  tableRef: table,
395
630
  key,
@@ -418,14 +653,14 @@ class Schema {
418
653
  const INDEX = await this.$db.debug(log)
419
654
  .hasIndex({
420
655
  table: table,
421
- index: index,
656
+ name: index,
422
657
  });
423
658
  if (INDEX)
424
659
  continue;
425
- await this.$db.debug(log).rawQuery(query.createIndex({
660
+ await this.$db.debug(log).rawQuery(query.addIndex({
426
661
  table: table,
427
- index: index,
428
- key: key,
662
+ name: index,
663
+ columns: [key],
429
664
  }));
430
665
  }
431
666
  catch (err) {
@@ -441,21 +676,70 @@ class Schema {
441
676
  });
442
677
  await this.$db
443
678
  .debug(log)
444
- .rawQuery(query.createIndex({
679
+ .rawQuery(query.addIndex({
445
680
  table: model.getTableName(),
446
- index: index,
447
- key: key,
681
+ name: index,
682
+ columns: [key],
448
683
  }))
449
684
  .catch((err) => {
450
685
  console.log(`\x1b[31mERROR: Failed to craete index key '${index}' with name ${key} caused by '${err.message}'\x1b[0m`);
451
686
  });
452
687
  }
453
688
  }
689
+ for (const key in schemaModel) {
690
+ const compositeIndex = schemaModel[key]?.compositeIndexKey;
691
+ if (compositeIndex == null)
692
+ continue;
693
+ const table = model.getTableName();
694
+ const comebindKey = [key, ...compositeIndex.columns];
695
+ const index = compositeIndex.name == "" ? `idx_${table}(${comebindKey})` : compositeIndex.name;
696
+ const query = model["_queryBuilder"]();
697
+ try {
698
+ const INDEX = await this.$db.debug(log)
699
+ .hasIndex({
700
+ table: table,
701
+ name: index,
702
+ });
703
+ if (INDEX)
704
+ continue;
705
+ await this.$db.debug(log).rawQuery(query.addIndex({
706
+ table: table,
707
+ name: index,
708
+ columns: comebindKey,
709
+ }));
710
+ }
711
+ catch (err) {
712
+ await this.$db
713
+ .debug(log)
714
+ .rawQuery(query.createTable({
715
+ database: this.$db.database(),
716
+ table: table,
717
+ schema: schemaModel
718
+ }))
719
+ .catch((err) => {
720
+ console.log(`\x1b[31mERROR: Failed to create the table '${table}' caused by '${err.message}'\x1b[0m`);
721
+ });
722
+ const compositeIndex = schemaModel[key]?.compositeIndexKey;
723
+ if (compositeIndex == null)
724
+ continue;
725
+ const comebindKey = [key, ...compositeIndex.columns];
726
+ await this.$db
727
+ .debug(log)
728
+ .rawQuery(query.addIndex({
729
+ table: model.getTableName(),
730
+ name: index,
731
+ columns: comebindKey,
732
+ }))
733
+ .catch((err) => {
734
+ console.log(`\x1b[31mERROR: Failed to craete index key '${index}' with name ${comebindKey} caused by '${err.message}'\x1b[0m`);
735
+ });
736
+ }
737
+ }
454
738
  }
455
739
  async _syncChangeColumn({ schemaModel, model, log, }) {
456
740
  const schemaTable = await model.getSchema();
457
741
  const query = model["_queryBuilder"]();
458
- const isTypeMatch = ({ typeTable, typeSchema, }) => {
742
+ const isChangeType = ({ typeTable, typeSchema, }) => {
459
743
  const mappings = {
460
744
  integer: ["int", "integer"],
461
745
  boolean: ["boolean", "tinyint(1)"],
@@ -465,20 +749,14 @@ class Schema {
465
749
  text: ["text", /^longtext$/i],
466
750
  "timestamp without time zone": ["timestamp", "datetime"],
467
751
  };
468
- // Enum in postgres too hard for maping
469
- // if have value add in Blueprint.enum, The sync column is not supported
470
- if (/^character varying(\(\d+\))?$/i.test(typeTable) &&
471
- /^enum\(.+\)$/i.test(typeSchema)) {
472
- return true;
473
- }
474
752
  if (typeTable.startsWith("character varying")) {
475
753
  const typeTableFormated = typeTable.replace("character varying", "varchar");
476
754
  if (typeTableFormated === typeSchema)
477
- return true;
478
- return false;
755
+ return false;
756
+ return true;
479
757
  }
480
758
  if (typeTable in mappings) {
481
- return mappings[typeTable].some((pattern) => {
759
+ return !mappings[typeTable].some((pattern) => {
482
760
  if (typeof pattern === "string") {
483
761
  return typeSchema.toLowerCase() === pattern.toLowerCase();
484
762
  }
@@ -489,9 +767,24 @@ class Schema {
489
767
  });
490
768
  }
491
769
  if (typeTable === typeSchema) {
492
- return true;
770
+ return false;
771
+ }
772
+ return true;
773
+ };
774
+ const isChangeNullable = ({ nullable, isNull }) => {
775
+ if (nullable === 'YES' && isNull) {
776
+ return false;
777
+ }
778
+ if (nullable === 'NO' && !isNull) {
779
+ return false;
780
+ }
781
+ return true;
782
+ };
783
+ const isChangeDefault = ({ defaultTable, defaultSchema }) => {
784
+ if (defaultTable == defaultSchema) {
785
+ return false;
493
786
  }
494
- return false;
787
+ return true;
495
788
  };
496
789
  const wasChangedColumns = Object.entries(schemaModel)
497
790
  .map(([key, value]) => {
@@ -500,29 +793,41 @@ class Schema {
500
793
  return null;
501
794
  const typeTable = String(find.Type).toLowerCase();
502
795
  const typeSchema = String(value.type).toLowerCase();
503
- const sameType = isTypeMatch({ typeTable, typeSchema });
504
- return sameType ? null : key;
796
+ const isChangedType = isChangeType({ typeTable, typeSchema });
797
+ const isChangedNullable = isChangeNullable({
798
+ nullable: find.Nullable,
799
+ isNull: value.isNull
800
+ });
801
+ const isChangedDefault = isChangeDefault({
802
+ defaultTable: find.Default,
803
+ defaultSchema: value.defaultValue
804
+ });
805
+ return [
806
+ isChangedType,
807
+ isChangedNullable,
808
+ isChangedDefault
809
+ ].some(v => v) ? key : null;
505
810
  })
506
811
  .filter((d) => d != null);
507
- if (wasChangedColumns.length) {
508
- for (const column of wasChangedColumns) {
509
- if (column == null)
510
- continue;
511
- const { type, attributes } = this.detectSchema(schemaModel[column]);
512
- if (type == null || attributes == null)
513
- continue;
514
- await this.$db
515
- .debug(log)
516
- .rawQuery(query.changeColumn({
517
- table: model.getTableName(),
518
- type,
519
- column,
520
- attributes,
521
- }))
522
- .catch((err) => {
523
- console.log(`\x1b[31mERROR: Failed to change the column '${column}' caused by '${err.message}'\x1b[0m`);
524
- });
525
- }
812
+ if (!wasChangedColumns.length)
813
+ return;
814
+ for (const column of wasChangedColumns) {
815
+ if (column == null)
816
+ continue;
817
+ const { type, attributes } = this.detectSchema(schemaModel[column]);
818
+ if (type == null || attributes == null)
819
+ continue;
820
+ await this.$db
821
+ .debug(log)
822
+ .rawQuery(query.changeColumn({
823
+ table: model.getTableName(),
824
+ type,
825
+ column,
826
+ attributes,
827
+ }))
828
+ .catch((err) => {
829
+ console.log(`\x1b[31mERROR: Failed to change the column '${column}' caused by '${err.message}'\x1b[0m`);
830
+ });
526
831
  }
527
832
  }
528
833
  async _syncMissingColumn({ schemaModel, model, log, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/lib/core/Schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/lib/core/Schema.ts"],"names":[],"mappings":"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"}