2011-04-26 30 views
0

我有一個SQL Server 2005舊數據庫,其中有一個名爲的用戶和一個映射到'用戶'表的模型用戶。Rails Active Record - 引用標識符 - MS Sql Server保留表名

「用戶」是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 

回答