在开发中保存数据库属性但在生产中不保存
Database attribute saving in Development but not in Production
我在生产中遇到数据库错误。但是在开发中没有报错。
ActiveModel::MissingAttributeError (can't write unknown attribute `invited_by_id`):
invited_by_id 是 Devise Invitable gem 添加到我的用户 table 的列。我在第一次将我的 Devise Invitable 实施推向生产环境然后尝试邀请新用户后遇到了这个错误。
我已确认 invited_by_id 存在于我的开发和生产 table 中。我已经通过每个环境的 Rails 控制台多次检查了这一点。我还做了两次 rake db:migrate 以取得很好的效果(在生产中),第一次添加 Devise Invitable 列,第二次当然没有新迁移到 运行因为已经添加了列。 Devise Invitable 还向同一用户 table 添加了许多其他列,这些列已成功迁移并且没有产生错误。我也成功编辑了一个。 (Google 搜索、Devise Invitable Github 问题以及对我的开发和生产环境字段的彻底审查除了鼓励 gement 检查该列是否现在 -- 它是。)
对于 Devise Invitable、用户 table 或针对这种情况的开发与生产数据库,有什么需要注意的地方吗?对于一些额外的上下文,我使用的是 Devise Invitable 1.5.5、Rails 4.2.4,我的生产数据库在 Heroku 上。
谢谢!
ActiveModel::MissingAttributeError (can't write unknown attribute `invited_by_id`)
查看此错误消息,您的生产数据库中缺少 invited_by_id
列。请确保您 运行 在生产环境中进行了迁移,然后重试。那应该可以解决您的问题。
Here is the same issue 在 gem 的 github 页面上报告。
您也可以尝试重新启动您的 heroku 应用程序,它似乎多次解决了此类问题:)
我在生产中遇到数据库错误。但是在开发中没有报错。
ActiveModel::MissingAttributeError (can't write unknown attribute `invited_by_id`):
invited_by_id 是 Devise Invitable gem 添加到我的用户 table 的列。我在第一次将我的 Devise Invitable 实施推向生产环境然后尝试邀请新用户后遇到了这个错误。
我已确认 invited_by_id 存在于我的开发和生产 table 中。我已经通过每个环境的 Rails 控制台多次检查了这一点。我还做了两次 rake db:migrate 以取得很好的效果(在生产中),第一次添加 Devise Invitable 列,第二次当然没有新迁移到 运行因为已经添加了列。 Devise Invitable 还向同一用户 table 添加了许多其他列,这些列已成功迁移并且没有产生错误。我也成功编辑了一个。 (Google 搜索、Devise Invitable Github 问题以及对我的开发和生产环境字段的彻底审查除了鼓励 gement 检查该列是否现在 -- 它是。)
对于 Devise Invitable、用户 table 或针对这种情况的开发与生产数据库,有什么需要注意的地方吗?对于一些额外的上下文,我使用的是 Devise Invitable 1.5.5、Rails 4.2.4,我的生产数据库在 Heroku 上。
谢谢!
ActiveModel::MissingAttributeError (can't write unknown attribute `invited_by_id`)
查看此错误消息,您的生产数据库中缺少 invited_by_id
列。请确保您 运行 在生产环境中进行了迁移,然后重试。那应该可以解决您的问题。
Here is the same issue 在 gem 的 github 页面上报告。
您也可以尝试重新启动您的 heroku 应用程序,它似乎多次解决了此类问题:)