@simplysm/orm-common 13.0.75 → 13.0.77

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 (135) hide show
  1. package/README.md +575 -50
  2. package/dist/create-db-context.d.ts +1 -1
  3. package/dist/create-db-context.d.ts.map +1 -1
  4. package/dist/create-db-context.js +34 -27
  5. package/dist/create-db-context.js.map +1 -1
  6. package/dist/ddl/initialize.js +4 -4
  7. package/dist/ddl/initialize.js.map +1 -1
  8. package/dist/ddl/relation-ddl.d.ts +7 -7
  9. package/dist/ddl/relation-ddl.d.ts.map +1 -1
  10. package/dist/ddl/relation-ddl.js +18 -18
  11. package/dist/ddl/relation-ddl.js.map +1 -1
  12. package/dist/ddl/schema-ddl.d.ts +1 -1
  13. package/dist/ddl/schema-ddl.d.ts.map +1 -1
  14. package/dist/ddl/schema-ddl.js +2 -2
  15. package/dist/ddl/schema-ddl.js.map +1 -1
  16. package/dist/ddl/table-ddl.js +2 -2
  17. package/dist/ddl/table-ddl.js.map +1 -1
  18. package/dist/exec/queryable.d.ts +24 -24
  19. package/dist/exec/queryable.d.ts.map +1 -1
  20. package/dist/exec/queryable.js +37 -37
  21. package/dist/exec/queryable.js.map +1 -1
  22. package/dist/expr/expr-unit.js +1 -1
  23. package/dist/expr/expr-unit.js.map +1 -1
  24. package/dist/expr/expr.d.ts +9 -9
  25. package/dist/expr/expr.d.ts.map +1 -1
  26. package/dist/expr/expr.js +10 -10
  27. package/dist/expr/expr.js.map +1 -1
  28. package/dist/query-builder/base/expr-renderer-base.d.ts +2 -2
  29. package/dist/query-builder/base/expr-renderer-base.d.ts.map +1 -1
  30. package/dist/query-builder/base/query-builder-base.d.ts +7 -15
  31. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  32. package/dist/query-builder/base/query-builder-base.js +2 -2
  33. package/dist/query-builder/base/query-builder-base.js.map +1 -1
  34. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
  35. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  36. package/dist/query-builder/mssql/mssql-expr-renderer.js +8 -8
  37. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -1
  38. package/dist/query-builder/mssql/mssql-query-builder.d.ts +7 -7
  39. package/dist/query-builder/mssql/mssql-query-builder.d.ts.map +1 -1
  40. package/dist/query-builder/mssql/mssql-query-builder.js +7 -7
  41. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -1
  42. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
  43. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  44. package/dist/query-builder/mysql/mysql-expr-renderer.js +9 -9
  45. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -1
  46. package/dist/query-builder/mysql/mysql-query-builder.d.ts +7 -7
  47. package/dist/query-builder/mysql/mysql-query-builder.d.ts.map +1 -1
  48. package/dist/query-builder/mysql/mysql-query-builder.js +11 -11
  49. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -1
  50. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
  51. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  52. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +8 -8
  53. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -1
  54. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts +7 -7
  55. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
  56. package/dist/query-builder/postgresql/postgresql-query-builder.js +7 -7
  57. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -1
  58. package/dist/schema/procedure-builder.d.ts +1 -1
  59. package/dist/schema/table-builder.d.ts +1 -1
  60. package/dist/schema/table-builder.d.ts.map +1 -1
  61. package/dist/schema/table-builder.js +1 -1
  62. package/dist/schema/view-builder.d.ts +1 -1
  63. package/dist/schema/view-builder.d.ts.map +1 -1
  64. package/dist/schema/view-builder.js +1 -1
  65. package/dist/types/db-context-def.d.ts +18 -18
  66. package/dist/types/db-context-def.d.ts.map +1 -1
  67. package/dist/types/expr.d.ts +6 -6
  68. package/dist/types/expr.d.ts.map +1 -1
  69. package/dist/types/query-def.d.ts +15 -15
  70. package/dist/types/query-def.d.ts.map +1 -1
  71. package/dist/types/query-def.js +6 -6
  72. package/dist/utils/result-parser.d.ts.map +1 -1
  73. package/dist/utils/result-parser.js +44 -16
  74. package/dist/utils/result-parser.js.map +1 -1
  75. package/package.json +2 -2
  76. package/src/create-db-context.ts +36 -29
  77. package/src/ddl/initialize.ts +4 -4
  78. package/src/ddl/relation-ddl.ts +16 -16
  79. package/src/ddl/schema-ddl.ts +2 -2
  80. package/src/ddl/table-ddl.ts +2 -2
  81. package/src/exec/queryable.ts +58 -58
  82. package/src/expr/expr-unit.ts +1 -1
  83. package/src/expr/expr.ts +13 -13
  84. package/src/query-builder/base/expr-renderer-base.ts +2 -2
  85. package/src/query-builder/base/query-builder-base.ts +18 -14
  86. package/src/query-builder/mssql/mssql-expr-renderer.ts +11 -10
  87. package/src/query-builder/mssql/mssql-query-builder.ts +13 -13
  88. package/src/query-builder/mysql/mysql-expr-renderer.ts +12 -11
  89. package/src/query-builder/mysql/mysql-query-builder.ts +17 -17
  90. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +11 -10
  91. package/src/query-builder/postgresql/postgresql-query-builder.ts +13 -13
  92. package/src/schema/procedure-builder.ts +1 -1
  93. package/src/schema/table-builder.ts +1 -1
  94. package/src/schema/view-builder.ts +1 -1
  95. package/src/types/db-context-def.ts +18 -18
  96. package/src/types/expr.ts +6 -6
  97. package/src/types/query-def.ts +31 -31
  98. package/src/utils/result-parser.ts +60 -16
  99. package/tests/db-context/create-db-context.spec.ts +6 -37
  100. package/tests/db-context/define-db-context.spec.ts +0 -51
  101. package/tests/ddl/basic.expected.ts +8 -8
  102. package/tests/ddl/basic.spec.ts +24 -181
  103. package/tests/ddl/column-builder.spec.ts +0 -112
  104. package/tests/ddl/index-builder.spec.ts +10 -64
  105. package/tests/ddl/procedure-builder.spec.ts +0 -106
  106. package/tests/ddl/relation-builder.spec.ts +4 -205
  107. package/tests/ddl/table-builder.spec.ts +0 -34
  108. package/tests/ddl/view-builder.spec.ts +0 -60
  109. package/tests/dml/delete.spec.ts +0 -33
  110. package/tests/dml/insert.spec.ts +0 -78
  111. package/tests/dml/update.spec.ts +2 -98
  112. package/tests/dml/upsert.spec.ts +0 -52
  113. package/tests/errors/queryable-errors.spec.ts +0 -51
  114. package/tests/escape.spec.ts +0 -41
  115. package/tests/examples/pivot.spec.ts +0 -333
  116. package/tests/examples/sampling.spec.ts +0 -63
  117. package/tests/examples/unpivot.spec.ts +0 -65
  118. package/tests/exec/search-parser.spec.ts +0 -16
  119. package/tests/expr/comparison.spec.ts +0 -66
  120. package/tests/expr/conditional.expected.ts +2 -2
  121. package/tests/expr/conditional.spec.ts +8 -35
  122. package/tests/expr/date.spec.ts +5 -72
  123. package/tests/expr/math.spec.ts +0 -47
  124. package/tests/expr/string.spec.ts +0 -56
  125. package/tests/expr/utility.spec.ts +0 -27
  126. package/tests/select/basic.spec.ts +5 -74
  127. package/tests/select/filter.spec.ts +0 -114
  128. package/tests/select/group.spec.ts +0 -85
  129. package/tests/select/join.spec.ts +0 -113
  130. package/tests/select/order.spec.ts +0 -49
  131. package/tests/select/subquery.spec.ts +0 -96
  132. package/tests/select/window.spec.ts +0 -185
  133. package/tests/types/nullable-queryable-record.spec.ts +0 -48
  134. package/tests/utils/result-parser-perf.spec.ts +0 -67
  135. package/tests/utils/result-parser.spec.ts +4 -38
@@ -122,65 +122,6 @@ describe("DDL - Table", () => {
122
122
  });
123
123
  });
124
124
 
125
- describe("getTruncateQueryDef", () => {
126
- const db = createTestDb();
127
- const def = db.getTruncateQueryDef({ database: "TestDb", schema: "TestSchema", name: "User" });
128
-
129
- it("should validate QueryDef", () => {
130
- expect(def).toEqual({
131
- type: "truncate",
132
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
133
- });
134
- });
135
-
136
- it.each(dialects)("[%s] should validate SQL", (dialect) => {
137
- const builder = createQueryBuilder(dialect);
138
- expect(builder.build(def)).toMatchSql(expected.truncate[dialect]);
139
- });
140
- });
141
-
142
- describe("getSwitchFkQueryDef - on", () => {
143
- const db = createTestDb();
144
- const def = db.getSwitchFkQueryDef(
145
- { database: "TestDb", schema: "TestSchema", name: "User" },
146
- "on",
147
- );
148
-
149
- it("should validate QueryDef", () => {
150
- expect(def).toEqual({
151
- type: "switchFk",
152
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
153
- switch: "on",
154
- });
155
- });
156
-
157
- it.each(dialects)("[%s] should validate SQL", (dialect) => {
158
- const builder = createQueryBuilder(dialect);
159
- expect(builder.build(def)).toMatchSql(expected.switchFkOn[dialect]);
160
- });
161
- });
162
-
163
- describe("getSwitchFkQueryDef - off", () => {
164
- const db = createTestDb();
165
- const def = db.getSwitchFkQueryDef(
166
- { database: "TestDb", schema: "TestSchema", name: "User" },
167
- "off",
168
- );
169
-
170
- it("should validate QueryDef", () => {
171
- expect(def).toEqual({
172
- type: "switchFk",
173
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
174
- switch: "off",
175
- });
176
- });
177
-
178
- it.each(dialects)("[%s] should validate SQL", (dialect) => {
179
- const builder = createQueryBuilder(dialect);
180
- expect(builder.build(def)).toMatchSql(expected.switchFkOff[dialect]);
181
- });
182
- });
183
-
184
125
  describe("getDropTableQueryDef", () => {
185
126
  const db = createTestDb();
186
127
  const def = db.getDropTableQueryDef({ database: "TestDb", schema: "TestSchema", name: "User" });
@@ -279,35 +220,6 @@ describe("DDL - Column", () => {
279
220
  });
280
221
  });
281
222
 
282
- describe("getAddColumnQueryDef - with autoIncrement", () => {
283
- const db = createTestDb();
284
- const column = Column.bigint().autoIncrement();
285
- const def = db.getAddColumnQueryDef(
286
- { database: "TestDb", schema: "TestSchema", name: "User" },
287
- "seq",
288
- column,
289
- );
290
-
291
- it("should validate QueryDef", () => {
292
- expect(def).toEqual({
293
- type: "addColumn",
294
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
295
- column: {
296
- name: "seq",
297
- dataType: { type: "bigint" },
298
- autoIncrement: true,
299
- nullable: undefined,
300
- default: undefined,
301
- },
302
- });
303
- });
304
-
305
- it.each(dialects)("[%s] should validate SQL", (dialect) => {
306
- const builder = createQueryBuilder(dialect);
307
- expect(builder.build(def)).toMatchSql(expected.addColumnWithAutoIncrement[dialect]);
308
- });
309
- });
310
-
311
223
  describe("getDropColumnQueryDef", () => {
312
224
  const db = createTestDb();
313
225
  const def = db.getDropColumnQueryDef(
@@ -358,35 +270,6 @@ describe("DDL - Column", () => {
358
270
  });
359
271
  });
360
272
 
361
- describe("getModifyColumnQueryDef - change TYPE + DEFAULT simultaneously", () => {
362
- const db = createTestDb();
363
- const column = Column.int().default(100);
364
- const def = db.getModifyColumnQueryDef(
365
- { database: "TestDb", schema: "TestSchema", name: "User" },
366
- "score",
367
- column,
368
- );
369
-
370
- it("should validate QueryDef", () => {
371
- expect(def).toEqual({
372
- type: "modifyColumn",
373
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
374
- column: {
375
- name: "score",
376
- dataType: { type: "int" },
377
- autoIncrement: undefined,
378
- nullable: undefined,
379
- default: 100,
380
- },
381
- });
382
- });
383
-
384
- it.each(dialects)("[%s] should validate SQL", (dialect) => {
385
- const builder = createQueryBuilder(dialect);
386
- expect(builder.build(def)).toMatchSql(expected.modifyColumnTypeAndDefault[dialect]);
387
- });
388
- });
389
-
390
273
  describe("getRenameColumnQueryDef", () => {
391
274
  const db = createTestDb();
392
275
  const def = db.getRenameColumnQueryDef(
@@ -412,32 +295,32 @@ describe("DDL - Column", () => {
412
295
  });
413
296
 
414
297
  describe("DDL - Primary Key", () => {
415
- describe("getDropPkQueryDef", () => {
298
+ describe("getDropPrimaryKeyQueryDef", () => {
416
299
  const db = createTestDb();
417
- const def = db.getDropPkQueryDef({ database: "TestDb", schema: "TestSchema", name: "User" });
300
+ const def = db.getDropPrimaryKeyQueryDef({ database: "TestDb", schema: "TestSchema", name: "User" });
418
301
 
419
302
  it("should validate QueryDef", () => {
420
303
  expect(def).toEqual({
421
- type: "dropPk",
304
+ type: "dropPrimaryKey",
422
305
  table: { database: "TestDb", schema: "TestSchema", name: "User" },
423
306
  });
424
307
  });
425
308
 
426
309
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
427
310
  const builder = createQueryBuilder(dialect);
428
- expect(builder.build(def)).toMatchSql(expected.dropPk[dialect]);
311
+ expect(builder.build(def)).toMatchSql(expected.dropPrimaryKey[dialect]);
429
312
  });
430
313
  });
431
314
 
432
- describe("getAddPkQueryDef", () => {
315
+ describe("getAddPrimaryKeyQueryDef", () => {
433
316
  const db = createTestDb();
434
- const def = db.getAddPkQueryDef({ database: "TestDb", schema: "TestSchema", name: "User" }, [
317
+ const def = db.getAddPrimaryKeyQueryDef({ database: "TestDb", schema: "TestSchema", name: "User" }, [
435
318
  "id",
436
319
  ]);
437
320
 
438
321
  it("should validate QueryDef", () => {
439
322
  expect(def).toEqual({
440
- type: "addPk",
323
+ type: "addPrimaryKey",
441
324
  table: { database: "TestDb", schema: "TestSchema", name: "User" },
442
325
  columns: ["id"],
443
326
  });
@@ -445,41 +328,21 @@ describe("DDL - Primary Key", () => {
445
328
 
446
329
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
447
330
  const builder = createQueryBuilder(dialect);
448
- expect(builder.build(def)).toMatchSql(expected.addPk[dialect]);
331
+ expect(builder.build(def)).toMatchSql(expected.addPrimaryKey[dialect]);
449
332
  });
450
333
  });
451
334
 
452
- describe("getAddPkQueryDef - composite key", () => {
453
- const db = createTestDb();
454
- const def = db.getAddPkQueryDef(
455
- { database: "TestDb", schema: "TestSchema", name: "UserRole" },
456
- ["userId", "roleId"],
457
- );
458
-
459
- it("should validate QueryDef", () => {
460
- expect(def).toEqual({
461
- type: "addPk",
462
- table: { database: "TestDb", schema: "TestSchema", name: "UserRole" },
463
- columns: ["userId", "roleId"],
464
- });
465
- });
466
-
467
- it.each(dialects)("[%s] should validate SQL", (dialect) => {
468
- const builder = createQueryBuilder(dialect);
469
- expect(builder.build(def)).toMatchSql(expected.addPkComposite[dialect]);
470
- });
471
- });
472
335
  });
473
336
 
474
337
  describe("DDL - Foreign Key / Index", () => {
475
- describe("getAddFkQueryDef", () => {
338
+ describe("getAddForeignKeyQueryDef", () => {
476
339
  const db = createTestDb();
477
340
  const userRelation = Post.meta.relations?.["user"];
478
341
  if (!(userRelation instanceof ForeignKeyBuilder)) {
479
342
  throw new Error("user relation not found");
480
343
  }
481
344
 
482
- const def = db.getAddFkQueryDef(
345
+ const def = db.getAddForeignKeyQueryDef(
483
346
  { database: "TestDb", schema: "TestSchema", name: "Post" },
484
347
  "user",
485
348
  userRelation,
@@ -487,7 +350,7 @@ describe("DDL - Foreign Key / Index", () => {
487
350
 
488
351
  it("should validate QueryDef", () => {
489
352
  expect(def).toEqual({
490
- type: "addFk",
353
+ type: "addForeignKey",
491
354
  table: { database: "TestDb", schema: "TestSchema", name: "Post" },
492
355
  foreignKey: {
493
356
  name: "FK_Post_user",
@@ -500,20 +363,20 @@ describe("DDL - Foreign Key / Index", () => {
500
363
 
501
364
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
502
365
  const builder = createQueryBuilder(dialect);
503
- expect(builder.build(def)).toMatchSql(expected.addFk[dialect]);
366
+ expect(builder.build(def)).toMatchSql(expected.addForeignKey[dialect]);
504
367
  });
505
368
  });
506
369
 
507
- describe("getDropFkQueryDef", () => {
370
+ describe("getDropForeignKeyQueryDef", () => {
508
371
  const db = createTestDb();
509
- const def = db.getDropFkQueryDef(
372
+ const def = db.getDropForeignKeyQueryDef(
510
373
  { database: "TestDb", schema: "TestSchema", name: "Post" },
511
374
  "user",
512
375
  );
513
376
 
514
377
  it("should validate QueryDef", () => {
515
378
  expect(def).toEqual({
516
- type: "dropFk",
379
+ type: "dropForeignKey",
517
380
  table: { database: "TestDb", schema: "TestSchema", name: "Post" },
518
381
  foreignKey: "FK_Post_user",
519
382
  });
@@ -521,22 +384,22 @@ describe("DDL - Foreign Key / Index", () => {
521
384
 
522
385
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
523
386
  const builder = createQueryBuilder(dialect);
524
- expect(builder.build(def)).toMatchSql(expected.dropFk[dialect]);
387
+ expect(builder.build(def)).toMatchSql(expected.dropForeignKey[dialect]);
525
388
  });
526
389
  });
527
390
 
528
- describe("getAddIdxQueryDef", () => {
391
+ describe("getAddIndexQueryDef", () => {
529
392
  const db = createTestDb();
530
393
  const indexBuilder = new IndexBuilder({ columns: ["email"] as string[], unique: true });
531
394
 
532
- const def = db.getAddIdxQueryDef(
395
+ const def = db.getAddIndexQueryDef(
533
396
  { database: "TestDb", schema: "TestSchema", name: "User" },
534
397
  indexBuilder,
535
398
  );
536
399
 
537
400
  it("should validate QueryDef", () => {
538
401
  expect(def).toEqual({
539
- type: "addIdx",
402
+ type: "addIndex",
540
403
  table: { database: "TestDb", schema: "TestSchema", name: "User" },
541
404
  index: {
542
405
  name: "IDX_User_email",
@@ -548,19 +411,19 @@ describe("DDL - Foreign Key / Index", () => {
548
411
 
549
412
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
550
413
  const builder = createQueryBuilder(dialect);
551
- expect(builder.build(def)).toMatchSql(expected.addIdx[dialect]);
414
+ expect(builder.build(def)).toMatchSql(expected.addIndex[dialect]);
552
415
  });
553
416
  });
554
417
 
555
- describe("getDropIdxQueryDef", () => {
418
+ describe("getDropIndexQueryDef", () => {
556
419
  const db = createTestDb();
557
- const def = db.getDropIdxQueryDef({ database: "TestDb", schema: "TestSchema", name: "User" }, [
420
+ const def = db.getDropIndexQueryDef({ database: "TestDb", schema: "TestSchema", name: "User" }, [
558
421
  "email",
559
422
  ]);
560
423
 
561
424
  it("should validate QueryDef", () => {
562
425
  expect(def).toEqual({
563
- type: "dropIdx",
426
+ type: "dropIndex",
564
427
  table: { database: "TestDb", schema: "TestSchema", name: "User" },
565
428
  index: "IDX_User_email",
566
429
  });
@@ -568,30 +431,10 @@ describe("DDL - Foreign Key / Index", () => {
568
431
 
569
432
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
570
433
  const builder = createQueryBuilder(dialect);
571
- expect(builder.build(def)).toMatchSql(expected.dropIdx[dialect]);
434
+ expect(builder.build(def)).toMatchSql(expected.dropIndex[dialect]);
572
435
  });
573
436
  });
574
437
 
575
- describe("getDropIdxQueryDef - composite", () => {
576
- const db = createTestDb();
577
- const def = db.getDropIdxQueryDef({ database: "TestDb", schema: "TestSchema", name: "User" }, [
578
- "name",
579
- "email",
580
- ]);
581
-
582
- it("should validate QueryDef", () => {
583
- expect(def).toEqual({
584
- type: "dropIdx",
585
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
586
- index: "IDX_User_name_email",
587
- });
588
- });
589
-
590
- it.each(dialects)("[%s] should validate SQL", (dialect) => {
591
- const builder = createQueryBuilder(dialect);
592
- expect(builder.build(def)).toMatchSql(expected.dropIdxComposite[dialect]);
593
- });
594
- });
595
438
  });
596
439
 
597
440
  describe("DDL - View", () => {
@@ -51,20 +51,6 @@ describe("DDL - Column Builder", () => {
51
51
  column,
52
52
  );
53
53
 
54
- it("should validate QueryDef", () => {
55
- expect(def).toEqual({
56
- type: "addColumn",
57
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
58
- column: {
59
- name: "id",
60
- dataType: { type: "bigint" },
61
- autoIncrement: undefined,
62
- nullable: undefined,
63
- default: undefined,
64
- },
65
- });
66
- });
67
-
68
54
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
69
55
  const builder = createQueryBuilder(dialect);
70
56
  expect(builder.build(def)).toMatchSql(expected.bigintType[dialect]);
@@ -82,20 +68,6 @@ describe("DDL - Column Builder", () => {
82
68
  column,
83
69
  );
84
70
 
85
- it("should validate QueryDef", () => {
86
- expect(def).toEqual({
87
- type: "addColumn",
88
- table: { database: "TestDb", schema: "TestSchema", name: "Product" },
89
- column: {
90
- name: "weight",
91
- dataType: { type: "float" },
92
- autoIncrement: undefined,
93
- nullable: undefined,
94
- default: undefined,
95
- },
96
- });
97
- });
98
-
99
71
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
100
72
  const builder = createQueryBuilder(dialect);
101
73
  expect(builder.build(def)).toMatchSql(expected.floatType[dialect]);
@@ -113,20 +85,6 @@ describe("DDL - Column Builder", () => {
113
85
  column,
114
86
  );
115
87
 
116
- it("should validate QueryDef", () => {
117
- expect(def).toEqual({
118
- type: "addColumn",
119
- table: { database: "TestDb", schema: "TestSchema", name: "Product" },
120
- column: {
121
- name: "price",
122
- dataType: { type: "double" },
123
- autoIncrement: undefined,
124
- nullable: undefined,
125
- default: undefined,
126
- },
127
- });
128
- });
129
-
130
88
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
131
89
  const builder = createQueryBuilder(dialect);
132
90
  expect(builder.build(def)).toMatchSql(expected.doubleType[dialect]);
@@ -175,20 +133,6 @@ describe("DDL - Column Builder", () => {
175
133
  column,
176
134
  );
177
135
 
178
- it("should validate QueryDef", () => {
179
- expect(def).toEqual({
180
- type: "addColumn",
181
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
182
- column: {
183
- name: "name",
184
- dataType: { type: "varchar", length: 100 },
185
- autoIncrement: undefined,
186
- nullable: undefined,
187
- default: undefined,
188
- },
189
- });
190
- });
191
-
192
136
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
193
137
  const builder = createQueryBuilder(dialect);
194
138
  expect(builder.build(def)).toMatchSql(expected.varcharType[dialect]);
@@ -237,20 +181,6 @@ describe("DDL - Column Builder", () => {
237
181
  column,
238
182
  );
239
183
 
240
- it("should validate QueryDef", () => {
241
- expect(def).toEqual({
242
- type: "addColumn",
243
- table: { database: "TestDb", schema: "TestSchema", name: "Post" },
244
- column: {
245
- name: "content",
246
- dataType: { type: "text" },
247
- autoIncrement: undefined,
248
- nullable: undefined,
249
- default: undefined,
250
- },
251
- });
252
- });
253
-
254
184
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
255
185
  const builder = createQueryBuilder(dialect);
256
186
  expect(builder.build(def)).toMatchSql(expected.textType[dialect]);
@@ -268,20 +198,6 @@ describe("DDL - Column Builder", () => {
268
198
  column,
269
199
  );
270
200
 
271
- it("should validate QueryDef", () => {
272
- expect(def).toEqual({
273
- type: "addColumn",
274
- table: { database: "TestDb", schema: "TestSchema", name: "File" },
275
- column: {
276
- name: "data",
277
- dataType: { type: "binary" },
278
- autoIncrement: undefined,
279
- nullable: undefined,
280
- default: undefined,
281
- },
282
- });
283
- });
284
-
285
201
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
286
202
  const builder = createQueryBuilder(dialect);
287
203
  expect(builder.build(def)).toMatchSql(expected.binaryType[dialect]);
@@ -299,20 +215,6 @@ describe("DDL - Column Builder", () => {
299
215
  column,
300
216
  );
301
217
 
302
- it("should validate QueryDef", () => {
303
- expect(def).toEqual({
304
- type: "addColumn",
305
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
306
- column: {
307
- name: "isActive",
308
- dataType: { type: "boolean" },
309
- autoIncrement: undefined,
310
- nullable: undefined,
311
- default: undefined,
312
- },
313
- });
314
- });
315
-
316
218
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
317
219
  const builder = createQueryBuilder(dialect);
318
220
  expect(builder.build(def)).toMatchSql(expected.booleanType[dialect]);
@@ -330,20 +232,6 @@ describe("DDL - Column Builder", () => {
330
232
  column,
331
233
  );
332
234
 
333
- it("should validate QueryDef", () => {
334
- expect(def).toEqual({
335
- type: "addColumn",
336
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
337
- column: {
338
- name: "createdAt",
339
- dataType: { type: "datetime" },
340
- autoIncrement: undefined,
341
- nullable: undefined,
342
- default: undefined,
343
- },
344
- });
345
- });
346
-
347
235
  it.each(dialects)("[%s] should validate SQL", (dialect) => {
348
236
  const builder = createQueryBuilder(dialect);
349
237
  expect(builder.build(def)).toMatchSql(expected.datetimeType[dialect]);
@@ -12,14 +12,14 @@ describe("DDL - Index Builder", () => {
12
12
  describe("IndexBuilder - single column index", () => {
13
13
  const db = createTestDb();
14
14
  const indexBuilder = IndexFactory.index("email");
15
- const def = db.getAddIdxQueryDef(
15
+ const def = db.getAddIndexQueryDef(
16
16
  { database: "TestDb", schema: "TestSchema", name: "User" },
17
17
  indexBuilder,
18
18
  );
19
19
 
20
20
  it("should validate QueryDef", () => {
21
21
  expect(def).toEqual({
22
- type: "addIdx",
22
+ type: "addIndex",
23
23
  table: { database: "TestDb", schema: "TestSchema", name: "User" },
24
24
  index: {
25
25
  name: "IDX_User_email",
@@ -38,14 +38,14 @@ describe("DDL - Index Builder", () => {
38
38
  describe("IndexBuilder - unique index", () => {
39
39
  const db = createTestDb();
40
40
  const indexBuilder = IndexFactory.index("email").unique();
41
- const def = db.getAddIdxQueryDef(
41
+ const def = db.getAddIndexQueryDef(
42
42
  { database: "TestDb", schema: "TestSchema", name: "User" },
43
43
  indexBuilder,
44
44
  );
45
45
 
46
46
  it("should validate QueryDef", () => {
47
47
  expect(def).toEqual({
48
- type: "addIdx",
48
+ type: "addIndex",
49
49
  table: { database: "TestDb", schema: "TestSchema", name: "User" },
50
50
  index: {
51
51
  name: "IDX_User_email",
@@ -64,14 +64,14 @@ describe("DDL - Index Builder", () => {
64
64
  describe("IndexBuilder - composite index", () => {
65
65
  const db = createTestDb();
66
66
  const indexBuilder = IndexFactory.index("name", "email");
67
- const def = db.getAddIdxQueryDef(
67
+ const def = db.getAddIndexQueryDef(
68
68
  { database: "TestDb", schema: "TestSchema", name: "User" },
69
69
  indexBuilder,
70
70
  );
71
71
 
72
72
  it("should validate QueryDef", () => {
73
73
  expect(def).toEqual({
74
- type: "addIdx",
74
+ type: "addIndex",
75
75
  table: { database: "TestDb", schema: "TestSchema", name: "User" },
76
76
  index: {
77
77
  name: "IDX_User_name_email",
@@ -93,14 +93,14 @@ describe("DDL - Index Builder", () => {
93
93
  describe("IndexBuilder - orderBy specified", () => {
94
94
  const db = createTestDb();
95
95
  const indexBuilder = IndexFactory.index("name", "email").orderBy("DESC", "ASC");
96
- const def = db.getAddIdxQueryDef(
96
+ const def = db.getAddIndexQueryDef(
97
97
  { database: "TestDb", schema: "TestSchema", name: "User" },
98
98
  indexBuilder,
99
99
  );
100
100
 
101
101
  it("should validate QueryDef", () => {
102
102
  expect(def).toEqual({
103
- type: "addIdx",
103
+ type: "addIndex",
104
104
  table: { database: "TestDb", schema: "TestSchema", name: "User" },
105
105
  index: {
106
106
  name: "IDX_User_name_email",
@@ -122,14 +122,14 @@ describe("DDL - Index Builder", () => {
122
122
  describe("IndexBuilder - name specified", () => {
123
123
  const db = createTestDb();
124
124
  const indexBuilder = IndexFactory.index("email").name("UQ_User_email");
125
- const def = db.getAddIdxQueryDef(
125
+ const def = db.getAddIndexQueryDef(
126
126
  { database: "TestDb", schema: "TestSchema", name: "User" },
127
127
  indexBuilder,
128
128
  );
129
129
 
130
130
  it("should validate QueryDef", () => {
131
131
  expect(def).toEqual({
132
- type: "addIdx",
132
+ type: "addIndex",
133
133
  table: { database: "TestDb", schema: "TestSchema", name: "User" },
134
134
  index: {
135
135
  name: "UQ_User_email",
@@ -145,58 +145,4 @@ describe("DDL - Index Builder", () => {
145
145
  });
146
146
  });
147
147
 
148
- describe("IndexBuilder - description specified", () => {
149
- const db = createTestDb();
150
- const indexBuilder = IndexFactory.index("email").description("이메일 검색용 인덱스");
151
- const def = db.getAddIdxQueryDef(
152
- { database: "TestDb", schema: "TestSchema", name: "User" },
153
- indexBuilder,
154
- );
155
-
156
- it("should validate QueryDef", () => {
157
- expect(def).toEqual({
158
- type: "addIdx",
159
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
160
- index: {
161
- name: "IDX_User_email",
162
- columns: [{ name: "email", orderBy: "ASC" }],
163
- unique: undefined,
164
- },
165
- });
166
- });
167
-
168
- it.each(dialects)("[%s] should validate SQL", (dialect) => {
169
- const builder = createQueryBuilder(dialect);
170
- expect(builder.build(def)).toMatchSql(expected.singleColumnIndex[dialect]);
171
- });
172
- });
173
-
174
- describe("IndexBuilder - combined options (unique + orderBy)", () => {
175
- const db = createTestDb();
176
- const indexBuilder = IndexFactory.index("name", "email").unique().orderBy("DESC", "ASC");
177
- const def = db.getAddIdxQueryDef(
178
- { database: "TestDb", schema: "TestSchema", name: "User" },
179
- indexBuilder,
180
- );
181
-
182
- it("should validate QueryDef", () => {
183
- expect(def).toEqual({
184
- type: "addIdx",
185
- table: { database: "TestDb", schema: "TestSchema", name: "User" },
186
- index: {
187
- name: "IDX_User_name_email",
188
- columns: [
189
- { name: "name", orderBy: "DESC" },
190
- { name: "email", orderBy: "ASC" },
191
- ],
192
- unique: true,
193
- },
194
- });
195
- });
196
-
197
- it.each(dialects)("[%s] should validate SQL", (dialect) => {
198
- const builder = createQueryBuilder(dialect);
199
- expect(builder.build(def)).toMatchSql(expected.uniqueOrderByIndex[dialect]);
200
- });
201
- });
202
148
  });