CR7*_*CR7 4 ruby ruby-on-rails
我正在尝试使用预定义数据向两个表课程和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
Run Code Online (Sandbox Code Playgroud)
如何指定先在种子中执行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'
Run Code Online (Sandbox Code Playgroud)
因此,在每个文件夹中,我建议加载相应的csv并上传数据.然后,对于需要外键的表,您应该稍后加载它们并使用rails来加载您需要的数据对象.
如果您仍在寻找它的示例,您可以在此项目中看到它.