fix: 确保SQLite数据库目录存在后再连接

This commit is contained in:
2026-05-25 19:14:04 +08:00
parent dff04c21c9
commit 1767c41c7f
+7 -1
View File
@@ -3,6 +3,8 @@ package utils
import ( import (
"fmt" "fmt"
"log" "log"
"os"
"path/filepath"
"sale/internal/config" "sale/internal/config"
"sale/internal/models" "sale/internal/models"
@@ -38,6 +40,10 @@ func InitDB() {
Logger: logger.Default.LogMode(logger.Info), Logger: logger.Default.LogMode(logger.Info),
}) })
default: default:
dbDir := filepath.Dir(cfg.FilePath)
if err := os.MkdirAll(dbDir, 0755); err != nil {
log.Fatalf("Failed to create database directory: %v", err)
}
DB, err = gorm.Open(sqlite.Open(cfg.FilePath), &gorm.Config{ DB, err = gorm.Open(sqlite.Open(cfg.FilePath), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info), Logger: logger.Default.LogMode(logger.Info),
}) })
@@ -47,7 +53,7 @@ func InitDB() {
log.Fatalf("Failed to connect to database: %v", err) log.Fatalf("Failed to connect to database: %v", err)
} }
log.Printf("Database connected successfully (driver: %s)", cfg.Driver) log.Printf("Database connected successfully (driver: %s, path: %s)", cfg.Driver, cfg.FilePath)
} }
func AutoMigrate() { func AutoMigrate() {