小编Rob*_*Ert的帖子

GORM 不创建外键列

我正在尝试使用 Go 和 gorm 在 PostgreSQL 数据库上设置两个模型之间的关系。

这是我的代码,第一个模型:

携程网

package model

import "github.com/jinzhu/gorm"

// Trip models
type Trip struct {
    gorm.Model
    TripName        string
    TripDescription string
}

Run Code Online (Sandbox Code Playgroud)

第二种型号:

TripKeyPoints.go

package model

import "github.com/jinzhu/gorm"

// TripKeyPoint models
type TripKeyPoint struct {
    gorm.Model
    KPName        string
    KPDescription string
    TripID        Trip
}
Run Code Online (Sandbox Code Playgroud)

运行迁移并初始化所有文件的部分代码

    db.DropTableIfExists(&User{}, &model.Trip{}, &model.TripKeyPoint{})
    db.AutoMigrate(&User{}, &model.Trip{}, &model.TripKeyPoint{})
    db.Model(&model.TripKeyPoint{}).AddForeignKey("trip_id", "trips(id)", "CASCADE", "CASCADE")
Run Code Online (Sandbox Code Playgroud)

用户模型只是一个插件,但我把它留在这个片段中。由于经过多次测试,我一开始就放弃了表格。

这是我运行代码时收到的信息:

?[35m(C:/golang_lab/golang-gorm-tutorial/users.go:36)?[0m
?[33m[2019-09-21 18:40:34]?[0m ?[31;1m pq: column "trip_id" referenced in foreign key constraint does not exist ?[0m
Run Code Online (Sandbox Code Playgroud)

是的,确实如此,当我登录到 postgres 表 trip_key_points …

postgresql go go-gorm

3
推荐指数
1
解决办法
2943
查看次数

标签 统计

go ×1

go-gorm ×1

postgresql ×1