我正在使用 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”。为什么除了更新之外删除了该功能?我需要重新编写所有代码并需要再次检查.. 为什么会这样?添加新列时出现什么问题?
我该如何解决这个问题?