努力与gorm手动创建关系/迁移

问题描述 投票:0回答:1

我有这样的sql结构:

CREATE TABLE resources (
  id SERIAL PRIMARY KEY,
  title TEXT NOT NULL,
  created_at TIMESTAMPTZ NOT NULL,
  updated_at TIMESTAMPTZ NOT NULL,
  deleted_at TIMESTAMPTZ
);

CREATE TABLE tags (
    name TEXT PRIMARY KEY
);

我需要写什么SQL,如何告诉gorm我希望Resource有很多Tag?这就是我目前正在做的事情:

package models

import (
    "github.com/jinzhu/gorm"
)

type Tag struct {
    Name string `gorm:"PRIMARY_KEY"`
}

type Resource struct {
    gorm.Model
    Title       string
    Tags        []Tag        `gorm:""`
}

请注意,我明确地not希望通过gorm自动迁移。我正在使用migrate工具来处理迁移,并希望专门手动处理它们,而不是使用go。

postgresql go go-gorm
1个回答
0
投票
和资源:

type Resource struct { gorm.Model Title string Tags []Tag `gorm:"foreignkey:ResourceID"` }

并且您的sql结构应该具有该外键ResourceID列。

不确定是否已经检查过,但是如果需要,它包含更多详细信息:https://gorm.io/docs/has_many.html#Foreign-Key
© www.soinside.com 2019 - 2024. All rights reserved.