Другой способ получить эту ошибку, изменив миграцию и перенеся изменения в Heroku, не перестраивая таблицу.
Предостережение: Вы потеряете данные и, возможно, ссылки, поэтому я собираюсь объяснить, плохая идея , если вы не уверены, что никакие ссылки не будут потеряны. Rails предоставляет способы изменения таблиц с помощью миграций - создавайте новые миграции для изменения таблиц, обычно не изменяйте сами миграции после их создания.
Сказав это, вы можете запускать heroku run rake db:rollback
, пока та таблица, которую вы изменили, не всплывет, а затем запустить heroku run rake db:migrate
, чтобы вернуть ее с вашими изменениями.
Кроме того, вы можете использовать гем taps для резервного копирования и восстановления данных. Сносите таблицы базы данных, разбирайте их так, как вам нужно, а затем поднимайте столы назад с помощью нажатий. Я делаю это довольно часто на этапе прототипирования. Я бы никогда этого не сделал с живым приложением.