У меня активная запись класса
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) и поэтому не работает.
Можно ли сказать, что он не должен пытаться отключить идентификационную вставку?
UPDATE
Оказывается, виновата версия сервера SQL Server с активной записью.
Ранее я использовал 1.0.0.9250, но каким-то образом 2.2.19 был установлен (я полагаю, что при обновлении gem). После возврата к старой версии все работает нормально.