setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); // SQLITE 특화 설정: WAL 모드 활성화 및 외래 키 ON $db->exec("PRAGMA journal_mode=WAL;"); $db->exec("PRAGMA foreign_keys=ON;"); $db->exec("PRAGMA busy_timeout=5000;"); // SQLite 동시성 최적화 // [중요] 시스템 설정 테이블 자동 생성 및 기본값 보정 $db->exec("CREATE TABLE IF NOT EXISTS system_settings ( key_name TEXT PRIMARY KEY, value TEXT )"); // 초기 기본값 삽입 (이미 존재하면 무시) $db->exec("INSERT OR IGNORE INTO system_settings (key_name, value) VALUES ('menu_cards_visible', '1')"); $db->exec("INSERT OR IGNORE INTO system_settings (key_name, value) VALUES ('menu_mfp_visible', '1')"); } catch (PDOException $e) { die("Database Connection Failed: " . $e->getMessage()); }