【发布时间】:2014-04-02 13:55:27
【问题描述】:
我在本地(使用 postgres 配置)修复了我的 rails 项目的一个问题,同时在 database.yml 中添加了以下语句:
test:
prepared_statements: false
我修复的错误与此问题有关:
PG::ProtocolViolation: ERROR: bind message supplies 2 parameters, but prepared statement "a24" requires 1
现在,我想在 Heroku 上使用 postgres 数据库托管的生产应用程序上修复它。我不知道如何禁用准备好的语句,因为 database.yml 是自动生成的。我试图追加:
/database?prepared_statements=false
到我的数据库的 URI,但它以错误的 DATABSE_URL 结尾,因此我无法连接到我的数据库。
禁用prepared_statement的过程和正确的语法是什么?
【问题讨论】:
-
你更多地“解决”了这个问题,而不是实际修复它。如果 ActiveRecord、Pg gem 等中存在真正的错误,最好有一个独立的测试用例来演示它。 (不能真正帮助您在 Heroku 上应用解决方法,没有太多使用它的应用托管)。
标签: ruby-on-rails postgresql heroku