Question

Eh bien, maintenant que je l'ai finalement obtenu mon truc stupide ODBC configuré, je pris un fichier schema.rb que je jetai à partir d'une base de données Postgres et a fait un db:schema:load sur dans un projet Rails configuré pour SQL Server.

Eh bien, il met tout le schéma dans la base de données SQL Server, sauf pour un détail: pas de clé étrangère sont créés.

La commande rake ne montre aucune erreur et ne dit qu'il ajoute des clés étrangères. Mais ils ne sont pas réellement ajoutés. Ceci est le dernier bit de la commande:

-- add_foreign_key("workhistoryform", "form", {:name=>"workhistoryform_form_rid_fkey", :column=>"form_rid", :primary_key=>"form_rid"})
   -> 0.0002s
-- initialize_schema_migrations_table()
   -> 0.0092s
-- assume_migrated_upto_version(0)
   -> 0.0942s
[earlz@earlzarch avp_msql_migrations]$

Alors, quel est le problème? Le Foreigner plugiciel fonctionne pas dans SQL Server? Si elle n'a pas que je vous attendez à voir une erreur ou quelque chose ...

Était-ce utile?

La solution

Ok, je l'ai fixé. Eh bien, piraté de toute façon. Foreigner ne sont pas réellement un support intégré pour SQL Server, mais il est assez proche de SQL_2003 que cela fonctionne (moins la suppression des clés étrangères et la détection du schéma)

J'ai fait un post sur ce sur mon blog qui en fait bouillir jusqu'à l'ajout d'un à la liste des cartes et la création d'un nouvel adaptateur très simple pour SQL Server (utilisez l'adaptateur PostgreSQL comme modèle). (Modification de la gemme Etranger)

Autres conseils

Je fixe cela correctement et envoyé une demande de tirage à l'auteur de l'étranger. Pendant ce temps, vous pouvez utiliser la version de mon dépôt: https://github.com/cjheath/foreigner

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top