ruby-on-rails - Heroku 上的 ActiveRecord PGError 不是本地的

标签 ruby-on-rails postgresql activerecord heroku

我在 Heroku 上而非本地收到 ActiveRecord PGError。来自 Heroku 日志的错误消息是:

ActiveRecord::StatementInvalid (PGError: ERROR: column items.user_id does not exist LINE 1: SELECT "items".* FROM "items" WHERE ("items".user_id = 4) OR

此代码在本地 (SQLite) 上有效,但在 Heroku (postgresql) 上无效,因此我一直在阅读有关差异的信息。起初我认为这是一个案例问题,因为我认识到它应该是 User_ID - 但现在我不确定,这是关于“项目”的东西不太正确,我可以'弄清楚它到底是什么。

正如我所说,这在我的本地机器上运行得非常好,只有在 heroku 和 postgres 上才会出现问题。

提前致谢。

最佳答案

看来您的数据库在项目表中没有“user_id”列。这可能是因为您的迁移最近没有运行过,或者您可能编辑了现有的迁移而不是进行新的迁移来添加此列。

你现在关心你在 heroku 上的数据吗?如果没有,您可以使用 Taps 获取本地数据库中的任何内容,并将 Heroku 的数据库设置为它的(虚拟)同步副本。在您的项目目录中的本地计算机上:

heroku db:push

这将删除您的 heroku 数据库,因此请明智地使用它。

关于ruby-on-rails - Heroku 上的 ActiveRecord PGError 不是本地的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4595502/

相关文章:

ruby-on-rails - 访问已处理的 ActiveStorage::Variant 的原始字节

ruby-on-rails - 未知属性 : user_id

postgresql - 获取表的最后一个值的时间越来越长

postgresql - 错误 : must be member of role "" PostgreSQL

ruby-on-rails - 可以为特定关联集合创建自定义 to_s 方法吗?

ruby-on-rails - Activerecord 组不工作

ruby-on-rails - 我可以使用 rufus-scheduler 在 Rails 中调度 Controller 方法吗?

ruby-on-rails - 如何将回形针 before_post_process 与多个附件一起使用?

node.js - SequelizeJS - 使用原始查询将 JSONB 插入到 Postgres - 如何转义

ruby-on-rails - Rails 模型可能有_一种不同类型的模型