dongzhila3786 2019-01-16 10:08
浏览 106
已采纳

如何使用gorm在特定的数据库模式中编写?

I am new at golang. I am trying to write in a specific database schema using GORM and database/sql package. Here is my struct

type Person struct {
gorm.Model
Name                string    
Age                 int    
}

and my function to write in db is:

func writedb(){

psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+" password=%s dbname=%s sslmode=disable", host, port, user, password, dbname)
    db, err := gorm.Open("postgres", psqlInfo)
    if err != nil {
        panic(err)
        fmt.Println("Não conectou-se ao BANCO DE DADOS")
    }
    defer db.Close()

    db.AutoMigrate(&Person{})

    //t := time.Now()
    //ts := t.Format("2006-01-02 15:04:05")

    db.Create(&Person{Name : "alex", Age: 20})


}

My db is structured like this databaseName --schemaPeople --schemaVehicle --schemaPublic

When I compile, the data inserted goes to an new table in public schema, I want to insert an row in people schema. What am I doing wrong? Am I declaring the struct wrong? How I set the specific schema??

  • 写回答

1条回答 默认 最新

  • douniani679741 2019-01-16 10:29
    关注

    In the gorm you can denote the schema in the TableName() method of your struct, for example:

    type Person struct {
        gorm.Model
        Name string
        Age  int
    }
    
    func (Person) TableName() string {
        return "people.persons"
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器