fix(build): 独立二进制输出到根目录并修复 local 模式 SQLite 路径
- SQLite/redka 数据目录相对可执行文件解析,自动创建 data/ 父目录 - ./run.sh build 产物改为 ./aiops(与 run.sh 同级),数据/日志在 ./data ./logs - 解决从项目根执行时 data/ 不存在导致的 SQLite CANTOPEN 报错
This commit is contained in:
1 parent
fd7b04b9d6
commit
e7a479ccf5
5 files changed
+88
-31
No files matched your search
+9
-1
@@ -7,6 +7,7 @@ import (
|
||||
"net/http"
|
||||
"os"
|
||||
"os/signal"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
@@ -14,6 +15,7 @@ import (
|
||||
"ezops/router"
|
||||
"ezops/config"
|
||||
"ezops/seed"
|
||||
"ezops/pkg/appdir"
|
||||
"ezops/pkg/database"
|
||||
"ezops/pkg/logger"
|
||||
ezredis "ezops/pkg/redis"
|
||||
@@ -136,7 +138,7 @@ func main() {
|
||||
Port: cfg.Redis.Port,
|
||||
Password: cfg.Redis.Password,
|
||||
DB: cfg.Redis.DB,
|
||||
DataDir: "data/redka",
|
||||
DataDir: appdir.Resolve("data/redka"),
|
||||
})
|
||||
if err != nil {
|
||||
if cfg.Mode == "local" {
|
||||
@@ -237,6 +239,7 @@ func loadConfig() *config.Config {
|
||||
viper.SetConfigType("yaml")
|
||||
viper.AddConfigPath("./configs")
|
||||
viper.AddConfigPath(".")
|
||||
viper.AddConfigPath(appdir.Root())
|
||||
|
||||
// 如果指定了配置文件路径,使用它 // Logan.Li
|
||||
if *flagConfig != "" {
|
||||
@@ -295,6 +298,11 @@ func loadConfig() *config.Config {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// SQLite / redka 相对路径统一解析到可执行文件目录 // Logan.Li
|
||||
if cfg.Database.Driver == "sqlite" && cfg.Database.DBName != "" && !filepath.IsAbs(cfg.Database.DBName) {
|
||||
cfg.Database.DBName = appdir.Resolve(cfg.Database.DBName)
|
||||
}
|
||||
|
||||
return &cfg
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user