Go

gorm v2.0版本 指定表前缀或表单数

2021-09-08  本文已影响0人  Super淳语

import (
    "github.com/mix-go/dotenv"
    "github.com/mix-go/xdi"
    "gorm.io/driver/mysql"
    "gorm.io/gorm"
)

func init() {
    obj := xdi.Object{
        Name: "gorm",
              //不指定表前缀,不指定表单数
        New: func() (i interface{}, e error) {
            return gorm.Open(mysql.Open(dotenv.Getenv("DATABASE_DSN").String()))
        },
    }
    
        // 指定表单数 指定表前缀
    //return gorm.Open(mysql.Open(dotenv.Getenv("DATABASE_DSN").String()),
            //  &gorm.Config{
            //  NamingStrategy: schema.NamingStrategy{
            //      TablePrefix: "gormv2_",
            //      SingularTable: true,
            //  },
            //})



    if err := xdi.Provide(&obj); err != nil {
        panic(err)
    }
}

func Gorm() (db *gorm.DB) {
    if err := xdi.Populate("gorm", &db); err != nil {
        panic(err)
    }
    return
}

直接具体指定表名称
当然对于Model对应的数据库表名称还有一种共同的定义方式,如下

func (User) TableName() string {
    return "user"
}


上一篇 下一篇

猜你喜欢

热点阅读