브라우징 자동화에만 집중

This commit is contained in:
LHK
2025-10-14 17:58:58 +09:00
부모 51deb07fab
커밋 226eede3bf
25개의 변경된 파일5282개의 추가작업 그리고 3006개의 파일을 삭제

107
backup/setupDatabase.js Normal file
파일 보기

@@ -0,0 +1,107 @@
const fs = require('fs'); // 1. 파일 시스템 모듈 가져오기
const sqlite3 = require('sqlite3').verbose();
const path = require('path');
const dbPath = path.resolve(__dirname, 'data', 'database.sqlite');
// 2. 데이터베이스 파일이 이미 존재하는지 확인
if (fs.existsSync(dbPath)) {
console.log(`데이터베이스 파일이 이미 존재합니다. 초기화를 건너뜁니다: ${dbPath}`);
// 파일이 있으면 스크립트를 여기서 종료
return;
}
// --- 아래 코드는 파일이 없을 때만 실행됩니다 ---
console.log("새로운 데이터베이스 파일을 생성하고 초기화를 시작합니다...");
const db = new sqlite3.Database(dbPath, (err) => {
if (err) {
console.error("데이터베이스 연결 실패:", err.message);
} else {
console.log(`SQLite 데이터베이스에 성공적으로 연결되었습니다: ${dbPath}`);
}
});
// 테이블 생성을 순차적으로 실행
db.serialize(() => {
console.log("테이블 생성을 시작합니다...");
// 1. DOMAIN_LIST
db.run(`
CREATE TABLE DOMAIN_LIST (
DOMAIN_SEQ_ID INTEGER PRIMARY KEY,
DOMAIN_NM TEXT,
DOMAIN_ADDRS TEXT,
DOMAIN_DESC TEXT,
USE_YN TEXT DEFAULT 'Y',
RGST_DTTM TEXT
)
`, (err) => {
if (err) console.error("DOMAIN_LIST 테이블 생성 오류:", err.message);
else console.log("DOMAIN_LIST 테이블이 성공적으로 생성되었습니다.");
});
// 2. DOMAIN_ACCNT_LIST
db.run(`
CREATE TABLE DOMAIN_ACCNT_LIST (
DOMAIN_SEQ_ID INTEGER NOT NULL,
DOMAIN_ACCNT_ID TEXT NOT NULL,
DOMAIN_ACCNT_PSWRD TEXT,
LAST_ATNDNC_DTTM TEXT,
MESRMNT_STRT_TM INTEGER DEFAULT 8,
MESRMNT_END_TM INTEGER DEFAULT 20,
MESRMNT_TM_INCLSN_PRBLTY INTEGER DEFAULT 95,
ATNDNC_STRT_DTTM TEXT,
ATNDNC_STTS_CD TEXT,
DOMAIN_ACCNT_DESC TEXT,
USE_YN TEXT DEFAULT 'Y',
RGST_DTTM TEXT,
USER_AGENT TEXT,
PRIMARY KEY (DOMAIN_SEQ_ID, DOMAIN_ACCNT_ID)
)
`, (err) => {
if (err) console.error("DOMAIN_ACCNT_LIST 테이블 생성 오류:", err.message);
else console.log("DOMAIN_ACCNT_LIST 테이블이 성공적으로 생성되었습니다.");
});
// 3. ACT_LIST
db.run(`
CREATE TABLE ACT_LIST (
DOMAIN_SEQ_ID INTEGER NOT NULL,
ACT_ORD INTEGER NOT NULL,
ACT_TYP_CD TEXT,
ACT_DTL_JSON TEXT CHECK(json_valid(ACT_DTL_JSON)),
RETRY_YN TEXT,
RGST_DTTM TEXT,
PRIMARY KEY (DOMAIN_SEQ_ID, ACT_ORD)
)
`, (err) => {
if (err) console.error("ACT_LIST 테이블 생성 오류:", err.message);
else console.log("ACT_LIST 테이블이 성공적으로 생성되었습니다.");
});
// 4. ATNDNC_LOG
db.run(`
CREATE TABLE ATNDNC_LOG (
DOMAIN_SEQ_ID INTEGER NOT NULL,
DOMAIN_ACCNT_ID TEXT NOT NULL,
ATNDNC_DT TEXT NOT NULL,
LOG_SEQ_ID INTEGER NOT NULL,
LOG_MSG TEXT,
LOG_DTTM TEXT,
PRIMARY KEY (DOMAIN_SEQ_ID, DOMAIN_ACCNT_ID, ATNDNC_DT, LOG_SEQ_ID)
)
`, (err) => {
if (err) console.error("ATNDNC_LOG 테이블 생성 오류:", err.message);
else console.log("ATNDNC_LOG 테이블이 성공적으로 생성되었습니다.");
});
});
// 데이터베이스 연결 종료
db.close((err) => {
if (err) {
console.error("데이터베이스 연결 종료 실패:", err.message);
} else {
console.log("데이터베이스 초기화 및 연결 종료가 완료되었습니다.");
}
});