#ruby-on-rails #ruby #activerecord #ruby-on-rails-5 #data-migration
Вопрос:
Я хотел знать, как завершить этот метод, чтобы удалить классы разговоров с 7 сентября 2021 года и далее
class RemovesConversationClass < ActiveRecord::Migration[5.2]
def up
ConversationClass.where("created_at > ")destroy_all
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
Комментарии:
1. Я бы рекомендовал сделать это одноразовой задачей или сценарием, который вы запускаете в другом месте, а не чем-то, что вы запускаете с помощью миграции ActiveRecord.
Ответ №1:
Вы могли бы провести время вот так Time.new(2021, 9, 7)
ConversationClass.where("created_at > ?", Time.new(2021, 9, 7)).destroy_all
должно сработать. Но вы должны сначала протестировать его в своей среде разработки, прежде чем использовать в производстве.
Комментарии:
1. Просто отредактировал опечатку, конечно, это должно быть
Time.new
, а неTime.now