为了账号安全,请及时绑定邮箱和手机立即绑定

在 GORM 中首次迁移时插入种子数据

在 GORM 中首次迁移时插入种子数据

Go
弑天下 2022-10-04 15:47:26
我想在数据库中创建表时插入种子数据。AutoMigrate当我执行 时,它不会返回与表创建相关的任何信息,因此我无法确认表是否已创建、更新或未执行任何操作。db.AutoMigrate(&User{})有没有办法从GORM知道表创建信息以插入种子数据?这样我就可以插入种子数据,例如:if err = db.AutoMigrate(&User{}); err != nil {    if db.CreatedFirstTime {        //Insert seed data    }}
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

根据文档,您无法从 中获取表创建信息。尝试使用与查询组合来获取表的信息。db.AutoMigrate(&User{})Migrator

例如:

if err = db.AutoMigrate(&User{}); err == nil && db.Migrator().HasTable(&User{}) {

    if err := db.First(&User{}).Error; errors.Is(err, gorm.ErrRecordNotFound) {

        //Insert seed data

    }

}


查看完整回答
反对 回复 2022-10-04
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信