Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rails-Heroku Postgresql错误-在本地SQLite上工作-错误“;ActiveRecord:无效关系";_Postgresql_Heroku_Sqlite_Ruby On Rails 3.2_Heroku Postgres - Fatal编程技术网

Rails-Heroku Postgresql错误-在本地SQLite上工作-错误“;ActiveRecord:无效关系";

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

您好,这里是我的ActiveRelation查询,它在本地开发环境(SQLite)上运行良好


我想这只是一个语法错误。。。有人能帮忙吗?谢谢

您的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)