J'ai une classe d'enregistrement actifActiveRecord clé primaire est un varchar, erreur lors de l'enregistrement
class Service_Catalogue < ActiveRecord::Base
set_table_name "service_catalogue"
set_primary_key "myKey"
end
myKey est un nvarchar (serveur SQL).
Lorsque je tente de l'enregistrer
service_catalogue= Service_Catalogue.new()
service_catalogue.myKey = "somevalue"
service_catalogue.save
J'obtiens l'erreur suivante:
IDENTITY_INSERT could not be turned OFF for table [service_catalogue] (ActiveRecord::ActiveRecordError)
Il semble que ActiveRecord pense que la clé primaire est une colonne d'identité (ce n'est pas son varchar) et ainsi échoue.
Existe-t-il un moyen de lui dire de ne pas essayer et de désactiver l'insertion d'identité?
MISE À JOUR
Il se trouve la version de l'adaptateur serveur sql enregistrement actif était à blâmer. J'avais précédemment utilisé 1.0.0.9250 mais en quelque sorte 2.2.19 a été installé (je présume quand faire une mise à jour de gemme). Après revenir à l'ancienne version, cela fonctionne très bien.
Ce schéma existe-t-il? –
oui, c'est un design de déchets, mais c'est la façon dont il doit être :) –