加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 指定rails中种子文件的执行顺序

发布时间:2020-12-17 02:49:41 所属栏目:百科 来源:网络整理
导读:我正在尝试使用预定义数据向两个表课程和course_subjects表添加数据(因为我不需要更改这些表内容). course_subjects表引用了course_id列的课程表.执行rake db:seed命令时发生以下错误. ActiveRecord::InvalidForeignKey: Mysql2::Error: Cannot add or upda
我正在尝试使用预定义数据向两个表课程和course_subjects表添加数据(因为我不需要更改这些表内容). course_subjects表引用了course_id列的课程表.执行rake db:seed命令时发生以下错误.

ActiveRecord::InvalidForeignKey: Mysql2::Error: Cannot add or update a child row: a foreign key constraint fails

如何指定先在种子中执行course.rb然后再在course_subjects中执行.
我有单独的csv文件中的数据

解决方法

我如何做到这一点是在db下创建另一个名为seeds的文件夹并将我的文件存储在那里.这让我可以将种子数据分开,这样它就不会聚集在一起.

在seeds.rb文件中,然后放置此load命令,然后运行db:seed

load 'db/seeds/users.rb'
load 'db/seeds/couples.rb'
load 'db/seeds/user_couples.rb'

因此,在每个文件夹中,我建议加载相应的csv并上传数据.然后,对于需要外键的表,您应该稍后加载它们并使用rails来加载所需的数据对象.

如果你还在寻找它的一个例子,你可以在这个project中看到它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读