Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 

36 linhas
686 B

  1. package database
  2. import (
  3. "fmt"
  4. "github.com/AFASystems/presence/internal/pkg/config"
  5. "github.com/AFASystems/presence/internal/pkg/model"
  6. "gorm.io/driver/postgres"
  7. "gorm.io/gorm"
  8. )
  9. var DB *gorm.DB
  10. func Connect(cfg *config.Config) (*gorm.DB, error) {
  11. // Connect to PostgreSQL database
  12. dsn := fmt.Sprintf(
  13. "host=%s user=%s password=%s dbname=%s port=5432 sslmode=disable",
  14. cfg.DBHost,
  15. cfg.DBUser,
  16. cfg.DBPass,
  17. cfg.DBName,
  18. )
  19. db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
  20. if err != nil {
  21. return nil, err
  22. }
  23. if err := db.AutoMigrate(&model.Gateway{}); err != nil {
  24. return nil, err
  25. }
  26. fmt.Println("Database connection established")
  27. return db, nil
  28. }