Class DatabaseBootstrap
java.lang.Object
database.DatabaseBootstrap
開服前的資料庫自動準備(自動建庫 + 自動初始化)。
流程:
- 若目標資料庫不存在 →
CREATE DATABASE IF NOT EXISTS。 - 若資料庫缺少核心資料表(
accounts)→ 呼叫mysql.exe匯入初始化 SQL(預設sql/twms149_full.sql)。
呼叫時機(重要):必須在 server.Start.main() 的第一行、且在任何會
觸碰 ServerProperties / DatabaseConnection 的程式之前呼叫。原因:
ServerProperties 的 static 初始化會立刻查 auth_server_channel_ip,
DatabaseConnection 直接連到具名資料庫,兩者在「資料庫尚未建立」時都會失敗
(後者連不上、前者 System.exit(0))。因此本類別完全自包含:自行解析
settings.ini、自行用 JDBC 連到 server 層級(URL 不指定資料庫),不依賴上述任何
會提前觸發 DB 連線的類別。
本類別所讀的 settings.ini 鍵(沿用 DB 設定,另加兩個選用鍵)刻意不
經由 ServerProperties/ServerConstants,因為它必須在那兩者初始化「之前」
執行 —— 這是 CLAUDE.md「新 tunable 同時改 settings.ini 與 ServerConstants」規則的合理例外。
-
Method Summary
-
Method Details
-
ensureDatabaseReady
public static void ensureDatabaseReady()
-