Я решил это с вашей помощью, Марк!: -)
Я сделал следующее:
1) Откат миграций
Я запустил rails db:migrate:status
и увидел, что я должен откатить двамиграции, чтобы полностью очистить мои попытки добавить / удалить столбец end_date.
Когда я попытался откатить, это дало мне ошибку, что мои миграции удаления столбца не были обратимыми.Я должен был ввести тип столбца.Поэтому я добавил это в качестве третьего параметра.Пример: remove_column :events, :end_date, :date
После этого возможен откат.Самым простым способом было запустить rails db: rollback STEP = 2 .
2) Удалить миграции вниз и проверить схему
После отката моегомиграции, я удалил ненужные файлы миграции из папки.Кроме того, я проверил свой файл схемы и вручную удалил строку end_date из модели.
3) Создайте условное удаление переноса строки
Используя ответ Марка, я добавил новыйМиграция с использованием следующего кода:
class AddEndDateToEvents < ActiveRecord::Migration[5.2]
def change
remove_column(:events, :end_date) if column_exists?(:events, :end_date)
add_column :events, :end_date, :date
end
end
4) Сброс базы данных и запуск db: migrate
Затем я сделал git push && git push heroku и затем я запустил heroku restart && heroku pg:reset DATABASE --confirm APP-NAME && heroku run rake db:migrate
, где APP-NAME было именем моего приложения.
И теперь оно работает!: -)
Большое спасибо.Я был просто поражен быстрым и полезным ответом, а также тем фактом, что какой-то человек, находящийся в сети, нашел время, чтобы отредактировать мой пост и красиво отформатировать его.
Щедрое сообщество.Nice!