tspace-mysql 1.9.3 → 1.9.4-beta.2

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 (67) hide show
  1. package/README.md +139 -21
  2. package/dist/lib/constants/index.d.ts +1 -1
  3. package/dist/lib/constants/index.js +8 -1
  4. package/dist/lib/constants/index.js.map +1 -1
  5. package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +1 -1
  6. package/dist/lib/core/Abstracts/AbstractBuilder.js +1 -0
  7. package/dist/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
  8. package/dist/lib/core/Blueprint.d.ts +45 -12
  9. package/dist/lib/core/Blueprint.js +43 -2
  10. package/dist/lib/core/Blueprint.js.map +1 -1
  11. package/dist/lib/core/Builder.d.ts +6 -6
  12. package/dist/lib/core/Builder.js +29 -35
  13. package/dist/lib/core/Builder.js.map +1 -1
  14. package/dist/lib/core/Contracts/Audit.d.ts +2 -2
  15. package/dist/lib/core/Contracts/Logger.d.ts +2 -2
  16. package/dist/lib/core/DB.d.ts +137 -6
  17. package/dist/lib/core/DB.js +153 -30
  18. package/dist/lib/core/DB.js.map +1 -1
  19. package/dist/lib/core/Driver/index.d.ts +2 -1
  20. package/dist/lib/core/Driver/index.js +11 -0
  21. package/dist/lib/core/Driver/index.js.map +1 -1
  22. package/dist/lib/core/Driver/mariadb/MariadbDriver.d.ts +4 -1
  23. package/dist/lib/core/Driver/mariadb/MariadbDriver.js +21 -7
  24. package/dist/lib/core/Driver/mariadb/MariadbDriver.js.map +1 -1
  25. package/dist/lib/core/Driver/mongodb/MongodbDriver.d.ts +4 -1
  26. package/dist/lib/core/Driver/mongodb/MongodbDriver.js +8 -6
  27. package/dist/lib/core/Driver/mongodb/MongodbDriver.js.map +1 -1
  28. package/dist/lib/core/Driver/mysql/MysqlDriver.d.ts +4 -1
  29. package/dist/lib/core/Driver/mysql/MysqlDriver.js +35 -7
  30. package/dist/lib/core/Driver/mysql/MysqlDriver.js.map +1 -1
  31. package/dist/lib/core/Driver/postgres/PostgresDriver.d.ts +4 -1
  32. package/dist/lib/core/Driver/postgres/PostgresDriver.js +24 -8
  33. package/dist/lib/core/Driver/postgres/PostgresDriver.js.map +1 -1
  34. package/dist/lib/core/Driver/sqlite/SqliteDriver.d.ts +4 -1
  35. package/dist/lib/core/Driver/sqlite/SqliteDriver.js +14 -6
  36. package/dist/lib/core/Driver/sqlite/SqliteDriver.js.map +1 -1
  37. package/dist/lib/core/Model.d.ts +332 -29
  38. package/dist/lib/core/Model.js +329 -19
  39. package/dist/lib/core/Model.js.map +1 -1
  40. package/dist/lib/core/Pool.d.ts +1 -1
  41. package/dist/lib/core/Pool.js +10 -4
  42. package/dist/lib/core/Pool.js.map +1 -1
  43. package/dist/lib/core/{Queue.d.ts → Queue/index.d.ts} +115 -111
  44. package/dist/lib/core/Queue/index.js +283 -0
  45. package/dist/lib/core/Queue/index.js.map +1 -0
  46. package/dist/lib/core/Queue/types.d.ts +40 -0
  47. package/dist/lib/core/Queue/types.js +3 -0
  48. package/dist/lib/core/Queue/types.js.map +1 -0
  49. package/dist/lib/core/Queue/worker.d.ts +103 -0
  50. package/dist/lib/core/{Queue.js → Queue/worker.js} +261 -311
  51. package/dist/lib/core/Queue/worker.js.map +1 -0
  52. package/dist/lib/core/Repository.d.ts +40 -20
  53. package/dist/lib/core/Repository.js +35 -14
  54. package/dist/lib/core/Repository.js.map +1 -1
  55. package/dist/lib/core/Schema.d.ts +4 -4
  56. package/dist/lib/core/Schema.js +40 -14
  57. package/dist/lib/core/Schema.js.map +1 -1
  58. package/dist/lib/core/UtilityTypes.d.ts +7 -3
  59. package/dist/lib/core/UtilityTypes.js.map +1 -1
  60. package/dist/lib/types/decorator/index.d.ts +3 -0
  61. package/dist/lib/types/index.d.ts +19 -18
  62. package/dist/lib/types/repository/index.d.ts +3 -3
  63. package/dist/lib/utils/index.d.ts +10 -5
  64. package/dist/lib/utils/index.js +42 -9
  65. package/dist/lib/utils/index.js.map +1 -1
  66. package/package.json +3 -5
  67. package/dist/lib/core/Queue.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/lib/core/Queue/worker.ts"],"names":[],"mappings":"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"}
@@ -209,7 +209,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
209
209
  * })
210
210
  *
211
211
  */
212
- exists(options: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<boolean>;
212
+ exists(options: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<boolean>;
213
213
  /**
214
214
  * The 'toString' method is used to retrieve the raw SQL query that would be executed by a query builder instance without actually executing it.
215
215
  *
@@ -232,13 +232,14 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
232
232
  * @property {?boolean} options.debug
233
233
  * @returns {string}
234
234
  */
235
- toString(options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): string;
235
+ toString(options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): string;
236
236
  /**
237
- * The 'toJSON' method is used to execute a database query and retrieve the result set that matches the query conditions.
237
+ * The 'toArray' method is used to execute a database query and retrieve the result set that matches the query conditions.
238
238
  *
239
239
  * It retrieves multiple records from a database table based on the criteria specified in the query.
240
240
  *
241
- * It returns a JSON formatted.
241
+ * It returns an array formatted.
242
+ * @param {string} column
242
243
  * @type {?object} options
243
244
  * @property {?object} options.select
244
245
  * @property {?object} options.except
@@ -256,17 +257,16 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
256
257
  * @property {?{localKey , referenceKey}[]} options.leftJoin
257
258
  * @property {?boolean} options.debug
258
259
  * @property {?number} options.page
259
- * @returns {string} json
260
+ * @return {promise<any[]>}
260
261
  */
261
- toJSON(options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<string>;
262
+ toArray<K extends T.ColumnKeys<M> | `${string}.${string}`>(column: K, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<(K extends keyof T.Result<M> ? T.Result<M>[K] : unknown)[]>;
262
263
  /**
263
- * The 'toArray' method is used to execute a database query and retrieve the result set that matches the query conditions.
264
264
  *
265
- * It retrieves multiple records from a database table based on the criteria specified in the query.
265
+ * The 'toAsyncIterable' method is used to execute a database query and return the result set as an asynchronous iterable.
266
266
  *
267
- * It returns an array formatted.
268
- * @param {string} column
269
- * @type {?object} options
267
+ * It retrieves multiple records from a database table based on the criteria specified in the query.
268
+ * The optional callback function can be used to modify the generated SQL query before execution.
269
+ * @type {?Object} options
270
270
  * @property {?object} options.select
271
271
  * @property {?object} options.except
272
272
  * @property {?object[]} options.orderBy
@@ -281,11 +281,31 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
281
281
  * @property {?{localKey , referenceKey}[]} options.join
282
282
  * @property {?{localKey , referenceKey}[]} options.rightJoin
283
283
  * @property {?{localKey , referenceKey}[]} options.leftJoin
284
+ * @property {string[]} options.relations
285
+ * @property {string[]} options.relationExists
286
+ * @property {?{condition,callback}} options.relationQuery
284
287
  * @property {?boolean} options.debug
285
- * @property {?number} options.page
286
- * @return {promise<any[]>}
288
+ * @returns {promise<Object>[]}
289
+ *
290
+ * @example
291
+ * import { Repository } from 'tspace-mysql'
292
+ * import { User } from '../Models/User'
293
+ *
294
+ * const userRepository = Repository(User)
295
+ *
296
+ * const users = await userRepository.toAsyncIterable({
297
+ * select : { id: true, name: true },
298
+ * where : {
299
+ * id: 1
300
+ * }
301
+ * })
302
+ *
303
+ * await for(const user of users()) {
304
+ * console.log(user);
305
+ * }
306
+ *
287
307
  */
288
- toArray<K extends T.ColumnKeys<M> | `${string}.${string}`>(column: K, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<(K extends keyof T.Result<M> ? T.Result<M>[K] : unknown)[]>;
308
+ toAsyncIterable<S extends T.SelectOptions<M> | undefined = undefined, SR extends T.RelationOptions<M> | undefined = undefined, E extends T.ExceptOptions<M> | undefined = undefined, SRS extends Record<string, TRawStringQuery> | undefined = undefined, G extends Record<string, T.RepositoryGenericTypeOptions> | undefined = {}>(options?: T.RepositoryOptions<M, S, SR, E, SRS, G>): AsyncIterable<T.ResultFiltered<M, S, SR, E, SRS, G>>;
289
309
  /**
290
310
  * The 'count' method is used to retrieve the total number of records that match the specified query conditions.
291
311
  *
@@ -310,7 +330,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
310
330
  * @property {?number} options.page
311
331
  * @return {promise<any[]>}
312
332
  */
313
- count(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
333
+ count(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
314
334
  /**
315
335
  * The 'avg' method is used to retrieve the total number of records that match the specified query conditions.
316
336
  *
@@ -335,7 +355,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
335
355
  * @property {?number} options.page
336
356
  * @return {promise<any[]>}
337
357
  */
338
- avg(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
358
+ avg(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
339
359
  /**
340
360
  * The 'sum' method is used to retrieve the total number of records that match the specified query conditions.
341
361
  *
@@ -360,7 +380,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
360
380
  * @property {?number} options.page
361
381
  * @return {promise<any[]>}
362
382
  */
363
- sum(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
383
+ sum(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
364
384
  /**
365
385
  * The 'max' method is used to retrieve the maximum value of a numeric column in a database table.
366
386
  *
@@ -385,7 +405,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
385
405
  * @property {?number} options.page
386
406
  * @return {promise<any[]>}
387
407
  */
388
- max(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
408
+ max(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
389
409
  /**
390
410
  * The 'min' method is used to retrieve the minimum (lowest) value of a numeric column in a database table.
391
411
  *
@@ -410,7 +430,7 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
410
430
  * @property {?number} options.page
411
431
  * @return {promise<any[]>}
412
432
  */
413
- min(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationQuery">>): Promise<number>;
433
+ min(column: T.ColumnKeys<M> | `${string}.${string}`, options?: Partial<Omit<T.RepositoryOptions<M>, "relations" | "relationsExists" | "relationQuery">>): Promise<number>;
414
434
  /**
415
435
  * The 'create' method is used to insert a new record into a database table associated.
416
436
  *
@@ -597,5 +617,5 @@ declare class RepositoryFactory<TS extends Record<string, any> = Record<string,
597
617
  * const users = await userRepository.findMany()
598
618
  *
599
619
  */
600
- export declare const Repository: <M extends Model<any, any>>(model: new () => M) => RepositoryFactory<T.SchemaModel<M>, T.RelationModel<M>, M>;
620
+ export declare const Repository: <M extends Model<any, any>, S extends Record<string, any> = T.SchemaModel<M> & Record<string, any>, R = T.RelationModel<M>>(model: new () => M) => RepositoryFactory<S, R, M>;
601
621
  export default Repository;
@@ -267,11 +267,12 @@ class RepositoryFactory {
267
267
  return instance.toString();
268
268
  }
269
269
  /**
270
- * The 'toJSON' method is used to execute a database query and retrieve the result set that matches the query conditions.
270
+ * The 'toArray' method is used to execute a database query and retrieve the result set that matches the query conditions.
271
271
  *
272
272
  * It retrieves multiple records from a database table based on the criteria specified in the query.
273
273
  *
274
- * It returns a JSON formatted.
274
+ * It returns an array formatted.
275
+ * @param {string} column
275
276
  * @type {?object} options
276
277
  * @property {?object} options.select
277
278
  * @property {?object} options.except
@@ -289,22 +290,21 @@ class RepositoryFactory {
289
290
  * @property {?{localKey , referenceKey}[]} options.leftJoin
290
291
  * @property {?boolean} options.debug
291
292
  * @property {?number} options.page
292
- * @returns {string} json
293
+ * @return {promise<any[]>}
293
294
  */
294
- async toJSON(options = {}) {
295
+ async toArray(column, options = {}) {
295
296
  const instance = this._handlerRequest(options);
296
297
  if (instance == null)
297
298
  throw new Error("The instance is not initialized");
298
- return await instance.toJSON();
299
+ return await instance.toArray(column);
299
300
  }
300
301
  /**
301
- * The 'toArray' method is used to execute a database query and retrieve the result set that matches the query conditions.
302
302
  *
303
- * It retrieves multiple records from a database table based on the criteria specified in the query.
303
+ * The 'toAsyncIterable' method is used to execute a database query and return the result set as an asynchronous iterable.
304
304
  *
305
- * It returns an array formatted.
306
- * @param {string} column
307
- * @type {?object} options
305
+ * It retrieves multiple records from a database table based on the criteria specified in the query.
306
+ * The optional callback function can be used to modify the generated SQL query before execution.
307
+ * @type {?Object} options
308
308
  * @property {?object} options.select
309
309
  * @property {?object} options.except
310
310
  * @property {?object[]} options.orderBy
@@ -319,15 +319,36 @@ class RepositoryFactory {
319
319
  * @property {?{localKey , referenceKey}[]} options.join
320
320
  * @property {?{localKey , referenceKey}[]} options.rightJoin
321
321
  * @property {?{localKey , referenceKey}[]} options.leftJoin
322
+ * @property {string[]} options.relations
323
+ * @property {string[]} options.relationExists
324
+ * @property {?{condition,callback}} options.relationQuery
322
325
  * @property {?boolean} options.debug
323
- * @property {?number} options.page
324
- * @return {promise<any[]>}
326
+ * @returns {promise<Object>[]}
327
+ *
328
+ * @example
329
+ * import { Repository } from 'tspace-mysql'
330
+ * import { User } from '../Models/User'
331
+ *
332
+ * const userRepository = Repository(User)
333
+ *
334
+ * const users = await userRepository.toAsyncIterable({
335
+ * select : { id: true, name: true },
336
+ * where : {
337
+ * id: 1
338
+ * }
339
+ * })
340
+ *
341
+ * await for(const user of users()) {
342
+ * console.log(user);
343
+ * }
344
+ *
325
345
  */
326
- async toArray(column, options = {}) {
346
+ async *toAsyncIterable(options = {}) {
327
347
  const instance = this._handlerRequest(options);
328
348
  if (instance == null)
329
349
  throw new Error("The instance is not initialized");
330
- return await instance.toArray(column);
350
+ const results = await instance.get();
351
+ return yield* results;
331
352
  }
332
353
  /**
333
354
  * The 'count' method is used to retrieve the total number of records that match the specified query conditions.
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../../src/lib/core/Repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../../src/lib/core/Repository.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod";
2
2
  import { Model } from "./Model";
3
3
  import { Blueprint } from "./Blueprint";
4
- import { T } from "./UtilityTypes";
5
4
  import { AlterTable } from "./Contracts/AlterTable";
5
+ import type { T } from "./UtilityTypes";
6
6
  declare class Schema {
7
7
  private $db;
8
8
  table: (table: string, schemas: Record<string, Blueprint>) => Promise<void>;
@@ -62,7 +62,7 @@ declare class Schema {
62
62
  * this.useSchema ({
63
63
  * id : new Blueprint().int().notNull().primary().autoIncrement(),
64
64
  * uuid : new Blueprint().varchar(50).null(),
65
- * user_id : new Blueprint().int().notNull().foreign({ references : 'id' , on : User , onDelete : 'CASCADE' , onUpdate : 'CASCADE' }),
65
+ * user_id : new Blueprint().int().notNull().foreign({ references : 'id' , on :() => User , onDelete : 'CASCADE' , onUpdate : 'CASCADE' }),
66
66
  * title : new Blueprint().varchar(255).null(),
67
67
  * created_at : new Blueprint().timestamp().null(),
68
68
  * updated_at : new Blueprint().timestamp().null(),
@@ -74,7 +74,7 @@ declare class Schema {
74
74
  *
75
75
  * await new Schema().sync(`app/Models` , { force : true , log = true, foreign = true , changed = true })
76
76
  */
77
- sync(pathFolders: string, { force, log, foreign, changed, index, }?: {
77
+ sync(pathFolders: string, { force, log, foreign, changed, index, }: {
78
78
  force?: boolean | undefined;
79
79
  log?: boolean | undefined;
80
80
  foreign?: boolean | undefined;
@@ -128,7 +128,7 @@ declare class Schema {
128
128
  * this.useSchema ({
129
129
  * id : new Blueprint().int().notNull().primary().autoIncrement(),
130
130
  * uuid : new Blueprint().varchar(50).null(),
131
- * user_id : new Blueprint().int().notNull().foreign({ references : 'id' , on : User , onDelete : 'CASCADE' , onUpdate : 'CASCADE' }),
131
+ * user_id : new Blueprint().int().notNull().foreign({ on : () => User , onDelete : 'CASCADE' , onUpdate : 'CASCADE' }),
132
132
  * title : new Blueprint().varchar(255).null(),
133
133
  * created_at : new Blueprint().timestamp().null(),
134
134
  * updated_at : new Blueprint().timestamp().null(),
@@ -32,17 +32,15 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
35
  Object.defineProperty(exports, "__esModule", { value: true });
39
36
  exports.Schema = void 0;
40
37
  const zod_1 = require("zod");
41
38
  const Builder_1 = require("./Builder");
39
+ const Model_1 = require("./Model");
42
40
  const Package_1 = require("./Package");
43
41
  ;
44
42
  const AlterTable_1 = require("./Contracts/AlterTable");
45
- const DB_1 = __importDefault(require("./DB"));
43
+ const DB_1 = require("./DB");
46
44
  class Schema {
47
45
  $db = new Builder_1.Builder();
48
46
  table = async (table, schemas) => {
@@ -145,7 +143,7 @@ class Schema {
145
143
  * this.useSchema ({
146
144
  * id : new Blueprint().int().notNull().primary().autoIncrement(),
147
145
  * uuid : new Blueprint().varchar(50).null(),
148
- * user_id : new Blueprint().int().notNull().foreign({ references : 'id' , on : User , onDelete : 'CASCADE' , onUpdate : 'CASCADE' }),
146
+ * user_id : new Blueprint().int().notNull().foreign({ references : 'id' , on :() => User , onDelete : 'CASCADE' , onUpdate : 'CASCADE' }),
149
147
  * title : new Blueprint().varchar(255).null(),
150
148
  * created_at : new Blueprint().timestamp().null(),
151
149
  * updated_at : new Blueprint().timestamp().null(),
@@ -157,17 +155,24 @@ class Schema {
157
155
  *
158
156
  * await new Schema().sync(`app/Models` , { force : true , log = true, foreign = true , changed = true })
159
157
  */
160
- async sync(pathFolders, { force = false, log = false, foreign = false, changed = false, index = false, } = {}) {
158
+ async sync(pathFolders, { force = false, log = false, foreign = false, changed = false, index = false, }) {
161
159
  const directories = Package_1.Package.fs.readdirSync(pathFolders, {
162
160
  withFileTypes: true,
163
161
  });
162
+ const opts = {
163
+ force,
164
+ log,
165
+ foreign,
166
+ changed,
167
+ index
168
+ };
164
169
  const files = await Promise.all(directories.map((directory) => {
165
170
  const newDir = Package_1.Package.path.resolve(String(pathFolders), directory.name);
166
171
  if (directory.isDirectory() &&
167
172
  directory.name.toLocaleLowerCase().includes("migrations"))
168
173
  return null;
169
174
  return directory.isDirectory()
170
- ? Schema.sync(newDir, { force, log, changed })
175
+ ? Schema.sync(newDir, opts)
171
176
  : newDir;
172
177
  }));
173
178
  const pathModels = [].concat(...files).filter((d) => d != null || d === "");
@@ -177,7 +182,7 @@ class Schema {
177
182
  .filter((d) => d != null));
178
183
  if (!models.length)
179
184
  return;
180
- await this.syncExecute({ models, force, log, foreign, changed, index });
185
+ await this.syncExecute({ models, ...opts });
181
186
  return;
182
187
  }
183
188
  /**
@@ -227,7 +232,7 @@ class Schema {
227
232
  * this.useSchema ({
228
233
  * id : new Blueprint().int().notNull().primary().autoIncrement(),
229
234
  * uuid : new Blueprint().varchar(50).null(),
230
- * user_id : new Blueprint().int().notNull().foreign({ references : 'id' , on : User , onDelete : 'CASCADE' , onUpdate : 'CASCADE' }),
235
+ * user_id : new Blueprint().int().notNull().foreign({ on : () => User , onDelete : 'CASCADE' , onUpdate : 'CASCADE' }),
231
236
  * title : new Blueprint().varchar(255).null(),
232
237
  * created_at : new Blueprint().timestamp().null(),
233
238
  * updated_at : new Blueprint().timestamp().null(),
@@ -559,7 +564,7 @@ class Schema {
559
564
  return;
560
565
  }
561
566
  async _syncForeignKey({ schemaModel, model, log, }) {
562
- if (DB_1.default.driver() === 'sqlite') {
567
+ if (DB_1.DB.driver() === 'sqlite') {
563
568
  console.log(`\n\x1b[33mWARNING: SQLite does not support ALTER TABLE ADD FOREIGN KEY.\x1b[0m`);
564
569
  return;
565
570
  }
@@ -569,7 +574,21 @@ class Schema {
569
574
  const foreign = schemaModel[key].foreignKey;
570
575
  if (foreign.on == null)
571
576
  continue;
572
- const onReference = typeof foreign.on === "string" ? foreign.on : new foreign.on();
577
+ let onReference;
578
+ if (typeof foreign.on === 'string') {
579
+ onReference = foreign.on;
580
+ }
581
+ else {
582
+ const reference = foreign.on;
583
+ const isModel = reference?.prototype instanceof Model_1.Model;
584
+ if (isModel) {
585
+ const refModel = new reference();
586
+ console.log(`\x1b[31mERROR: Invalid foreign.on configuration on Blueprint in Model '${model.constructor.name}'.\n` +
587
+ `expected a function returning a Model class for column '${key}', e.g. Blueprint.foreign({ on: () => ${refModel.constructor.name} })\x1b[0m`);
588
+ return;
589
+ }
590
+ onReference = new (reference());
591
+ }
573
592
  const table = typeof onReference === "string"
574
593
  ? onReference
575
594
  : onReference.getTableName();
@@ -621,7 +640,10 @@ class Schema {
621
640
  }));
622
641
  }
623
642
  catch (e) {
624
- const schemaModelOn = await onReference.getSchemaModel();
643
+ if (typeof onReference === "string") {
644
+ return;
645
+ }
646
+ const schemaModelOn = onReference.getSchemaModel();
625
647
  if (!schemaModelOn)
626
648
  continue;
627
649
  await this.$db
@@ -745,7 +767,7 @@ class Schema {
745
767
  }
746
768
  }
747
769
  async _syncChangeColumn({ schemaModel, model, log, }) {
748
- if (DB_1.default.driver() === 'sqlite') {
770
+ if (DB_1.DB.driver() === 'sqlite') {
749
771
  console.log(`\n\x1b[33mWARNING: SQLite does not support ALTER TABLE CHANGE COLUMN\x1b[0m`);
750
772
  return;
751
773
  }
@@ -793,6 +815,10 @@ class Schema {
793
815
  return true;
794
816
  };
795
817
  const isChangeDefault = ({ defaultTable, defaultSchema }) => {
818
+ if (typeof defaultTable === 'string' && typeof defaultSchema === 'string') {
819
+ const normalize = (text) => text.replace(/^'|'$/g, "");
820
+ return normalize(defaultTable) !== normalize(defaultSchema);
821
+ }
796
822
  if (defaultTable == defaultSchema) {
797
823
  return false;
798
824
  }
@@ -820,7 +846,7 @@ class Schema {
820
846
  isChangedDefault
821
847
  ].some(v => v) ? key : null;
822
848
  })
823
- .filter((d) => d != null);
849
+ .filter(Boolean);
824
850
  if (!wasChangedColumns.length)
825
851
  return;
826
852
  for (const column of wasChangedColumns) {