Rails Active Record - Кавычные идентификаторы - MS Sql Server зарезервированные имена таблиц - PullRequest
0 голосов
/ 27 апреля 2011

У меня есть устаревшая база данных 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

, который завершается неудачно из-за конфликта резервных слов.

Как я могу сообщить рельсам, чтобы они использовали стандартные кавычки или заключенные в скобки идентификаторы для разграничения зарезервированных слов и / или пробелов в именах таблиц?

Модели рельсов

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

1 Ответ

0 голосов
/ 04 октября 2011

Это ошибка в источнике адаптера jruby activerecord jdbc для сервера MS Sql.С тех пор это было исправлено.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...