From d27a2e6cbea683a8461a67b148e794e995ac9bbe Mon Sep 17 00:00:00 2001 From: "Logan.Li" Date: Fri, 26 Jun 2026 16:16:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(local):=20sqlite3.db/redka.db=20=E4=B8=8E?= =?UTF-8?q?=20aiops=20=E4=BA=8C=E8=BF=9B=E5=88=B6=E5=90=8C=E7=BA=A7?= =?UTF-8?q?=E5=AD=98=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - local 模式默认库文件改为 ./sqlite3.db,不再使用 data/ 子目录 - redka 缓存改为 ./redka.db,与可执行文件同目录 --- .gitignore | 6 +++++- backend/main.go | 6 +++--- backend/pkg/redis/redis.go | 2 +- backend/pkg/redis/redka.go | 5 ++--- run.sh | 9 ++++----- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 58324f8..9e8f4ec 100644 --- a/.gitignore +++ b/.gitignore @@ -19,9 +19,13 @@ backend/vendor/ # Compiled binary aiops +sqlite3.db +sqlite3.db-* +redka.db +redka.db-* backend/aiops-server backend/aiops -data/ +backend/data/ # Config (keep backend/config.yaml as default) config.local.yaml diff --git a/backend/main.go b/backend/main.go index e89077b..021c7b3 100644 --- a/backend/main.go +++ b/backend/main.go @@ -138,7 +138,7 @@ func main() { Port: cfg.Redis.Port, Password: cfg.Redis.Password, DB: cfg.Redis.DB, - DataDir: appdir.Resolve("data/redka"), + DataDir: appdir.Root(), }) if err != nil { if cfg.Mode == "local" { @@ -256,7 +256,7 @@ func loadConfig() *config.Config { viper.SetDefault("database.port", 3306) viper.SetDefault("database.user", "") viper.SetDefault("database.password", "") - viper.SetDefault("database.dbname", "data/aiops.db") + viper.SetDefault("database.dbname", "sqlite3.db") viper.SetDefault("database.charset", "utf8mb4") viper.SetDefault("database.max_conn", 100) viper.SetDefault("database.max_idle", 10) @@ -326,7 +326,7 @@ func applyLocalMode() { viper.Set("database.driver", "sqlite") } if !isFlagSet("db-name") { - viper.Set("database.dbname", "data/sqlite3.db") + viper.Set("database.dbname", "sqlite3.db") } if !isFlagSet("redis-driver") { viper.Set("redis.driver", "redka") diff --git a/backend/pkg/redis/redis.go b/backend/pkg/redis/redis.go index f5dc937..84edf57 100644 --- a/backend/pkg/redis/redis.go +++ b/backend/pkg/redis/redis.go @@ -11,7 +11,7 @@ // Port: 6379, // Password: "", // DB: 0, -// DataDir: "data/redka", // redka 数据目录(仅 redka 驱动使用) +// DataDir: ".", // redka.db 存放目录(默认可执行文件同级)// Logan.Li // }) // // cache.Set(ctx, "key", "value", 0) diff --git a/backend/pkg/redis/redka.go b/backend/pkg/redis/redka.go index 977bfd1..bec9e04 100644 --- a/backend/pkg/redis/redka.go +++ b/backend/pkg/redis/redka.go @@ -20,12 +20,11 @@ type redkaCache struct { } func newRedka(cfg Config) (Cache, error) { + // redka.db 与独立二进制同级存放 // Logan.Li dataDir := cfg.DataDir if dataDir == "" { - dataDir = "data/redka" + dataDir = "." } - - // 确保数据目录存在(redka 不会自动创建父目录)// Logan.Li if err := os.MkdirAll(dataDir, 0o755); err != nil { return nil, fmt.Errorf("redka: 创建数据目录失败: %w", err) } diff --git a/run.sh b/run.sh index 21bf2a5..333826a 100755 --- a/run.sh +++ b/run.sh @@ -64,7 +64,6 @@ FRONTEND_PID_FILE="$SCRIPT_DIR/$FRONTEND_DIR/.frontend.pid" STANDALONE_BIN_PATH="$SCRIPT_DIR/$STANDALONE_BIN" BINARY_PID_FILE="$SCRIPT_DIR/.aiops.pid" BINARY_ARGS_FILE="$SCRIPT_DIR/.aiops.args" -DATA_DIR="$SCRIPT_DIR/data" LOGS_DIR="$SCRIPT_DIR/logs" # 检测操作系统 @@ -396,7 +395,7 @@ database: port: 3306 user: "" password: "" - dbname: "data/sqlite3.db" + dbname: "sqlite3.db" charset: "utf8mb4" max_conn: 100 max_idle: 10 @@ -534,7 +533,7 @@ start_binary_daemon() { local port port=$(binary_listen_port "${args[@]}") cd "$SCRIPT_DIR" - mkdir -p "$DATA_DIR" "$LOGS_DIR" uploads + mkdir -p "$LOGS_DIR" uploads rotate_log "$LOGS_DIR/aiops.log" stop_binary_process "$port" nohup ./"$STANDALONE_BIN" "${args[@]}" >> "$LOGS_DIR/aiops.log" 2>&1 & @@ -543,7 +542,7 @@ start_binary_daemon() { if wait_binary_ready "$port"; then success "二进制已启动 (PID: $(cat "$BINARY_PID_FILE"), 端口: $port)" info "日志: $LOGS_DIR/aiops.log" - info "数据: $DATA_DIR/" + info "数据: $SCRIPT_DIR/sqlite3.db, $SCRIPT_DIR/redka.db" verify_binary_version "$port" || true return 0 fi @@ -825,7 +824,7 @@ cmd_binary() { build_standalone_binary || exit 1 fi banner "========== 前台启动独立二进制 ==========" - mkdir -p "$DATA_DIR" "$LOGS_DIR" uploads + mkdir -p "$LOGS_DIR" uploads if [ $# -gt 0 ]; then save_binary_args "$@" fi