package store import ( "gorm.io/driver/postgres" "gorm.io/gorm" ) type Store struct { DB *gorm.DB } func NewStore(dsn string) (*Store, error) { pgConfig := postgres.Config{ DSN: dsn, PreferSimpleProtocol: false, } db, err := gorm.Open(postgres.New(pgConfig), &gorm.Config{}) if err != nil { return nil, err } return &Store{ DB: db, }, nil } func (s *Store) Close() error { db, err := s.DB.DB() if err != nil { return err } return db.Close() } func (s *Store) Migrate(dst ...interface{}) error { return s.DB.AutoMigrate(dst...) }