Files
envy/cmd/utils/db.go

40 lines
713 B
Go

package utils
import (
"path"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
type Project struct {
ID uint `gorm:"primaryKey"`
Name string
Environments []Environment
}
type Environment struct {
ID uint `gorm:"primaryKey"`
Name string
Data string
ProjectID uint
Project Project `gorm:"constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
}
var DB *gorm.DB
func InitDb() {
var openErr error
DB, openErr = gorm.Open(sqlite.Open(path.Join(EnvyPath, "envy.db")), &gorm.Config{})
if openErr != nil {
ErrPrint("Error while opening database:", openErr.Error())
}
}
func MigrateDb() {
err := DB.AutoMigrate(&Project{}, &Environment{})
if err != nil {
panic(err)
}
}