go-gorm如何用额外的列表达many2many

时间:2017-10-05 01:36:33

标签: go-gorm

我想在GORM中表达以下表格:

CREATE TABLE indexes (
    id INTEGER PRIMARY KEY,
    name VARCHAR
)
CREATE TABLE services (
    id INTEGER PRIMARY KEY,
    name VARCHAR
)
CREATE TABLE index_service (
    index_id INTEGER REFERENCES indexes(id),
    service_id INTEGER REFERENCES services(id),
    write_active INTEGER,
    PRIMARY KEY (index_id, service_id)
)

阅读有关堆栈溢出的文档和问题。我还是找不到如何在GORM的DSL中表达附加列write_active的答案

到目前为止我得到的是

type Index struct {
   ID        unit `json:"id" gorm:"primary_key"`
   Name string    `json:"name" gorm:"not null"`
}

type Service struct {
   ID        unit `json:"id" gorm:"primary_key"`
   Name string    `json:"name" gorm:"not null"`
}

但是,我不知道如何编写复合表。

1 个答案:

答案 0 :(得分:0)

您需要创建这样的额外模型:

package database

type IndexService struct {
  WriteActive bool `gorm:"not null,DEFAULT false"`
}