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 ...

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top