123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package gs
- import (
- v1 "gogs.tyduyong.com/duyong/dy-admin/internal/iam/models/v1"
- "gogs.tyduyong.com/duyong/dy-pkg/app/infrastructure"
- "gogs.tyduyong.com/duyong/dy-pkg/app/options"
- "gogs.tyduyong.com/duyong/dy-pkg/errors"
- "gogs.tyduyong.com/duyong/dy-pkg/logs"
- "gorm.io/gorm"
- )
- const (
- iamSchema = "iam"
- )
- func InitPGSqlDB(pgConfig *options.PGSQLOptions) *gorm.DB {
- pgDB, err := infrastructure.InitPGSql(pgConfig)
- if err != nil {
- logs.Fatal("init pgsql failed", logs.Err(err))
- }
- // 创建schema
- if err = pgDB.Exec("CREATE SCHEMA IF NOT EXISTS " + iamSchema).Error; err != nil {
- logs.Fatal("failed to create schema", logs.Err(err))
- }
- // 设置默认
- if err = pgDB.Exec("SET search_path TO " + iamSchema).Error; err != nil {
- logs.Fatal("failed to set default schema", logs.Err(err))
- }
- // 创建表
- if err = migrateTables(pgDB); err != nil {
- logs.Fatal("failed to migrate tables", logs.Err(err))
- }
- return pgDB
- }
- func migrateTables(db *gorm.DB) error {
- if err := db.AutoMigrate(&v1.User{}); err != nil {
- return errors.Wrap(err, "migrate user model failed")
- }
- return nil
- }
|