Skip to content

Commit 0cd3263

Browse files
committed
Define test query statements for each DB adapter
1 parent bc6772c commit 0cd3263

6 files changed

Lines changed: 28 additions & 3 deletions

File tree

src/database/MSSQLAdapter.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,11 @@ class MSSQLAdapter {
181181
getType() {
182182
return this.dbType;
183183
}
184+
185+
/** 연결 테스트용 쿼리 */
186+
getTestQuery() {
187+
return 'SELECT 1 as test';
188+
}
184189
}
185190

186191
module.exports = MSSQLAdapter;

src/database/MySQLAdapter.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,11 @@ class MySQLAdapter {
212212
getType() {
213213
return this.dbType;
214214
}
215+
216+
/** 연결 테스트용 쿼리 */
217+
getTestQuery() {
218+
return 'SELECT 1 as test';
219+
}
215220
}
216221

217222
module.exports = MySQLAdapter;

src/database/OracleAdapter.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,11 @@ class OracleAdapter {
181181

182182
/** DB 타입 */
183183
getType() { return this.dbType; }
184+
185+
/** 연결 테스트용 쿼리 */
186+
getTestQuery() {
187+
return 'SELECT 1 FROM dual';
188+
}
184189
}
185190

186191
module.exports = OracleAdapter;

src/database/PostgreSQLAdapter.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,11 @@ class PostgreSQLAdapter {
218218
getType() {
219219
return this.dbType;
220220
}
221+
222+
/** 연결 테스트용 쿼리 */
223+
getTestQuery() {
224+
return 'SELECT 1';
225+
}
221226
}
222227

223228
module.exports = PostgreSQLAdapter;

src/database/SQLiteAdapter.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,11 @@ class SQLiteAdapter {
227227
getType() {
228228
return this.dbType;
229229
}
230+
231+
/** 연결 테스트용 쿼리 */
232+
getTestQuery() {
233+
return 'SELECT 1';
234+
}
230235
}
231236

232237
module.exports = SQLiteAdapter;

src/excel-cli.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,6 @@ function loadDatabaseConfig(configPath) {
350350
}
351351
}
352352

353-
// 데이터베이스 연결 테스트
354353
async function testDatabaseConnection(dbKey, dbConfig) {
355354
let connection = null;
356355
let adapter = null;
@@ -364,8 +363,9 @@ async function testDatabaseConnection(dbKey, dbConfig) {
364363
adapter = DatabaseFactory.createAdapter(dbType, dbConfig, LANGUAGE);
365364
connection = await adapter.createConnectionPool(dbConfig, dbKey);
366365

367-
// 연결 테스트 쿼리 실행
368-
await adapter.executeQuery(connection, 'SELECT 1 as test');
366+
// 연결 테스트 쿼리 실행 (각 Adapter에 정의된 테스트 쿼리 사용)
367+
const testSql = (typeof adapter.getTestQuery === 'function') ? adapter.getTestQuery() : 'SELECT 1 as test';
368+
await adapter.executeQuery(connection, testSql);
369369

370370
console.log(msg.dbConnectionSuccess.replace('{dbKey}', dbKey));
371371
return { success: true, message: msg.dbConnectionSuccess.replace('{dbKey}', '') };

0 commit comments

Comments
 (0)