正在从 Rails 中的种子文件中删除一个值

Removing a value from seed file in Rails

我的应用程序中有一个种子文件: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 什么都不做。我该怎么办?

种子文件通常只用于第一次从空白状态填充数据库。种子文件 - 除非它删除整个表并重新创建它们 - 在第一个 运行 之后可以忽略。

删除 OLD 状态必须在数据库中完成;不在种子文件上。

I have converted all my data consisting of OLD condition to NEW condition in my db

据此,我假设您已将数据库中 OLD 的所有实例转换为 NEW。所以没有别的事可做。忽略种子文件。