fix: 数据持久化到/app/data目录,简化部署配置
- 配置文件和SQLite数据库存储在/app/data - Docker volume持久化数据 - 无需预设环境变量,安装向导自动配置
This commit is contained in:
@@ -11,7 +11,6 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
"verification-platform-backend/internal/config"
|
||||
@@ -52,26 +51,18 @@ func initDatabase() {
|
||||
}
|
||||
|
||||
func initSQLite() {
|
||||
dbPath := "verification_platform.db"
|
||||
absPath, err := filepath.Abs(dbPath)
|
||||
if err != nil {
|
||||
log.Fatal("Failed to get absolute path:", err.Error())
|
||||
}
|
||||
|
||||
wd, err := os.Getwd()
|
||||
if err == nil && filepath.Base(wd) == "cmd" {
|
||||
absPath = filepath.Join(filepath.Dir(wd), "verification_platform.db")
|
||||
}
|
||||
dataDir := config.GetDataDir()
|
||||
dbPath := filepath.Join(dataDir, "verification_platform.db")
|
||||
|
||||
var errOpen error
|
||||
DB, errOpen = gorm.Open(sqlite.Open(absPath), &gorm.Config{
|
||||
DB, errOpen = gorm.Open(sqlite.Open(dbPath), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(logger.Silent),
|
||||
DisableForeignKeyConstraintWhenMigrating: true,
|
||||
})
|
||||
if errOpen != nil {
|
||||
log.Fatal("Failed to create SQLite database:", errOpen.Error())
|
||||
}
|
||||
log.Printf("Using SQLite database: %s\n", absPath)
|
||||
log.Printf("Using SQLite database: %s\n", dbPath)
|
||||
|
||||
if sqlDB, err := DB.DB(); err == nil {
|
||||
sqlDB.SetMaxIdleConns(10)
|
||||
@@ -132,27 +123,19 @@ func initAutoDetect() {
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
log.Println("Failed to connect to MySQL, using SQLite database for development:", err.Error())
|
||||
log.Println("Failed to connect to MySQL, using SQLite database:", err.Error())
|
||||
|
||||
dbPath := "verification_platform.db"
|
||||
absPath, err := filepath.Abs(dbPath)
|
||||
if err != nil {
|
||||
log.Fatal("Failed to get absolute path:", err.Error())
|
||||
}
|
||||
dataDir := config.GetDataDir()
|
||||
dbPath := filepath.Join(dataDir, "verification_platform.db")
|
||||
|
||||
wd, err := os.Getwd()
|
||||
if err == nil && filepath.Base(wd) == "cmd" {
|
||||
absPath = filepath.Join(filepath.Dir(wd), "verification_platform.db")
|
||||
}
|
||||
|
||||
DB, err = gorm.Open(sqlite.Open(absPath), &gorm.Config{
|
||||
DB, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(logger.Silent),
|
||||
DisableForeignKeyConstraintWhenMigrating: true,
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal("Failed to create SQLite database:", err.Error())
|
||||
}
|
||||
log.Printf("Database file path: %s\n", absPath)
|
||||
log.Printf("Using SQLite database: %s\n", dbPath)
|
||||
}
|
||||
|
||||
if sqlDB, err := DB.DB(); err == nil {
|
||||
|
||||
Reference in New Issue
Block a user