gorm.go 537 B

123456789101112131415161718192021222324252627
  1. package gorm
  2. import (
  3. "fmt"
  4. "github.com/porter-dev/porter/internal/config"
  5. "gorm.io/driver/postgres"
  6. "gorm.io/driver/sqlite"
  7. "gorm.io/gorm"
  8. )
  9. // New returns a new gorm database instance
  10. func New(conf *config.DBConf) (*gorm.DB, error) {
  11. if conf.SQLLite {
  12. return gorm.Open(sqlite.Open("./internal/porter.db"), &gorm.Config{})
  13. }
  14. dsn := fmt.Sprintf(
  15. "user=%s password=%s port=%d host=%s sslmode=disable",
  16. conf.Username,
  17. conf.Password,
  18. conf.Port,
  19. conf.Host,
  20. )
  21. return gorm.Open(postgres.Open(dsn), &gorm.Config{})
  22. }