12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package database
- import (
- "log"
- "os"
- "git.familybaby.top/flight/csdn/models"
- "gorm.io/driver/sqlite"
- "gorm.io/gorm"
- )
- var DB *gorm.DB
- func InitDB() error {
- dbPath := "device.db"
- if os.Getenv("DB_PATH") != "" {
- dbPath = os.Getenv("DB_PATH")
- }
- var err error
- DB, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{})
- if err != nil {
- return err
- }
- // 自动迁移表结构
- err = DB.AutoMigrate(
- &models.User{},
- &models.Parse{},
- )
- if err != nil {
- return err
- }
- log.Println("Database initialized successfully")
- return nil
- }
- func CloseDB() {
- db, err := DB.DB()
- if err != nil {
- log.Println("Error getting database instance:", err)
- return
- }
- err = db.Close()
- if err != nil {
- log.Println("Error closing database:", err)
- }
- }
|