Сохранение атрибутов базы данных в разработке, но не в производстве

Я получаю ошибку базы данных в производстве. Но в разработке нет ошибок.

ActiveModel::MissingAttributeError (can't write unknown attribute `invited_by_id`):

Invite_by_id - это столбец, добавленный гемом Devise Invitable в мою таблицу пользователей. Я столкнулся с этой ошибкой после того, как впервые внедрил свою реализацию Devise Invitable в рабочую среду, а затем попытался пригласить нового пользователя.

Я подтвердил, что Invite_by_id присутствует в моих таблицах разработки и производства. Я проверял это несколько раз через консоль Rails для каждой среды. Я также сделал rake db: migrate дважды для хорошей меры (в работе), когда в первый раз были добавлены столбцы Devise Invitable, а во второй раз, разумеется, не было никаких новых миграций для запуска, поскольку эти столбцы уже были добавлены. Существует также множество других столбцов, добавленных Devise Invitable к той же таблице пользователей, которые были успешно перенесены и не вызывают ошибок. Я также успешно отредактировал один. (Поиски в Google, проблемы с Devise Invitable Github и тщательный анализ моих полей разработки и производственной среды не дали ничего, кроме поощрения проверки наличия столбца - что это такое.)

Есть ли что-то, о чем нужно знать с помощью Devise Invitable, пользовательских таблиц или с базами данных разработки или производства для такой ситуации? Для некоторого дополнительного контекста я использую Devise Invitable 1.5.5, Rails 4.2.4, и моя производственная база данных находится на Heroku.

Спасибо!

1 ответ

Решение
ActiveModel::MissingAttributeError (can't write unknown attribute `invited_by_id`)

Глядя на это сообщение об ошибке, вы пропали invited_by_id столбец в вашей производственной базе данных. Убедитесь, что вы запустили миграцию в производственной среде и повторите попытку. Это должно исправить вашу проблему.

Вот та же проблема, о которой сообщалось на странице github.

Вы также можете попробовать перезапустить приложение heroku, которое, по-видимому, устраняет подобные проблемы много раз:)

Другие вопросы по тегам