go-gorm 如何用额外的列来表达 many2many
go-gorm how to express many2many with additional columns
我想在 GORM 中表达以下 tables:
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"`
}
但是,我不知道如何写复合table。
您需要像这样创建额外的模型:
package database
type IndexService struct {
WriteActive bool `gorm:"not null,DEFAULT false"`
}
我想在 GORM 中表达以下 tables:
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"`
}
但是,我不知道如何写复合table。
您需要像这样创建额外的模型:
package database
type IndexService struct {
WriteActive bool `gorm:"not null,DEFAULT false"`
}