Rails-Heroku Postgresql错误-在本地SQLite上工作-错误“;ActiveRecord:无效关系";
您好,这里是我的ActiveRelation查询,它在本地开发环境(SQLite)上运行良好Rails-Heroku Postgresql错误-在本地SQLite上工作-错误“;ActiveRecord:无效关系";,postgresql,heroku,sqlite,ruby-on-rails-3.2,heroku-postgres,Postgresql,Heroku,Sqlite,Ruby On Rails 3.2,Heroku Postgres,您好,这里是我的ActiveRelation查询,它在本地开发环境(SQLite)上运行良好 我想这只是一个语法错误。。。有人能帮忙吗?谢谢您的SQL最终包含以下内容: status1 is 't' 这是无效的:is仅用于is null,与不同,以及类似的构造 您应该升级到更现代的语法,并将大部分工作留给ActiveRecord完成: @table2_items = @table1var.table2_items .where(:status
我想这只是一个语法错误。。。有人能帮忙吗?谢谢您的SQL最终包含以下内容:
status1 is 't'
这是无效的:is
仅用于is null
,与
不同,以及类似的构造
您应该升级到更现代的语法,并将大部分工作留给ActiveRecord完成:
@table2_items = @table1var.table2_items
.where(:status1 => true, :status2 => nil)
.where('start_datetime > ?', Time.now)
.order(:field_id, :created_at)
这使得大多数“我如何比较事物?”的逻辑与ActiveRecord保持一致,并且更易于阅读,因为占位符和它们的值没有相互分离
一旦解决了这个问题,就应该在开发环境中安装PostgreSQL,以便在同一个堆栈上进行开发和部署。数据库之间存在着各种各样的差异,任何ORM都无法保护您。太棒了,这很有效,非常感谢!这个语法看起来非常简单,所以我将从现在开始使用它,yes将本地升级到Postgres。。
@table2_items = @table1var.table2_items
.where(:status1 => true, :status2 => nil)
.where('start_datetime > ?', Time.now)
.order(:field_id, :created_at)