【问题标题】:Rails Active Record - Quoted Identifiers - MS Sql Server reserved table namesRails Active Record - 带引号的标识符 - MS Sql Server 保留表名
【发布时间】:2011-04-26 20:03:50
【问题描述】:

我有一个 SQL Server 2005 旧数据库,它有一个名为 user 的表和一个映射到“用户”表的模型用户。

'user' 是 Sql Server 中的保留字,所以我需要 ActiveRecord 将查询中的表名引用/括起来

Select u.* from [user] where [user].[Id] = 1

默认是

Select u.* from user where user.[Id] = 1

由于保留字冲突而失败。

如何通知 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

【问题讨论】:

    标签: ruby-on-rails sql-server activerecord


    【解决方案1】:

    这是用于 MS Sql 服务器的 jruby activerecord jdbc 适配器源中的一个错误。它已经被修复了。

    https://github.com/jruby/activerecord-jdbc-adapter/issues/49

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-29
      • 1970-01-01
      • 2015-07-07
      相关资源
      最近更新 更多