2026-04-07 11:48:19 +08:00

35 lines
670 B
Go

package database
import (
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"app-deploy-platform/backend/internal/config"
"app-deploy-platform/backend/internal/model"
)
func Open(cfg config.Config) (*gorm.DB, error) {
db, err := gorm.Open(postgres.Open(cfg.Database.DSN), &gorm.Config{
Logger: logger.Default.LogMode(logger.Warn),
})
if err != nil {
return nil, err
}
if err := db.AutoMigrate(
&model.Host{},
&model.ServiceInstance{},
&model.Release{},
&model.BuildJob{},
&model.Deployment{},
&model.DeploymentTarget{},
&model.ReleaseRun{},
&model.ReleaseRunStep{},
); err != nil {
return nil, err
}
return db, nil
}