0

我正在使用 Sql 锅炉

“github.com/volatiletech/sqlboiler/v4/boil”

我有一张表 - 名为“hive_members”

CREATE TABLE IF NOT EXISTS hive_members
(
    member_hive_id          BIGINT UNSIGNED NOT NULL,
    member_impart_wealth_id CHAR(27)        NOT NULL,
    PRIMARY KEY (member_hive_id, member_impart_wealth_id),
    INDEX (member_impart_wealth_id, member_hive_id),
    FOREIGN KEY (member_hive_id) REFERENCES hive (hive_id) ON DELETE CASCADE,
    FOREIGN KEY (member_impart_wealth_id) REFERENCES user (impart_wealth_id) ON DELETE CASCADE
) DEFAULT CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci
  ENGINE = InnoDB
  ROW_FORMAT = DYNAMIC;

SQL 锅炉生成这样的函数

func (o *User) SetMemberHiveHives(ctx context.Context, exec boil.ContextExecutor, insert bool, related ...*Hive) error {
    query := "delete from `hive_members` where `member_impart_wealth_id` = ?"
    values := []interface{}{o.ImpartWealthID}
    if boil.IsDebug(ctx) {
        writer := boil.DebugWriterFrom(ctx)
        fmt.Fprintln(writer, query)
        fmt.Fprintln(writer, values)
    }
    _, err := exec.ExecContext(ctx, query, values...)
    if err != nil {
        return errors.Wrap(err, "failed to remove relationships before set")
    }

    removeMemberHiveHivesFromMemberImpartWealthUsersSlice(o, related)
    if o.R != nil {
        o.R.MemberHiveHives = nil
    }
    return o.AddMemberHiveHives(ctx, exec, insert, related...)
}

我已经在不同领域的功能中使用过。

现在我刚刚更新了我的表'hive_members'

alter table hive_members
    add column updated_at   DATETIME(3)   NOT NULL ;

更新后,删除功能“SetMemberHiveHives”。为什么除了更新之外删除了该功能?我需要重新编写所有代码并需要再次检查.. 为什么会这样?添加新列时出现什么问题?

我该如何解决这个问题?

4

0 回答 0