我的应用程序中有一个种子文件:friends_seed_data.rb
。它由以下值组成:["NEW", "OLD", "DELETED"]
。我前一段时间跑了rake db:seed
我现在在我的数据库中有这三个条件。
现在,我不再需要条件OLD
了。我应该如何从种子文件中删除此条件。我已将我的数据库中包含OLD
条件的所有数据转换为NEW
条件。我的种子文件看起来像:
friends_conditions = ["NEW", "OLD", "DELETED"]
friends_conditions.each do |f|
s = Friends::Condition.find_or_initialize_by_name(name: f)
if s.new_record?
s.save!
else
#Do nothing
end
end
删除rake db:seed
后运行OLD
不会做任何事情。我该怎么办?
答案 0 :(得分:0)
种子文件通常仅用于首次从空白状态填充数据库。种子文件 - 除非它正在删除整个表并重新创建它们 - 在第一次运行后可以忽略。
必须在数据库中删除OLD
状态;不在种子文件上。
我已将包含旧条件的所有数据转换为NEW 我的数据库中的条件
由此,我假设您已将数据库中OLD
的所有实例转换为NEW
。所以别无他法。忽略种子文件。