@simplysm/orm-common 14.0.16 → 14.0.18

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 (75) hide show
  1. package/README.md +25 -19
  2. package/dist/db-context.d.ts +133 -0
  3. package/dist/db-context.d.ts.map +1 -0
  4. package/dist/db-context.js +325 -0
  5. package/dist/db-context.js.map +1 -0
  6. package/dist/ddl/initialize.d.ts +5 -3
  7. package/dist/ddl/initialize.d.ts.map +1 -1
  8. package/dist/ddl/initialize.js +39 -32
  9. package/dist/ddl/initialize.js.map +1 -1
  10. package/dist/exec/executable.js +1 -1
  11. package/dist/exec/executable.js.map +1 -1
  12. package/dist/exec/queryable.js +2 -2
  13. package/dist/exec/queryable.js.map +1 -1
  14. package/dist/exec/search-parser.d.ts.map +1 -1
  15. package/dist/exec/search-parser.js +2 -1
  16. package/dist/exec/search-parser.js.map +1 -1
  17. package/dist/expr/expr.d.ts +2 -2
  18. package/dist/expr/expr.js +2 -2
  19. package/dist/index.d.ts +1 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +2 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/query-builder/mssql/mssql-expr-renderer.js +1 -1
  24. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -1
  25. package/dist/query-builder/mysql/mysql-expr-renderer.js +1 -1
  26. package/dist/query-builder/mysql/mysql-query-builder.js +1 -1
  27. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -1
  28. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts +7 -0
  29. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
  30. package/dist/query-builder/postgresql/postgresql-query-builder.js +86 -16
  31. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -1
  32. package/dist/schema/factory/relation-builder.d.ts +44 -67
  33. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  34. package/dist/schema/factory/relation-builder.js +37 -78
  35. package/dist/schema/factory/relation-builder.js.map +1 -1
  36. package/dist/schema/view-builder.d.ts +1 -1
  37. package/dist/schema/view-builder.d.ts.map +1 -1
  38. package/dist/schema/view-builder.js +0 -2
  39. package/dist/schema/view-builder.js.map +1 -1
  40. package/dist/types/column.js +1 -1
  41. package/dist/types/column.js.map +1 -1
  42. package/dist/types/db-context-def.d.ts +2 -42
  43. package/dist/types/db-context-def.d.ts.map +1 -1
  44. package/dist/utils/result-parser.js +31 -23
  45. package/dist/utils/result-parser.js.map +1 -1
  46. package/docs/core.md +110 -50
  47. package/docs/schema-builders.md +13 -19
  48. package/docs/types.md +2 -41
  49. package/package.json +3 -3
  50. package/src/db-context.ts +455 -0
  51. package/src/ddl/initialize.ts +49 -37
  52. package/src/exec/executable.ts +1 -1
  53. package/src/exec/queryable.ts +2 -2
  54. package/src/exec/search-parser.ts +2 -1
  55. package/src/expr/expr.ts +2 -2
  56. package/src/index.ts +2 -3
  57. package/src/query-builder/mssql/mssql-expr-renderer.ts +1 -1
  58. package/src/query-builder/mysql/mysql-expr-renderer.ts +1 -1
  59. package/src/query-builder/mysql/mysql-query-builder.ts +1 -1
  60. package/src/query-builder/postgresql/postgresql-query-builder.ts +93 -14
  61. package/src/schema/factory/relation-builder.ts +56 -87
  62. package/src/schema/view-builder.ts +1 -3
  63. package/src/types/column.ts +1 -1
  64. package/src/types/db-context-def.ts +2 -60
  65. package/src/utils/result-parser.ts +29 -22
  66. package/dist/create-db-context.d.ts +0 -34
  67. package/dist/create-db-context.d.ts.map +0 -1
  68. package/dist/create-db-context.js +0 -329
  69. package/dist/create-db-context.js.map +0 -1
  70. package/dist/define-db-context.d.ts +0 -15
  71. package/dist/define-db-context.d.ts.map +0 -1
  72. package/dist/define-db-context.js +0 -12
  73. package/dist/define-db-context.js.map +0 -1
  74. package/src/create-db-context.ts +0 -409
  75. package/src/define-db-context.ts +0 -28
@@ -266,17 +266,29 @@ async function parseJoinedRecords<TRecord>(
266
266
  /**
267
267
  * 그룹 key를 문자열로 직렬화 (Map key로 사용)
268
268
  *
269
- * JSON.stringify보다 빠른 커스텀 직렬화
269
+ * length-prefixed 인코딩으로 내부의 구분자 문자 충돌을 방지한다.
270
+ * null/undefined와 문자열 "null"/"undefined"도 구분된다.
271
+ * 객체 타입 값(하위 JOIN 데이터)은 직렬화에서 제외한다.
270
272
  */
271
273
  function serializeGroupKey(groupKey: Record<string, unknown>, cachedKeyOrder?: string[]): string {
272
274
  const keys = cachedKeyOrder ?? Object.keys(groupKey).sort((a, b) => a.localeCompare(b));
273
275
  let result = "";
274
- for (let i = 0; i < keys.length; i++) {
275
- if (i > 0) result += "|";
276
- const v = groupKey[keys[i]];
277
- result += keys[i];
276
+ for (const key of keys) {
277
+ const v = groupKey[key];
278
+ result += key.length.toString();
278
279
  result += ":";
279
- result += v === null ? "null" : String(v);
280
+ result += key;
281
+ if (v == null) {
282
+ result += "N;";
283
+ } else if (typeof v === "object") {
284
+ result += "O;";
285
+ } else {
286
+ const str = String(v);
287
+ result += str.length.toString();
288
+ result += ":";
289
+ result += str;
290
+ result += ";";
291
+ }
280
292
  }
281
293
  return result;
282
294
  }
@@ -319,6 +331,8 @@ function groupRecordsRecursively(
319
331
 
320
332
  // Map 기반 그룹핑 (O(n) 복잡도)
321
333
  const groupMap = new Map<string, Record<string, unknown>>();
334
+ // 중복 검사용 hashSet을 데이터 객체와 분리 (DESIGN-003)
335
+ const hashSetsMap = new Map<string, Record<string, Set<string>>>();
322
336
 
323
337
  // O(1) 조회를 위한 JOIN key 제외 집합 사전 계산
324
338
  const joinKeyExclusions = buildJoinKeyExclusionSet(childJoinKeys);
@@ -338,13 +352,15 @@ function groupRecordsRecursively(
338
352
 
339
353
  if (existingGroup != null) {
340
354
  // 기존 그룹에 JOIN 데이터 병합
355
+ const hashSets = hashSetsMap.get(keyStr)!;
341
356
  for (const joinKey of childJoinKeys) {
342
357
  const localKey = currentPath === "" ? joinKey : joinKey.slice(currentPath.length + 1);
343
- mergeJoinData(existingGroup, record, localKey, joinsConfig[joinKey].isSingle);
358
+ mergeJoinData(existingGroup, record, localKey, joinsConfig[joinKey].isSingle, hashSets);
344
359
  }
345
360
  } else {
346
361
  // 새 그룹 생성
347
362
  const newGroup = { ...record };
363
+ const hashSets: Record<string, Set<string>> = {};
348
364
 
349
365
  // 각 JOIN key를 배열 또는 단일 객체로 초기화
350
366
  for (const joinKey of childJoinKeys) {
@@ -353,7 +369,7 @@ function groupRecordsRecursively(
353
369
 
354
370
  if (joinData != null && !isEmptyObject(joinData)) {
355
371
  if (!joinsConfig[joinKey].isSingle) {
356
- // 배열로 변환
372
+ // 배열로 변환 (hashSet은 첫 merge 시 초기화)
357
373
  newGroup[localKey] = [joinData];
358
374
  }
359
375
  } else {
@@ -363,6 +379,7 @@ function groupRecordsRecursively(
363
379
  }
364
380
 
365
381
  groupMap.set(keyStr, newGroup);
382
+ hashSetsMap.set(keyStr, hashSets);
366
383
  }
367
384
  }
368
385
 
@@ -398,15 +415,6 @@ function groupRecordsRecursively(
398
415
  }
399
416
  }
400
417
 
401
- // __hashSet__ 내부 속성 제거 (중복 검사용 임시 속성)
402
- for (const group of grouped) {
403
- for (const key of Object.keys(group)) {
404
- if (key.startsWith("__hashSet__")) {
405
- delete group[key];
406
- }
407
- }
408
- }
409
-
410
418
  return grouped;
411
419
  }
412
420
 
@@ -454,6 +462,7 @@ function mergeJoinData(
454
462
  newRecord: Record<string, unknown>,
455
463
  localKey: string,
456
464
  isSingle: boolean,
465
+ hashSets: Record<string, Set<string>>,
457
466
  ): void {
458
467
  const newJoinData = newRecord[localKey] as Record<string, unknown> | undefined;
459
468
 
@@ -474,14 +483,12 @@ function mergeJoinData(
474
483
  }
475
484
  } else {
476
485
  // isSingle: false → 배열에 추가
477
- const hashSetKey = `__hashSet__${localKey}`;
478
486
  if (!Array.isArray(existingJoinData)) {
479
487
  existingGroup[localKey] = [newJoinData];
480
- // Set 기반 중복 검사용 내부 속성 초기화
481
- existingGroup[hashSetKey] = new Set([serializeGroupKey(newJoinData)]);
488
+ hashSets[localKey] = new Set([serializeGroupKey(newJoinData)]);
482
489
  } else {
483
490
  // Set 기반 중복 검사 (O(1))
484
- const hashSet = existingGroup[hashSetKey] as Set<string> | undefined;
491
+ const hashSet = hashSets[localKey] as Set<string> | undefined;
485
492
  const newHash = serializeGroupKey(newJoinData);
486
493
  if (hashSet != null) {
487
494
  if (!hashSet.has(newHash)) {
@@ -489,7 +496,7 @@ function mergeJoinData(
489
496
  existingJoinData.push(newJoinData);
490
497
  }
491
498
  } else {
492
- // hashSet 없는 폴백 (레거시 방식)
499
+ // hashSet 미초기화: obj.equal 폴백 (중첩 객체 포함 시 정확한 비교)
493
500
  const isDuplicate = existingJoinData.some((item) =>
494
501
  obj.equal(item as Record<string, unknown>, newJoinData),
495
502
  );
@@ -1,34 +0,0 @@
1
- import type { DbContextDef, DbContextInstance } from "./types/db-context-def";
2
- import type { DbContextExecutor } from "./types/db";
3
- /**
4
- * DbContext 인스턴스 팩토리
5
- *
6
- * DbContextDef (정의)와 DbContextExecutor (실행기)를 받아
7
- * queryable 접근자, DDL 메서드, 연결/트랜잭션 관리를 포함한
8
- * 완전한 DbContext 인스턴스를 생성한다
9
- *
10
- * @param def - defineDbContext()로 생성된 정의 객체
11
- * @param executor - 쿼리 실행기 (NodeDbContextExecutor, ServiceDbContextExecutor 등)
12
- * @param opt - 데이터베이스 옵션
13
- * @param opt.database - 데이터베이스 이름
14
- * @param opt.schema - schema 이름 (MSSQL: dbo, PostgreSQL: public)
15
- * @returns 완전한 DbContext 인스턴스
16
- *
17
- * @example
18
- * ```typescript
19
- * const MyDb = defineDbContext({
20
- * tables: { user: User, post: Post },
21
- * });
22
- *
23
- * const db = createDbContext(MyDb, executor, { database: "mydb" });
24
- *
25
- * await db.connect(async () => {
26
- * const users = await db.user().execute();
27
- * });
28
- * ```
29
- */
30
- export declare function createDbContext<TDef extends DbContextDef<any, any, any>>(def: TDef, executor: DbContextExecutor, opt: {
31
- database: string;
32
- schema?: string;
33
- }): DbContextInstance<TDef>;
34
- //# sourceMappingURL=create-db-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-db-context.d.ts","sourceRoot":"","sources":["../src/create-db-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAGZ,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAc,iBAAiB,EAA8B,MAAM,YAAY,CAAC;AAyB5F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzC,iBAAiB,CAAC,IAAI,CAAC,CA0VzB"}
@@ -1,329 +0,0 @@
1
- import { DDL_TYPES } from "./types/query-def.js";
2
- import { DbErrorCode, DbTransactionError } from "./errors/db-transaction-error.js";
3
- import { TableBuilder } from "./schema/table-builder.js";
4
- import { ViewBuilder } from "./schema/view-builder.js";
5
- import { queryable } from "./exec/queryable.js";
6
- import { executable } from "./exec/executable.js";
7
- import { obj } from "@simplysm/core-common";
8
- // DDL import
9
- import * as tableDdl from "./ddl/table-ddl.js";
10
- import * as columnDdl from "./ddl/column-ddl.js";
11
- import * as relationDdl from "./ddl/relation-ddl.js";
12
- import * as schemaDdl from "./ddl/schema-ddl.js";
13
- import { initialize as initializeImpl, validateRelations as validateRelationsImpl, } from "./ddl/initialize.js";
14
- /**
15
- * DbContext 인스턴스 팩토리
16
- *
17
- * DbContextDef (정의)와 DbContextExecutor (실행기)를 받아
18
- * queryable 접근자, DDL 메서드, 연결/트랜잭션 관리를 포함한
19
- * 완전한 DbContext 인스턴스를 생성한다
20
- *
21
- * @param def - defineDbContext()로 생성된 정의 객체
22
- * @param executor - 쿼리 실행기 (NodeDbContextExecutor, ServiceDbContextExecutor 등)
23
- * @param opt - 데이터베이스 옵션
24
- * @param opt.database - 데이터베이스 이름
25
- * @param opt.schema - schema 이름 (MSSQL: dbo, PostgreSQL: public)
26
- * @returns 완전한 DbContext 인스턴스
27
- *
28
- * @example
29
- * ```typescript
30
- * const MyDb = defineDbContext({
31
- * tables: { user: User, post: Post },
32
- * });
33
- *
34
- * const db = createDbContext(MyDb, executor, { database: "mydb" });
35
- *
36
- * await db.connect(async () => {
37
- * const users = await db.user().execute();
38
- * });
39
- * ```
40
- */
41
- export function createDbContext(def, executor, opt) {
42
- // ── 내부 상태 (클로저) ──
43
- let aliasCounter = 0;
44
- let status = "ready";
45
- let relationsValidated = false;
46
- // ── DbContextBase 구현 ──
47
- const base = {
48
- get status() {
49
- return status;
50
- },
51
- set status(v) {
52
- status = v;
53
- },
54
- get database() {
55
- return opt.database;
56
- },
57
- get schema() {
58
- return opt.schema;
59
- },
60
- getNextAlias() {
61
- return `T${++aliasCounter}`;
62
- },
63
- resetAliasCounter() {
64
- aliasCounter = 0;
65
- },
66
- executeDefs(defs, resultMetas) {
67
- if (status === "transact" &&
68
- defs.some((d) => DDL_TYPES.includes(d.type))) {
69
- throw new Error("TRANSACTION 상태에서는 DDL을 실행할 수 없습니다.");
70
- }
71
- return executor.executeDefs(defs, resultMetas);
72
- },
73
- getQueryDefObjectName(tableOrView) {
74
- return obj.clearUndefined({
75
- database: tableOrView.meta.database ?? opt.database,
76
- schema: tableOrView.meta.schema ?? opt.schema,
77
- name: tableOrView.meta.name,
78
- });
79
- },
80
- async switchFk(table, enabled) {
81
- await base.executeDefs([schemaDdl.getSwitchFkQueryDef(table, enabled)]);
82
- },
83
- };
84
- // ── 모든 요소를 하나의 객체로 합성 ──
85
- const db = {
86
- // base 속성 전개 (getter/setter는 별도 처리 필요)
87
- get status() {
88
- return base.status;
89
- },
90
- set status(v) {
91
- base.status = v;
92
- },
93
- get database() {
94
- return base.database;
95
- },
96
- get schema() {
97
- return base.schema;
98
- },
99
- getNextAlias: base.getNextAlias,
100
- resetAliasCounter: base.resetAliasCounter,
101
- executeDefs: base.executeDefs,
102
- getQueryDefObjectName: base.getQueryDefObjectName,
103
- //#region ========== 연결 관리 ==========
104
- /**
105
- * 트랜잭션 내에서 콜백 실행 (자동 커밋/롤백)
106
- *
107
- * 연결 -> 트랜잭션 시작 -> 콜백 실행 -> 커밋 -> 연결 종료
108
- * 오류 발생 시 자동으로 롤백 후 연결 종료
109
- */
110
- async connect(fn, isolationLevel) {
111
- if (!relationsValidated) {
112
- validateRelationsImpl(def);
113
- relationsValidated = true;
114
- }
115
- base.resetAliasCounter();
116
- await executor.connect();
117
- status = "connect";
118
- await executor.beginTransaction(isolationLevel);
119
- status = "transact";
120
- let result;
121
- try {
122
- result = await fn();
123
- await executor.commitTransaction();
124
- status = "connect";
125
- }
126
- catch (err) {
127
- try {
128
- await executor.rollbackTransaction();
129
- status = "connect";
130
- }
131
- catch (err1) {
132
- if (err1 instanceof DbTransactionError) {
133
- if (err1.code !== DbErrorCode.NO_ACTIVE_TRANSACTION) {
134
- await executor.close();
135
- status = "ready";
136
- throw err1;
137
- }
138
- }
139
- else {
140
- await executor.close();
141
- status = "ready";
142
- throw err1;
143
- }
144
- }
145
- await executor.close();
146
- status = "ready";
147
- throw err;
148
- }
149
- await executor.close();
150
- status = "ready";
151
- return result;
152
- },
153
- /**
154
- * 트랜잭션 없이 연결 후 콜백 실행, 자동 종료
155
- *
156
- * 트랜잭션이 필요 없는 DDL 작업이나 읽기 작업에 사용
157
- */
158
- async connectWithoutTransaction(callback) {
159
- if (!relationsValidated) {
160
- validateRelationsImpl(def);
161
- relationsValidated = true;
162
- }
163
- base.resetAliasCounter();
164
- await executor.connect();
165
- status = "connect";
166
- let result;
167
- try {
168
- result = await callback();
169
- }
170
- catch (err) {
171
- await executor.close();
172
- status = "ready";
173
- throw err;
174
- }
175
- await executor.close();
176
- status = "ready";
177
- return result;
178
- },
179
- /**
180
- * 이미 연결된 상태에서 트랜잭션 시작 (자동 커밋/롤백)
181
- *
182
- * connectWithoutTransaction 내에서 부분적으로 트랜잭션이 필요할 때 사용
183
- */
184
- async transaction(fn, isolationLevel) {
185
- if (status === "transact") {
186
- throw new Error("이미 TRANSACTION 상태입니다.");
187
- }
188
- await executor.beginTransaction(isolationLevel);
189
- status = "transact";
190
- let result;
191
- try {
192
- result = await fn();
193
- await executor.commitTransaction();
194
- status = "connect";
195
- }
196
- catch (err) {
197
- try {
198
- await executor.rollbackTransaction();
199
- status = "connect";
200
- }
201
- catch (err1) {
202
- if (err1 instanceof DbTransactionError) {
203
- if (err1.code !== DbErrorCode.NO_ACTIVE_TRANSACTION) {
204
- throw err1;
205
- }
206
- }
207
- else {
208
- throw err1;
209
- }
210
- // NO_ACTIVE_TRANSACTION 오류이면 무시하고 원래 오류를 던짐
211
- status = "connect";
212
- }
213
- throw err;
214
- }
215
- return result;
216
- },
217
- //#endregion
218
- //#region ========== DDL 실행 메서드 ==========
219
- async createTable(table) {
220
- await base.executeDefs([tableDdl.getCreateTableQueryDef(base, table)]);
221
- },
222
- async dropTable(table) {
223
- await base.executeDefs([tableDdl.getDropTableQueryDef(table)]);
224
- },
225
- async renameTable(table, newName) {
226
- await base.executeDefs([tableDdl.getRenameTableQueryDef(table, newName)]);
227
- },
228
- async createView(view) {
229
- await base.executeDefs([tableDdl.getCreateViewQueryDef(db, view)]);
230
- },
231
- async dropView(view) {
232
- await base.executeDefs([tableDdl.getDropViewQueryDef(view)]);
233
- },
234
- async createProc(procedure) {
235
- await base.executeDefs([tableDdl.getCreateProcQueryDef(base, procedure)]);
236
- },
237
- async dropProc(procedure) {
238
- await base.executeDefs([tableDdl.getDropProcQueryDef(procedure)]);
239
- },
240
- async addColumn(table, columnName, column) {
241
- await base.executeDefs([columnDdl.getAddColumnQueryDef(table, columnName, column)]);
242
- },
243
- async dropColumn(table, column) {
244
- await base.executeDefs([columnDdl.getDropColumnQueryDef(table, column)]);
245
- },
246
- async modifyColumn(table, columnName, column) {
247
- await base.executeDefs([columnDdl.getModifyColumnQueryDef(table, columnName, column)]);
248
- },
249
- async renameColumn(table, column, newName) {
250
- await base.executeDefs([columnDdl.getRenameColumnQueryDef(table, column, newName)]);
251
- },
252
- async addPrimaryKey(table, columns) {
253
- await base.executeDefs([relationDdl.getAddPrimaryKeyQueryDef(table, columns)]);
254
- },
255
- async dropPrimaryKey(table) {
256
- await base.executeDefs([relationDdl.getDropPrimaryKeyQueryDef(table)]);
257
- },
258
- async addForeignKey(table, relationName, relationDef) {
259
- await base.executeDefs([
260
- relationDdl.getAddForeignKeyQueryDef(base, table, relationName, relationDef),
261
- ]);
262
- },
263
- async addIndex(table, indexBuilder) {
264
- await base.executeDefs([relationDdl.getAddIndexQueryDef(table, indexBuilder)]);
265
- },
266
- async dropForeignKey(table, relationName) {
267
- await base.executeDefs([relationDdl.getDropForeignKeyQueryDef(table, relationName)]);
268
- },
269
- async dropIndex(table, columns) {
270
- await base.executeDefs([relationDdl.getDropIndexQueryDef(table, columns)]);
271
- },
272
- async clearSchema(params) {
273
- await base.executeDefs([schemaDdl.getClearSchemaQueryDef(params)]);
274
- },
275
- async schemaExists(database, schema) {
276
- const result = await base.executeDefs([schemaDdl.getSchemaExistsQueryDef(database, schema)]);
277
- return result[0].length > 0;
278
- },
279
- async truncate(table) {
280
- await base.executeDefs([schemaDdl.getTruncateQueryDef(table)]);
281
- },
282
- async switchFk(table, enabled) {
283
- await base.executeDefs([schemaDdl.getSwitchFkQueryDef(table, enabled)]);
284
- },
285
- //#endregion
286
- //#region ========== DDL QueryDef 생성기 ==========
287
- getCreateTableQueryDef: (table) => tableDdl.getCreateTableQueryDef(base, table),
288
- getCreateViewQueryDef: (view) => tableDdl.getCreateViewQueryDef(db, view),
289
- getCreateProcQueryDef: (procedure) => tableDdl.getCreateProcQueryDef(base, procedure),
290
- getCreateObjectQueryDef: (builder) => tableDdl.getCreateObjectQueryDef(db, builder),
291
- getDropTableQueryDef: tableDdl.getDropTableQueryDef,
292
- getRenameTableQueryDef: tableDdl.getRenameTableQueryDef,
293
- getDropViewQueryDef: tableDdl.getDropViewQueryDef,
294
- getDropProcQueryDef: tableDdl.getDropProcQueryDef,
295
- getAddColumnQueryDef: columnDdl.getAddColumnQueryDef,
296
- getDropColumnQueryDef: columnDdl.getDropColumnQueryDef,
297
- getModifyColumnQueryDef: columnDdl.getModifyColumnQueryDef,
298
- getRenameColumnQueryDef: columnDdl.getRenameColumnQueryDef,
299
- getAddPrimaryKeyQueryDef: relationDdl.getAddPrimaryKeyQueryDef,
300
- getDropPrimaryKeyQueryDef: relationDdl.getDropPrimaryKeyQueryDef,
301
- getAddForeignKeyQueryDef: (table, relationName, relationDef) => relationDdl.getAddForeignKeyQueryDef(base, table, relationName, relationDef),
302
- getAddIndexQueryDef: relationDdl.getAddIndexQueryDef,
303
- getDropForeignKeyQueryDef: relationDdl.getDropForeignKeyQueryDef,
304
- getDropIndexQueryDef: relationDdl.getDropIndexQueryDef,
305
- getClearSchemaQueryDef: schemaDdl.getClearSchemaQueryDef,
306
- getSchemaExistsQueryDef: schemaDdl.getSchemaExistsQueryDef,
307
- getTruncateQueryDef: schemaDdl.getTruncateQueryDef,
308
- getSwitchFkQueryDef: schemaDdl.getSwitchFkQueryDef,
309
- //#endregion
310
- //#region ========== 초기화 ==========
311
- async initialize(options) {
312
- await initializeImpl(db, def, options);
313
- },
314
- //#endregion
315
- };
316
- // ── Queryable 접근자 추가 ──
317
- for (const [key, tableOrView] of Object.entries(def.meta.tables)) {
318
- db[key] = queryable(db, tableOrView);
319
- }
320
- for (const [key, view] of Object.entries(def.meta.views)) {
321
- db[key] = queryable(db, view);
322
- }
323
- // ── Executable 접근자 추가 ──
324
- for (const [key, proc] of Object.entries(def.meta.procedures)) {
325
- db[key] = executable(base, proc);
326
- }
327
- return db;
328
- }
329
- //# sourceMappingURL=create-db-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-db-context.js","sourceRoot":"","sources":["../src/create-db-context.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { TableBuilder } from "./schema/table-builder";
2
- import type { ViewBuilder } from "./schema/view-builder";
3
- import type { ProcedureBuilder } from "./schema/procedure-builder";
4
- import type { Migration } from "./types/db";
5
- import type { DbContextDef } from "./types/db-context-def";
6
- import { _Migration } from "./models/system-migration";
7
- export declare function defineDbContext<TTables extends Record<string, TableBuilder<any, any>> = {}, TViews extends Record<string, ViewBuilder<any, any, any>> = {}, TProcedures extends Record<string, ProcedureBuilder<any, any>> = {}>(config: {
8
- tables?: TTables;
9
- views?: TViews;
10
- procedures?: TProcedures;
11
- migrations?: Migration[];
12
- }): DbContextDef<TTables & {
13
- _migration: typeof _Migration;
14
- }, TViews, TProcedures>;
15
- //# sourceMappingURL=define-db-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-db-context.d.ts","sourceRoot":"","sources":["../src/define-db-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,wBAAgB,eAAe,CAC7B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAC3D,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAC9D,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EACnE,MAAM,EAAE;IACR,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,GAAG,YAAY,CAAC,OAAO,GAAG;IAAE,UAAU,EAAE,OAAO,UAAU,CAAA;CAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAWjF"}
@@ -1,12 +0,0 @@
1
- import { _Migration } from "./models/system-migration.js";
2
- export function defineDbContext(config) {
3
- return {
4
- meta: {
5
- tables: { ...(config.tables ?? {}), _migration: _Migration },
6
- views: (config.views ?? {}),
7
- procedures: (config.procedures ?? {}),
8
- migrations: config.migrations ?? [],
9
- },
10
- };
11
- }
12
- //# sourceMappingURL=define-db-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-db-context.js","sourceRoot":"","sources":["../src/define-db-context.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,UAAU,eAAe,CAI7B,MAKD;IACC,OAAO;QACL,IAAI,EAAE;YACJ,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAEzD;YACD,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAW;YACrC,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAgB;YACpD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;SACpC;KACF,CAAC;AACJ,CAAC"}