1

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

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

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

Я подтвердил, что invite_by_id присутствует в обеих таблицах разработки и производства. Я проверил это несколько раз через консоль Rails для каждой среды. Я также сделал rake db: дважды мигрировал для хорошей оценки (в процессе производства) с первым добавлением столбцов Devise Invitable, и во второй раз, конечно, не было никаких новых миграций для запуска, поскольку столбцы уже были добавлены. Также есть множество других столбцов, добавленных Devise Invitable в ту же таблицу пользователей, которые были успешно перенесены и не создают ошибок. Я также успешно отредактировал его. (Google Searches, 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 колонки в базе данных производства. Убедитесь, что вы выполняете миграцию в рабочей среде и повторите попытку. Это должно решить вашу проблему.

Here is the same issue сообщается на странице github gem.

Вы также можете попробовать перезапуск приложения Heroku, который, кажется, чтобы исправить этот тип вопросов много раз :)

+0

спасибо! Столбец определенно существует. Я неоднократно подтверждал. Я могу запросить его для конкретных пользователей и посмотреть его. И я побежал рейк дБ: мигрировать дважды для хорошей меры. Поистине мистифицировать! – supertext

+0

Можете ли вы показать свои связанные модели и полную ошибку? –

+1

Ага! Я просто запускал герою перезагрузки и исправил ее. Оказывается, это вовсе не код. Спасибо за вашу помощь! – supertext

Смежные вопросы