我有一个SQL Server 2005旧数据库,其中有一个名为 user 的表和一个映射到'user'表的模型User。
'user'是Sql Server中的保留字,所以我需要ActiveRecord来引用/括起查询中的表名
Select u.* from [user] where [user].[Id] = 1
默认为
Select u.* from user where user.[Id] = 1
由于保留字冲突而失败。
如何通知rails使用标准带引号的标识符或括号标识符来分隔表名中的保留字和/或空格?
Rails模型
class User < UserBase
set_primary_key "Id"
set_table_name "user"
end
class UserBase < ActiveRecord::Base
establish_connection "tums_#{[Rails.env]}"
self.abstract_class = true
end
答案 0 :(得分:0)
这是MS Sql server的jruby activerecord jdbc适配器源中的错误。它已被修复。
https://github.com/jruby/activerecord-jdbc-adapter/issues/49