gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 07:25:29 26 4
gpt4 key购买 nike

我正在尝试使用预定义数据将数据添加到两个表 courses 和 course_subjects 表中(因为我不需要更改这些表的内容)。 course_subjects 表引用 course_id 列的 courses 表。执行 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 文件中放置此加载命令,然后运行 ​​db:seed

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

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

如果您仍在寻找它的示例,您可以在这个 project 中看到它.

关于ruby-on-rails - 指定 rails 中种子文件的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41935963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com