fix(local): sqlite3.db/redka.db 与 aiops 二进制同级存放
- local 模式默认库文件改为 ./sqlite3.db,不再使用 data/ 子目录 - redka 缓存改为 ./redka.db,与可执行文件同目录
This commit is contained in:
1 parent
e7a479ccf5
commit
d27a2e6cbe
5 files changed
+15
-13
No files matched your search
+5
-1
@@ -19,9 +19,13 @@ backend/vendor/
|
|||||||
|
|
||||||
# Compiled binary
|
# Compiled binary
|
||||||
aiops
|
aiops
|
||||||
|
sqlite3.db
|
||||||
|
sqlite3.db-*
|
||||||
|
redka.db
|
||||||
|
redka.db-*
|
||||||
backend/aiops-server
|
backend/aiops-server
|
||||||
backend/aiops
|
backend/aiops
|
||||||
data/
|
backend/data/
|
||||||
|
|
||||||
# Config (keep backend/config.yaml as default)
|
# Config (keep backend/config.yaml as default)
|
||||||
config.local.yaml
|
config.local.yaml
|
||||||
|
|||||||
+3
-3
@@ -138,7 +138,7 @@ func main() {
|
|||||||
Port: cfg.Redis.Port,
|
Port: cfg.Redis.Port,
|
||||||
Password: cfg.Redis.Password,
|
Password: cfg.Redis.Password,
|
||||||
DB: cfg.Redis.DB,
|
DB: cfg.Redis.DB,
|
||||||
DataDir: appdir.Resolve("data/redka"),
|
DataDir: appdir.Root(),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if cfg.Mode == "local" {
|
if cfg.Mode == "local" {
|
||||||
@@ -256,7 +256,7 @@ func loadConfig() *config.Config {
|
|||||||
viper.SetDefault("database.port", 3306)
|
viper.SetDefault("database.port", 3306)
|
||||||
viper.SetDefault("database.user", "")
|
viper.SetDefault("database.user", "")
|
||||||
viper.SetDefault("database.password", "")
|
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.charset", "utf8mb4")
|
||||||
viper.SetDefault("database.max_conn", 100)
|
viper.SetDefault("database.max_conn", 100)
|
||||||
viper.SetDefault("database.max_idle", 10)
|
viper.SetDefault("database.max_idle", 10)
|
||||||
@@ -326,7 +326,7 @@ func applyLocalMode() {
|
|||||||
viper.Set("database.driver", "sqlite")
|
viper.Set("database.driver", "sqlite")
|
||||||
}
|
}
|
||||||
if !isFlagSet("db-name") {
|
if !isFlagSet("db-name") {
|
||||||
viper.Set("database.dbname", "data/sqlite3.db")
|
viper.Set("database.dbname", "sqlite3.db")
|
||||||
}
|
}
|
||||||
if !isFlagSet("redis-driver") {
|
if !isFlagSet("redis-driver") {
|
||||||
viper.Set("redis.driver", "redka")
|
viper.Set("redis.driver", "redka")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
// Port: 6379,
|
// Port: 6379,
|
||||||
// Password: "",
|
// Password: "",
|
||||||
// DB: 0,
|
// DB: 0,
|
||||||
// DataDir: "data/redka", // redka 数据目录(仅 redka 驱动使用)
|
// DataDir: ".", // redka.db 存放目录(默认可执行文件同级)// Logan.Li
|
||||||
// })
|
// })
|
||||||
//
|
//
|
||||||
// cache.Set(ctx, "key", "value", 0)
|
// cache.Set(ctx, "key", "value", 0)
|
||||||
|
|||||||
@@ -20,12 +20,11 @@ type redkaCache struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func newRedka(cfg Config) (Cache, error) {
|
func newRedka(cfg Config) (Cache, error) {
|
||||||
|
// redka.db 与独立二进制同级存放 // Logan.Li
|
||||||
dataDir := cfg.DataDir
|
dataDir := cfg.DataDir
|
||||||
if dataDir == "" {
|
if dataDir == "" {
|
||||||
dataDir = "data/redka"
|
dataDir = "."
|
||||||
}
|
}
|
||||||
|
|
||||||
// 确保数据目录存在(redka 不会自动创建父目录)// Logan.Li
|
|
||||||
if err := os.MkdirAll(dataDir, 0o755); err != nil {
|
if err := os.MkdirAll(dataDir, 0o755); err != nil {
|
||||||
return nil, fmt.Errorf("redka: 创建数据目录失败: %w", err)
|
return nil, fmt.Errorf("redka: 创建数据目录失败: %w", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ FRONTEND_PID_FILE="$SCRIPT_DIR/$FRONTEND_DIR/.frontend.pid"
|
|||||||
STANDALONE_BIN_PATH="$SCRIPT_DIR/$STANDALONE_BIN"
|
STANDALONE_BIN_PATH="$SCRIPT_DIR/$STANDALONE_BIN"
|
||||||
BINARY_PID_FILE="$SCRIPT_DIR/.aiops.pid"
|
BINARY_PID_FILE="$SCRIPT_DIR/.aiops.pid"
|
||||||
BINARY_ARGS_FILE="$SCRIPT_DIR/.aiops.args"
|
BINARY_ARGS_FILE="$SCRIPT_DIR/.aiops.args"
|
||||||
DATA_DIR="$SCRIPT_DIR/data"
|
|
||||||
LOGS_DIR="$SCRIPT_DIR/logs"
|
LOGS_DIR="$SCRIPT_DIR/logs"
|
||||||
|
|
||||||
# 检测操作系统
|
# 检测操作系统
|
||||||
@@ -396,7 +395,7 @@ database:
|
|||||||
port: 3306
|
port: 3306
|
||||||
user: ""
|
user: ""
|
||||||
password: ""
|
password: ""
|
||||||
dbname: "data/sqlite3.db"
|
dbname: "sqlite3.db"
|
||||||
charset: "utf8mb4"
|
charset: "utf8mb4"
|
||||||
max_conn: 100
|
max_conn: 100
|
||||||
max_idle: 10
|
max_idle: 10
|
||||||
@@ -534,7 +533,7 @@ start_binary_daemon() {
|
|||||||
local port
|
local port
|
||||||
port=$(binary_listen_port "${args[@]}")
|
port=$(binary_listen_port "${args[@]}")
|
||||||
cd "$SCRIPT_DIR"
|
cd "$SCRIPT_DIR"
|
||||||
mkdir -p "$DATA_DIR" "$LOGS_DIR" uploads
|
mkdir -p "$LOGS_DIR" uploads
|
||||||
rotate_log "$LOGS_DIR/aiops.log"
|
rotate_log "$LOGS_DIR/aiops.log"
|
||||||
stop_binary_process "$port"
|
stop_binary_process "$port"
|
||||||
nohup ./"$STANDALONE_BIN" "${args[@]}" >> "$LOGS_DIR/aiops.log" 2>&1 &
|
nohup ./"$STANDALONE_BIN" "${args[@]}" >> "$LOGS_DIR/aiops.log" 2>&1 &
|
||||||
@@ -543,7 +542,7 @@ start_binary_daemon() {
|
|||||||
if wait_binary_ready "$port"; then
|
if wait_binary_ready "$port"; then
|
||||||
success "二进制已启动 (PID: $(cat "$BINARY_PID_FILE"), 端口: $port)"
|
success "二进制已启动 (PID: $(cat "$BINARY_PID_FILE"), 端口: $port)"
|
||||||
info "日志: $LOGS_DIR/aiops.log"
|
info "日志: $LOGS_DIR/aiops.log"
|
||||||
info "数据: $DATA_DIR/"
|
info "数据: $SCRIPT_DIR/sqlite3.db, $SCRIPT_DIR/redka.db"
|
||||||
verify_binary_version "$port" || true
|
verify_binary_version "$port" || true
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@@ -825,7 +824,7 @@ cmd_binary() {
|
|||||||
build_standalone_binary || exit 1
|
build_standalone_binary || exit 1
|
||||||
fi
|
fi
|
||||||
banner "========== 前台启动独立二进制 =========="
|
banner "========== 前台启动独立二进制 =========="
|
||||||
mkdir -p "$DATA_DIR" "$LOGS_DIR" uploads
|
mkdir -p "$LOGS_DIR" uploads
|
||||||
if [ $# -gt 0 ]; then
|
if [ $# -gt 0 ]; then
|
||||||
save_binary_args "$@"
|
save_binary_args "$@"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in new issue
Block a user