ruby-on-rails 参数RedshiftRecord调用出错

lnlaulya  于 2023-01-18  发布在  Ruby
关注(0)|答案(1)|浏览(121)

我一直在使用的代码是使用RedshiftRecord访问辅助数据库,它在我自己的计算机上工作,但当使用Dokku推送到生产环境时,所有对RedshiftRecord的调用,甚至是简单的

sql_statement = <<-SQL
  SELECT COUNT(*)
  FROM table
SQL
RedshiftRecord.connection.execute(sql_statement)

抛出一个

[web.1]: F, [...] FATAL -- : [...]   
[web.1]: [...] ArgumentError (wrong number of arguments (given 2, expected 0..1)):

这显然很奇怪,因为在那个示例中我只传递了一个简单的sql语句,两台机器都使用ruby 2.6.6和rails6.0.3.7,以及这个版本的RedshiftRecord:https://github.com/iamdbc/activerecord6-redshift-adapter我已经确保环境变量,特别是数据库凭据在两个环境中是相同的。
问题可能是什么,我可以做些什么来诊断它,或者我可以做些什么来规避它?
摘要:尝试对RedshiftRecord进行最低限度的调用。期望调用在生产环境和开发环境中都能通过。调用在开发环境中通过,但在生产环境中没有,即使环境变量相同。

tez616oj

tez616oj1#

通常,经过一个星期的努力,我在发布问题五分钟后自己找到了解决方案。虽然env变量是正确的,但变量 names 是错误的,显然,如果您在Rails.application.secrets.redshift_config中丢失了一个变量,则在调用它时会错误地得到ArgumentsError。

相关问题