как удалить с помощью data_migration?

#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