fix: 确保SQLite数据库目录存在后再连接
This commit is contained in:
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user