【问题标题】:Golang: gorm use Find(&model) for non gorm migrate tableGolang:gorm 对非 gorm 迁移表使用 Find(&model)
【发布时间】:2016-09-07 00:30:21
【问题描述】:

有一张表customer_accountpostgres)是从YII2迁移过来的。

DDL:

CREATE TABLE public.test_table (
  id INTEGER PRIMARY KEY NOT NULL DEFAULT nextval('test_table_id_seq'::regclass),
  data JSONB
);

在 go 项目中,我尝试从这张表中获取价值。

type TableGo struct {
    Id int
    Data string `gorm:"type:jsonb"`
}

    table := TableGo{}
    db.Where("id = ?", 75).Find(&table)
    println(table.Data)

但是有(pq: relation "table_gos" does not exist)

如何在没有db.AutoMigrate(&TableGo{}) 的情况下链接结构表?

【问题讨论】:

    标签: postgresql go go-gorm


    【解决方案1】:

    我认为您的迁移脚本中的表名是错误的。因为它不在 GORM 约定中。如果要使用该名称,可以在模型中使用以下方法自定义表名。

    func (m *Model) TableName() string {
        return "custom_table_name"
    }
    

    【讨论】:

      【解决方案2】:

      找到解决办法:

      func(TableGo) TableName() string {
          return "account_status"
      }
      

      【讨论】:

      • 在最新版本的 gorm 中这仍然有效吗?
      猜你喜欢
      • 2021-12-27
      • 2021-10-28
      • 2021-02-07
      • 2015-05-31
      • 2021-05-28
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2012-07-20
      相关资源
      最近更新 更多