Ruby on Rails Straniero plugin non lavora per SQL Server
-
25-09-2019 - |
Domanda
Bene, ora che ho finalmente avuto la mia roba stupida ODBC configurato, ho preso un file schema.rb che ho buttato da un database Postgres e ha fatto un db:schema:load
su di esso in un Rails progetto configurato per SQL Server.
Bene, esso imposta tutto lo schema nel database di SQL Server tranne che per un piccolo dettaglio: Non vengono creati chiavi esterne.
Il comando rake non mostra eventuali errori e non dire che è l'aggiunta di chiavi esterne. Ma in realtà non vengono aggiunti. Questo è l'ultimo bit del comando:
-- 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]$
Allora, qual è il problema? Non lo straniero non plugin di lavorare in SQL Server? Se non lo ha fatto mi aspetto di vedere un errore o qualcosa del genere ...
Soluzione
Ok, ho riparato. Beh, hacked comunque. Straniero in realtà non hanno un supporto incorporato per SQL Server, ma è abbastanza vicino a SQL_2003 che funziona (meno di rimuovere le chiavi esterne e il rilevamento della Schema)
Ho fatto un post su di esso sul mio blog che sostanzialmente ridotte a l'aggiunta di un a l'elenco delle schede e la creazione di un semplice nuovo adattatore per SQL Server (utilizzare l'adattatore di PostgreSQL come modello). (Modificando la gemma Straniero)
Altri suggerimenti
Ho fissato questo correttamente e ha inviato una richiesta di pull all'autore straniero. Nel frattempo, è possibile utilizzare la versione dal mio repository: https://github.com/cjheath/foreigner