Ruby on rails 如何在RubyonRails中传递数据库运行时参数?

Ruby on rails 如何在RubyonRails中传递数据库运行时参数?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我需要在postgresql中设置一个运行时参数。它是“将DATESTYLE设置为PostgreSQL,European;”。在Rails应用程序中,我在哪里可以传递它?您尝试过吗?它允许您向数据库发送任意sql: connection.execute("SET DATESTYLE TO PostgreSQL,European;") 我不确定你是否需要或想要分号 初始值设定项是这样做的合适位置: # config/initializers/set_datestyle.rb ActiveRec

我需要在postgresql中设置一个运行时参数。它是“将DATESTYLE设置为PostgreSQL,European;”。在Rails应用程序中,我在哪里可以传递它?

您尝试过吗?它允许您向数据库发送任意sql:

connection.execute("SET DATESTYLE TO PostgreSQL,European;")

我不确定你是否需要或想要分号

初始值设定项是这样做的合适位置:

# config/initializers/set_datestyle.rb

ActiveRecord::Base.connection.execute 'SET DATESTYLE TO PostgreSQL,European;'
您不想为每个新连接使用“SET DATASTYLE”语句吗?那么初始值设定项不是正确的位置

我想你应该看看

ActiveRecord::Base.postgresql\u连接

ConnectionAdapters::PostgreSQLAdapter#配置_连接(专用)

此票证具有mysql世界中类似问题的修补程序:

可能会帮助您查找正确的文件

另一方面,设置环境变量PGDATESTYLE可能更容易,请参见

www.postgresql.org/docs/8.2/static/datatype-datetime.html

在“8.5.2.日期/时间输出”一节的末尾,它说 用户可以使用SET-datestyle命令、postgresql.conf配置文件中的datestyle参数或服务器或客户端上的PGDATESTYLE环境变量来选择日期/时间样式。此外,还可以使用_char的格式化功能(参见第9.8节)来更灵活地格式化日期/时间输出

在服务器上或客户端上

斯蒂芬