dongpu2694 2019-05-06 14:22
浏览 328

如何在postgres的go-xorm中声明外键关系?

I want to declare foreign key relation between tables using XORM in golang for postgres.

I've tried the following schema to create foreign key relationship.

type Author struct {
    Id uint64 `xorm:"pk autoincr"`
    Name string `xorm:"VARCHAR(128) NOT NULL"`
    Email string `xorm:"VARCHAR(128) NOT NULL UNIQUE"`
    Phone string `xorm:"VARCHAR(32)"`
    Age float32
    Address string `xorm:"VARCHAR(256)"`

    Created time.Time `xorm:"created"`
    Updated time.Time `xorm:"updated"`
}


type Book struct {
    Id uint64 `xorm:"pk autoincr"`
    Name string `xorm:"varchar(128) NOT NULL"`
    Isbn string `xorm:"varchar(64) NOT NULL"`
    Author *Author `xorm:"-"`

    Created time.Time `xorm:"created"`
    Updated time.Time `xorm:"updated"`
}

And then,

err := engine.Sync(new(models.Author))
err = engine.Sync(new(models.Book))

But the above code doesn't create foreign key, even no column named author in Book table. Help me to solve this problem that how i can declare foreign key for postgres.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
    • ¥20 关于URL获取的参数,无法执行二选一查询
    • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
    • ¥15 marlin编译错误,如何解决?
    • ¥15 有偿四位数,节约算法和扫描算法
    • ¥15 VUE项目怎么运行,系统打不开
    • ¥50 pointpillars等目标检测算法怎么融合注意力机制
    • ¥20 Vs code Mac系统 PHP Debug调试环境配置
    • ¥60 大一项目课,微信小程序
    • ¥15 求视频摘要youtube和ovp数据集