32 lines
578 B
Go
32 lines
578 B
Go
package db
|
|
|
|
import (
|
|
"acc-server-manager/local/model"
|
|
|
|
"go.uber.org/dig"
|
|
"gorm.io/driver/sqlite"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func Start(di *dig.Container) {
|
|
db, err := gorm.Open(sqlite.Open("acc.db"), &gorm.Config{})
|
|
if err != nil {
|
|
panic("failed to connect database")
|
|
}
|
|
err = di.Provide(func() *gorm.DB {
|
|
return db
|
|
})
|
|
if err != nil {
|
|
panic("failed to bind database")
|
|
}
|
|
Migrate(db)
|
|
}
|
|
|
|
func Migrate(db *gorm.DB) {
|
|
err := db.AutoMigrate(&model.ApiModel{})
|
|
if err != nil {
|
|
panic("failed to migrate model.ApiModel")
|
|
}
|
|
db.FirstOrCreate(&model.ApiModel{Api: "Works"})
|
|
}
|