pgsql.go 688 B

1234567891011121314151617181920212223242526272829303132333435
  1. package database
  2. import (
  3. "fwh-toolbox-server/models/model_pgsql/query_alarm_snapshot"
  4. "log"
  5. "gorm.io/driver/postgres"
  6. "gorm.io/gorm"
  7. "gorm.io/gorm/logger"
  8. )
  9. var PgSQL *gorm.DB
  10. func InitPostgreSQL(dsn string) (*gorm.DB, error) {
  11. db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
  12. Logger: logger.Default.LogMode(logger.Info),
  13. })
  14. if err != nil {
  15. log.Printf("failed to connect to PostgreSQL: %v", err)
  16. return nil, err
  17. }
  18. PgSQL = db
  19. // 自动迁移
  20. // db.AutoMigrate(&models.User{}, …)
  21. // 初始化Models
  22. initModels(db)
  23. return db, nil
  24. }
  25. // 数据库初始化后,需初始化相关Models
  26. func initModels(db *gorm.DB) {
  27. query_alarm_snapshot.SetDefault(db)
  28. }