Если вы создаете таблицу базы данных одновременно, то уничтожение таблицы приведет к уничтожению данных.
Если: bar уникален, вы можете найти по bar и уничтожить объект.
# up
Foo.create([{:bar => 1},{:bar => 2},{:bar => 3})
# down
Foo.where(:bar => [1,2,3]).each { |foo| foo.destroy }
Отредактированный
Я не знаю ваш сценарий. Семя обычно используется для запуска приложения. Если вы находитесь в пошаговой разработке (с развертыванием), то, как правило, исходные данные включаются при создании нашей модели, а не в исключительную миграцию, как показано в вашем примере.
Если вам действительно нужно сделать это в эксклюзивной миграции, ваша работа по переносу будет пропорциональна вашей работе по созданию.
В моих проектах я избегаю добавления данных в миграцию.
Некоторые полезные ссылки: