mirror of
https://github.com/wisplite/raster.git
synced 2026-05-01 14:42:44 -05:00
40 lines
650 B
Go
40 lines
650 B
Go
package db
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/glebarez/sqlite"
|
|
"github.com/wisplite/raster/internal/models"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
var db *gorm.DB
|
|
|
|
func Init() bool {
|
|
database, err := gorm.Open(sqlite.Open("raster.db"), &gorm.Config{})
|
|
if err != nil {
|
|
log.Fatal("failed to connect database: ", err)
|
|
return false
|
|
}
|
|
|
|
// Run migrations
|
|
err = database.AutoMigrate(
|
|
&models.Album{},
|
|
&models.User{},
|
|
&models.AccessToken{},
|
|
&models.UserAlbumAccess{},
|
|
)
|
|
if err != nil {
|
|
log.Fatal("failed to migrate database: ", err)
|
|
return false
|
|
}
|
|
|
|
db = database
|
|
|
|
return true
|
|
}
|
|
|
|
func GetDB() *gorm.DB {
|
|
return db
|
|
}
|