У меня есть активный класс записи
class Service_Catalogue < ActiveRecord::Base
set_table_name "service_catalogue"
set_primary_key "myKey"
end
myKey — это nvarchar (сервер sql).
Когда я пытаюсь сохранить его
service_catalogue= Service_Catalogue.new()
service_catalogue.myKey = "somevalue"
service_catalogue.save
Я получаю следующую ошибку:
IDENTITY_INSERT could not be turned OFF for table [service_catalogue] (ActiveRecord::ActiveRecordError)
Похоже, что ActiveRecord считает, что первичный ключ является столбцом идентификаторов (это не varchar), и поэтому терпит неудачу.
Есть ли способ сказать, чтобы он не пытался отключить вставку личности?
ОБНОВЛЕНИЕ
Оказывается виновата была версия активного адаптера sql server. Раньше я использовал 1.0.0.9250, но каким-то образом был установлен 2.2.19 (я полагаю, при обновлении драгоценного камня). После возврата на старую версию все работает.