@simplysm/orm-node 13.0.100 → 14.0.4
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.
- package/README.md +195 -168
- package/dist/connections/mssql-db-conn.d.ts +5 -5
- package/dist/connections/mssql-db-conn.js +356 -369
- package/dist/connections/mssql-db-conn.js.map +1 -6
- package/dist/connections/mysql-db-conn.d.ts +3 -3
- package/dist/connections/mysql-db-conn.js +227 -215
- package/dist/connections/mysql-db-conn.js.map +1 -6
- package/dist/connections/postgresql-db-conn.d.ts +3 -3
- package/dist/connections/postgresql-db-conn.js +185 -183
- package/dist/connections/postgresql-db-conn.js.map +1 -6
- package/dist/create-db-conn.d.ts +3 -3
- package/dist/create-db-conn.js +43 -27
- package/dist/create-db-conn.js.map +1 -6
- package/dist/create-orm.d.ts +18 -18
- package/dist/create-orm.js +62 -31
- package/dist/create-orm.js.map +1 -6
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -6
- package/dist/node-db-context-executor.d.ts +28 -28
- package/dist/node-db-context-executor.js +125 -117
- package/dist/node-db-context-executor.js.map +1 -6
- package/dist/types/db-conn.d.ts +37 -37
- package/dist/types/db-conn.js +26 -17
- package/dist/types/db-conn.js.map +1 -6
- package/package.json +9 -9
- package/src/connections/mssql-db-conn.ts +22 -22
- package/src/connections/mysql-db-conn.ts +27 -27
- package/src/connections/postgresql-db-conn.ts +16 -16
- package/src/create-db-conn.ts +7 -7
- package/src/create-orm.ts +21 -21
- package/src/index.ts +3 -3
- package/src/node-db-context-executor.ts +32 -32
- package/src/types/db-conn.ts +40 -40
package/src/create-orm.ts
CHANGED
|
@@ -8,26 +8,26 @@ import type { DbConnConfig } from "./types/db-conn";
|
|
|
8
8
|
import { NodeDbContextExecutor } from "./node-db-context-executor";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* ORM
|
|
11
|
+
* ORM 옵션
|
|
12
12
|
*
|
|
13
|
-
*
|
|
13
|
+
* DbConnConfig보다 우선하는 DbContext 옵션
|
|
14
14
|
*/
|
|
15
15
|
export interface OrmOptions {
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* 데이터베이스 이름 (DbConnConfig의 database 대신 사용)
|
|
18
18
|
*/
|
|
19
19
|
database?: string;
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* 스키마 이름 (MSSQL: dbo, PostgreSQL: public)
|
|
23
23
|
*/
|
|
24
24
|
schema?: string;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
* ORM
|
|
28
|
+
* ORM 인스턴스 타입
|
|
29
29
|
*
|
|
30
|
-
*
|
|
30
|
+
* createOrm에서 반환하는 객체의 타입
|
|
31
31
|
*/
|
|
32
32
|
export interface Orm<TDef extends DbContextDef<any, any, any>> {
|
|
33
33
|
readonly dbContextDef: TDef;
|
|
@@ -35,11 +35,11 @@ export interface Orm<TDef extends DbContextDef<any, any, any>> {
|
|
|
35
35
|
readonly options?: OrmOptions;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* 트랜잭션 내에서 콜백을 실행한다
|
|
39
39
|
*
|
|
40
|
-
* @param callback -
|
|
41
|
-
* @param isolationLevel -
|
|
42
|
-
* @returns
|
|
40
|
+
* @param callback - DB 연결 후 실행할 콜백
|
|
41
|
+
* @param isolationLevel - 트랜잭션 격리 수준
|
|
42
|
+
* @returns 콜백 결과
|
|
43
43
|
*/
|
|
44
44
|
connect<R>(
|
|
45
45
|
callback: (conn: DbContextInstance<TDef>) => Promise<R>,
|
|
@@ -47,19 +47,19 @@ export interface Orm<TDef extends DbContextDef<any, any, any>> {
|
|
|
47
47
|
): Promise<R>;
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* 트랜잭션 없이 콜백을 실행한다
|
|
51
51
|
*
|
|
52
|
-
* @param callback -
|
|
53
|
-
* @returns
|
|
52
|
+
* @param callback - DB 연결 후 실행할 콜백
|
|
53
|
+
* @returns 콜백 결과
|
|
54
54
|
*/
|
|
55
55
|
connectWithoutTransaction<R>(callback: (conn: DbContextInstance<TDef>) => Promise<R>): Promise<R>;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
|
-
* Node.js ORM
|
|
59
|
+
* Node.js ORM 팩토리 함수
|
|
60
60
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
61
|
+
* DbContext와 DB 연결을 관리하는 인스턴스를 생성한다.
|
|
62
|
+
* DbContext 정의와 연결 설정을 받아 트랜잭션을 관리한다.
|
|
63
63
|
*
|
|
64
64
|
* @example
|
|
65
65
|
* ```typescript
|
|
@@ -76,13 +76,13 @@ export interface Orm<TDef extends DbContextDef<any, any, any>> {
|
|
|
76
76
|
* database: "mydb",
|
|
77
77
|
* });
|
|
78
78
|
*
|
|
79
|
-
* //
|
|
79
|
+
* // 트랜잭션 내에서 실행
|
|
80
80
|
* await orm.connect(async (db) => {
|
|
81
81
|
* const users = await db.user().execute();
|
|
82
82
|
* return users;
|
|
83
83
|
* });
|
|
84
84
|
*
|
|
85
|
-
* //
|
|
85
|
+
* // 트랜잭션 없이 실행
|
|
86
86
|
* await orm.connectWithoutTransaction(async (db) => {
|
|
87
87
|
* const users = await db.user().execute();
|
|
88
88
|
* return users;
|
|
@@ -95,13 +95,13 @@ export function createOrm<TDef extends DbContextDef<any, any, any>>(
|
|
|
95
95
|
options?: OrmOptions,
|
|
96
96
|
): Orm<TDef> {
|
|
97
97
|
function _createDbContext(): DbContextInstance<TDef> {
|
|
98
|
-
// database
|
|
98
|
+
// options의 database를 우선 사용, 없으면 config에서
|
|
99
99
|
const database = options?.database ?? ("database" in config ? config.database : undefined);
|
|
100
100
|
if (database == null || database === "") {
|
|
101
|
-
throw new Error("database
|
|
101
|
+
throw new Error("database는 필수입니다");
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
// schema
|
|
104
|
+
// options의 schema를 우선 사용, 없으면 config에서
|
|
105
105
|
const schema = options?.schema ?? ("schema" in config ? config.schema : undefined);
|
|
106
106
|
|
|
107
107
|
return createDbContext(dbContextDef, new NodeDbContextExecutor(config), {
|
package/src/index.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
//
|
|
1
|
+
// 타입
|
|
2
2
|
export * from "./types/db-conn";
|
|
3
3
|
|
|
4
|
-
//
|
|
4
|
+
// 연결
|
|
5
5
|
export * from "./connections/mssql-db-conn";
|
|
6
6
|
export * from "./connections/mysql-db-conn";
|
|
7
7
|
export * from "./connections/postgresql-db-conn";
|
|
8
8
|
|
|
9
|
-
//
|
|
9
|
+
// 코어
|
|
10
10
|
export * from "./create-db-conn";
|
|
11
11
|
export * from "./node-db-context-executor";
|
|
12
12
|
export * from "./create-orm";
|
|
@@ -14,9 +14,9 @@ import { DB_CONN_ERRORS, getDialectFromConfig } from "./types/db-conn";
|
|
|
14
14
|
import { createDbConn } from "./create-db-conn";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Node.js 환경용 DbContextExecutor
|
|
18
18
|
*
|
|
19
|
-
*
|
|
19
|
+
* DbContext에서 사용하는 실제 DB 연결을 처리하는 실행자.
|
|
20
20
|
*/
|
|
21
21
|
export class NodeDbContextExecutor implements DbContextExecutor {
|
|
22
22
|
private _conn?: DbConn;
|
|
@@ -27,7 +27,7 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* DB 연결을 수립한다
|
|
31
31
|
*/
|
|
32
32
|
async connect(): Promise<void> {
|
|
33
33
|
this._conn = await createDbConn(this._config);
|
|
@@ -35,9 +35,9 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* DB 연결을 종료한다
|
|
39
39
|
*
|
|
40
|
-
* @throws {Error}
|
|
40
|
+
* @throws {Error} 연결되지 않은 경우
|
|
41
41
|
*/
|
|
42
42
|
async close(): Promise<void> {
|
|
43
43
|
const conn = this._requireConn();
|
|
@@ -46,10 +46,10 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* 트랜잭션을 시작한다
|
|
50
50
|
*
|
|
51
|
-
* @param isolationLevel -
|
|
52
|
-
* @throws {Error}
|
|
51
|
+
* @param isolationLevel - 트랜잭션 격리 수준
|
|
52
|
+
* @throws {Error} 연결되지 않은 경우
|
|
53
53
|
*/
|
|
54
54
|
async beginTransaction(isolationLevel?: IsolationLevel): Promise<void> {
|
|
55
55
|
const conn = this._requireConn();
|
|
@@ -57,9 +57,9 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
|
-
*
|
|
60
|
+
* 트랜잭션을 커밋한다
|
|
61
61
|
*
|
|
62
|
-
* @throws {Error}
|
|
62
|
+
* @throws {Error} 연결되지 않은 경우
|
|
63
63
|
*/
|
|
64
64
|
async commitTransaction(): Promise<void> {
|
|
65
65
|
const conn = this._requireConn();
|
|
@@ -67,9 +67,9 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
|
-
*
|
|
70
|
+
* 트랜잭션을 롤백한다
|
|
71
71
|
*
|
|
72
|
-
* @throws {Error}
|
|
72
|
+
* @throws {Error} 연결되지 않은 경우
|
|
73
73
|
*/
|
|
74
74
|
async rollbackTransaction(): Promise<void> {
|
|
75
75
|
const conn = this._requireConn();
|
|
@@ -77,12 +77,12 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* 파라미터화된 쿼리를 실행한다
|
|
81
81
|
*
|
|
82
|
-
* @param query - SQL
|
|
83
|
-
* @param params -
|
|
84
|
-
* @returns
|
|
85
|
-
* @throws {Error}
|
|
82
|
+
* @param query - SQL 쿼리 문자열
|
|
83
|
+
* @param params - 쿼리 파라미터 배열
|
|
84
|
+
* @returns 쿼리 결과 배열
|
|
85
|
+
* @throws {Error} 연결되지 않은 경우
|
|
86
86
|
*/
|
|
87
87
|
async executeParametrized(
|
|
88
88
|
query: string,
|
|
@@ -93,12 +93,12 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
|
-
*
|
|
96
|
+
* 대량 데이터 삽입 (네이티브 bulk API 사용)
|
|
97
97
|
*
|
|
98
|
-
* @param tableName -
|
|
99
|
-
* @param columnMetas -
|
|
100
|
-
* @param records -
|
|
101
|
-
* @throws {Error}
|
|
98
|
+
* @param tableName - 대상 테이블 이름
|
|
99
|
+
* @param columnMetas - 컬럼 메타데이터
|
|
100
|
+
* @param records - 삽입할 레코드 배열
|
|
101
|
+
* @throws {Error} 연결되지 않은 경우
|
|
102
102
|
*/
|
|
103
103
|
async bulkInsert(
|
|
104
104
|
tableName: string,
|
|
@@ -110,14 +110,14 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
/**
|
|
113
|
-
*
|
|
113
|
+
* QueryDef 배열을 실행한다
|
|
114
114
|
*
|
|
115
|
-
*
|
|
115
|
+
* QueryDef를 SQL로 변환하여 실행하고, ResultMeta를 사용하여 결과를 파싱한다.
|
|
116
116
|
*
|
|
117
|
-
* @param defs - QueryDef
|
|
118
|
-
* @param resultMetas -
|
|
119
|
-
* @returns
|
|
120
|
-
* @throws {Error}
|
|
117
|
+
* @param defs - 실행할 QueryDef 배열
|
|
118
|
+
* @param resultMetas - 결과 파싱 메타데이터 배열 (타입 변환에 사용)
|
|
119
|
+
* @returns 각 QueryDef의 실행 결과 배열
|
|
120
|
+
* @throws {Error} 연결되지 않은 경우
|
|
121
121
|
*/
|
|
122
122
|
async executeDefs<T = DataRecord>(
|
|
123
123
|
defs: QueryDef[],
|
|
@@ -127,15 +127,15 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
127
127
|
|
|
128
128
|
const builder = createQueryBuilder(this._dialect);
|
|
129
129
|
|
|
130
|
-
//
|
|
131
|
-
//
|
|
130
|
+
// 데이터를 가져올 필요가 없도록 설정된 경우, 단일 쿼리로 한 번의 요청을 보낸다
|
|
131
|
+
// 결과가 필요 없으므로 인터페이스 계약을 유지하기 위해 defs.length에 맞는 빈 배열을 반환
|
|
132
132
|
if (resultMetas != null && resultMetas.every((item) => item == null)) {
|
|
133
133
|
const combinedSql = defs.map((def) => builder.build(def).sql).join("\n");
|
|
134
134
|
await conn.execute([combinedSql]);
|
|
135
135
|
return defs.map(() => []) as T[][];
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
//
|
|
138
|
+
// 각 def를 개별적으로 실행
|
|
139
139
|
const results: T[][] = [];
|
|
140
140
|
for (let i = 0; i < defs.length; i++) {
|
|
141
141
|
const def = defs[i];
|
|
@@ -144,7 +144,7 @@ export class NodeDbContextExecutor implements DbContextExecutor {
|
|
|
144
144
|
|
|
145
145
|
const rawResults = await conn.execute([buildResult.sql]);
|
|
146
146
|
|
|
147
|
-
//
|
|
147
|
+
// resultSetIndex가 지정된 경우 해당 인덱스의 결과 집합을 사용
|
|
148
148
|
const targetResultSet =
|
|
149
149
|
buildResult.resultSetIndex != null ? rawResults[buildResult.resultSetIndex] : rawResults[0];
|
|
150
150
|
|
package/src/types/db-conn.ts
CHANGED
|
@@ -2,112 +2,112 @@ import type { EventEmitter } from "@simplysm/core-common";
|
|
|
2
2
|
import type { ColumnMeta, Dialect, IsolationLevel } from "@simplysm/orm-common";
|
|
3
3
|
|
|
4
4
|
// ============================================
|
|
5
|
-
//
|
|
5
|
+
// 공통 상수
|
|
6
6
|
// ============================================
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* DB
|
|
9
|
+
* DB 연결 수립 타임아웃 (10초)
|
|
10
10
|
*/
|
|
11
11
|
export const DB_CONN_CONNECT_TIMEOUT = 10 * 1000;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* DB
|
|
14
|
+
* DB 쿼리 기본 타임아웃 (10분)
|
|
15
15
|
*/
|
|
16
16
|
export const DB_CONN_DEFAULT_TIMEOUT = 10 * 60 * 1000;
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
* DB
|
|
19
|
+
* DB 연결 오류 메시지
|
|
20
20
|
*/
|
|
21
21
|
export const DB_CONN_ERRORS = {
|
|
22
|
-
NOT_CONNECTED: "'Connection'
|
|
23
|
-
ALREADY_CONNECTED: "'Connection'
|
|
22
|
+
NOT_CONNECTED: "'Connection'이 연결되어 있지 않습니다.",
|
|
23
|
+
ALREADY_CONNECTED: "'Connection'이 이미 연결되어 있습니다.",
|
|
24
24
|
} as const;
|
|
25
25
|
|
|
26
26
|
// ============================================
|
|
27
|
-
// IDbConn
|
|
27
|
+
// IDbConn 인터페이스
|
|
28
28
|
// ============================================
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* 저수준 DB 연결 인터페이스
|
|
32
32
|
*
|
|
33
|
-
*
|
|
34
|
-
* - {@link MysqlDbConn} - MySQL
|
|
35
|
-
* - {@link MssqlDbConn} - MSSQL
|
|
36
|
-
* - {@link PostgresqlDbConn} - PostgreSQL
|
|
33
|
+
* 각 DBMS 구현체가 이 인터페이스를 구현한다.
|
|
34
|
+
* - {@link MysqlDbConn} - MySQL 연결
|
|
35
|
+
* - {@link MssqlDbConn} - MSSQL 연결
|
|
36
|
+
* - {@link PostgresqlDbConn} - PostgreSQL 연결
|
|
37
37
|
*
|
|
38
38
|
* @remarks
|
|
39
|
-
*
|
|
39
|
+
* EventEmitter를 상속하며 'close' 이벤트를 발생시킨다.
|
|
40
40
|
*/
|
|
41
41
|
export interface DbConn extends EventEmitter<{ close: void }> {
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* 연결 설정
|
|
44
44
|
*/
|
|
45
45
|
config: DbConnConfig;
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* 연결 여부
|
|
49
49
|
*/
|
|
50
50
|
isConnected: boolean;
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
53
|
+
* 트랜잭션 진행 여부
|
|
54
54
|
*/
|
|
55
55
|
isInTransaction: boolean;
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* DB 연결을 수립한다
|
|
59
59
|
*/
|
|
60
60
|
connect(): Promise<void>;
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
63
|
+
* DB 연결을 종료한다
|
|
64
64
|
*/
|
|
65
65
|
close(): Promise<void>;
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
68
|
+
* 트랜잭션을 시작한다
|
|
69
69
|
*
|
|
70
|
-
* @param isolationLevel -
|
|
70
|
+
* @param isolationLevel - 격리 수준 (선택사항)
|
|
71
71
|
*/
|
|
72
72
|
beginTransaction(isolationLevel?: IsolationLevel): Promise<void>;
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
|
-
*
|
|
75
|
+
* 트랜잭션을 커밋한다
|
|
76
76
|
*/
|
|
77
77
|
commitTransaction(): Promise<void>;
|
|
78
78
|
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* 트랜잭션을 롤백한다
|
|
81
81
|
*/
|
|
82
82
|
rollbackTransaction(): Promise<void>;
|
|
83
83
|
|
|
84
84
|
/**
|
|
85
|
-
*
|
|
85
|
+
* SQL 쿼리 배열을 실행한다
|
|
86
86
|
*
|
|
87
|
-
* @param queries - SQL
|
|
88
|
-
* @returns
|
|
87
|
+
* @param queries - 실행할 SQL 문자열 배열
|
|
88
|
+
* @returns 각 쿼리의 결과 배열
|
|
89
89
|
*/
|
|
90
90
|
execute(queries: string[]): Promise<Record<string, unknown>[][]>;
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
93
|
+
* 파라미터화된 쿼리를 실행한다
|
|
94
94
|
*
|
|
95
|
-
* @param query - SQL
|
|
96
|
-
* @param params -
|
|
97
|
-
* @returns
|
|
95
|
+
* @param query - SQL 쿼리 문자열
|
|
96
|
+
* @param params - 바인딩 파라미터 (선택사항)
|
|
97
|
+
* @returns 결과 배열
|
|
98
98
|
*/
|
|
99
99
|
executeParametrized(query: string, params?: unknown[]): Promise<Record<string, unknown>[][]>;
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
|
-
* Bulk INSERT (
|
|
102
|
+
* Bulk INSERT (네이티브 bulk API 사용)
|
|
103
103
|
*
|
|
104
104
|
* - MSSQL: tedious BulkLoad
|
|
105
|
-
* - MySQL: LOAD DATA LOCAL INFILE (
|
|
105
|
+
* - MySQL: LOAD DATA LOCAL INFILE (임시 파일)
|
|
106
106
|
* - PostgreSQL: COPY FROM STDIN
|
|
107
107
|
*
|
|
108
|
-
* @param tableName -
|
|
109
|
-
* @param columnMetas -
|
|
110
|
-
* @param records -
|
|
108
|
+
* @param tableName - 테이블 이름 (database.table 또는 database.schema.table)
|
|
109
|
+
* @param columnMetas - 컬럼 이름 → ColumnMeta 매핑
|
|
110
|
+
* @param records - 삽입할 레코드 배열
|
|
111
111
|
*/
|
|
112
112
|
bulkInsert(
|
|
113
113
|
tableName: string,
|
|
@@ -117,16 +117,16 @@ export interface DbConn extends EventEmitter<{ close: void }> {
|
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
// ============================================
|
|
120
|
-
// DbConnConfig
|
|
120
|
+
// DbConnConfig 타입
|
|
121
121
|
// ============================================
|
|
122
122
|
|
|
123
123
|
/**
|
|
124
|
-
* DB
|
|
124
|
+
* DB 연결 설정 타입 (dialect별 분기)
|
|
125
125
|
*/
|
|
126
126
|
export type DbConnConfig = MysqlDbConnConfig | MssqlDbConnConfig | PostgresqlDbConnConfig;
|
|
127
127
|
|
|
128
128
|
/**
|
|
129
|
-
* MySQL
|
|
129
|
+
* MySQL 연결 설정
|
|
130
130
|
*/
|
|
131
131
|
export interface MysqlDbConnConfig {
|
|
132
132
|
dialect: "mysql";
|
|
@@ -139,7 +139,7 @@ export interface MysqlDbConnConfig {
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
/**
|
|
142
|
-
* MSSQL
|
|
142
|
+
* MSSQL 연결 설정
|
|
143
143
|
*/
|
|
144
144
|
export interface MssqlDbConnConfig {
|
|
145
145
|
dialect: "mssql" | "mssql-azure";
|
|
@@ -153,7 +153,7 @@ export interface MssqlDbConnConfig {
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
/**
|
|
156
|
-
* PostgreSQL
|
|
156
|
+
* PostgreSQL 연결 설정
|
|
157
157
|
*/
|
|
158
158
|
export interface PostgresqlDbConnConfig {
|
|
159
159
|
dialect: "postgresql";
|
|
@@ -167,7 +167,7 @@ export interface PostgresqlDbConnConfig {
|
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
/**
|
|
170
|
-
*
|
|
170
|
+
* DbConnConfig에서 Dialect를 추출한다
|
|
171
171
|
*/
|
|
172
172
|
export function getDialectFromConfig(config: DbConnConfig): Dialect {
|
|
173
173
|
if (config.dialect === "mssql-azure") {
|