Как исправить проблемную предыдущую миграцию в Rails?

Я написал приложение Rails локально и написал около 10-15 миграций. Все это отлично работает локально.

Когда я хотел развернуть на героку, я столкнулся с проблемой, потому что они используют более раннюю версию PostGreSQL, чем та, которую я использовал локально. Одна из моих самых ранних миграций завершается сбоем из-за отсутствия функции БД в одном из моих представлений базы данных.

Я нашел способ обойти проблему с функцией БД, но теперь я застрял, потому что не могу написать новую миграцию, которая изменяет представление для использования хака, поскольку rake db: migrate прервется после того, как попадет в оригинал создание проблемного представления.

Что я могу сделать, чтобы решить эту проблему?


person you786    schedule 08.06.2012    source источник


Ответы (1)


Прежде всего, удалите свою базу данных:

heroku pg:reset

Затем запустите новые миграции:

heroku rake db:migrate
person zolter    schedule 08.06.2012
comment
Это работает, но приведет к несоответствию между вашей локальной средой и производственной средой с точки зрения миграции. Я также предполагаю, что вы также потеряете все данные в своей производственной среде. Но это не было проблемой для меня, поэтому я принимаю ваш ответ. - person you786; 08.06.2012
comment
Вы создаете базу данных в первый раз, и вам нечего терять в производственной среде. - person zolter; 08.06.2012