fix: 캘린더 모달 중복 카드 문제 및 삭제 권한 개선
- monthly_worker_status 조회 시 GROUP BY로 중복 데이터 합산 - 작업보고서 삭제 권한을 그룹장 이상으로 제한 (admin, system, group_leader) - 중복 데이터 정리를 위한 마이그레이션 SQL 추가 (009_fix_duplicate_monthly_status.sql) - synology_deployment 버전에도 동일 수정 적용
This commit is contained in:
35
synology_deployment/api/db.js
Normal file
35
synology_deployment/api/db.js
Normal file
@@ -0,0 +1,35 @@
|
||||
require('dotenv').config();
|
||||
const mysql = require('mysql2/promise');
|
||||
const retry = require('async-retry');
|
||||
|
||||
// 초기화된 pool을 export 하기 위한 변수
|
||||
let pool = null;
|
||||
|
||||
const initPool = async () => {
|
||||
if (pool) return pool; // 이미 초기화된 경우 재사용
|
||||
|
||||
await retry(async () => {
|
||||
pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
port: process.env.DB_PORT || 3306,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASS,
|
||||
database: process.env.DB_NAME,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0
|
||||
});
|
||||
|
||||
const conn = await pool.getConnection();
|
||||
await conn.query('SET FOREIGN_KEY_CHECKS = 1');
|
||||
console.log(`✅ MariaDB 연결 성공: ${process.env.DB_HOST}:${process.env.DB_PORT || 3306}/${process.env.DB_NAME}`);
|
||||
conn.release();
|
||||
}, {
|
||||
retries: 10,
|
||||
minTimeout: 3000
|
||||
});
|
||||
|
||||
return pool;
|
||||
};
|
||||
|
||||
module.exports = initPool;
|
||||
Reference in New Issue
Block a user