8

La società per cui lavoro sta cercando di passare da ColdFusion 8/Windows a Ruby on Rails/Linux. La nostra soluzione di database rimarrà come MSSQL 2008 su Windows. Probabilmente seguirò una serie di domande relative a questa migrazione separatamente, ma per ora ho una domanda specifica per Rails & MSSQL.Rails & MSSQL 2008: riusciremo a superare le barriere?

Nel 2006, quando stavo lavorando con Ruby su Rails per la prima volta, il supporto per le installazioni MSSQL era piuttosto incerto. Le cose hanno funzionato per la maggior parte, ma ActiveRecord non ha potuto far fronte a certe funzioni prive di T-SQL. In primo luogo, ricordo che l'auto-paging non funziona a causa della mancanza di una parola chiave OFFSET come quella trovata in MySQL.

Sono curioso di sapere se il nostro server DB principale che esegue MSSQL 2008 sarà in grado di sfruttare più delle funzionalità di ActiveRecord. Se ci sono particolari caratteristiche che non sono disponibili, sarei curioso di sapere cosa siano.

+0

Sto cercando di indovinare, ma sono abbastanza sicuro: l'offset si interrompe su mssql e non sono sicuro se: limita correttamente le mappe a TOP. –

+0

Che cosa significa esattamente "la maggior parte" per te? –

+0

Suppongo che il supporto MSSQL sia abbastanza buono dato che i tassi di adozione di Rails sono aumentati così tanto, quindi sarei curioso di sapere cosa funziona ** non **, piuttosto che cosa funziona. –

risposta

4

Sì, ci sarà dolore.

Stiamo eseguendo Rails/SQL Server in produzione al momento. Tutto il nostro sviluppo è fatto su OS X/linux e distribuito ai server di app di linux.

Siamo andati con JRuby alla fine perché la connessione tramite JDBC piuttosto che ODBC è stata molto meno dolorosa. JRuby è di per sé una buona piattaforma, ma non abbiamo avuto problemi a causa di stranezze con terze parti e plugin che spesso non funzionano sotto JRuby (specialmente se hanno estensioni native).

Ci sono ancora buchi nel supporto: il paging è ancora incerto, ma ora funziona. Dalla memoria ci sono alcune stranezze attorno all'unicode e alla codifica dei caratteri.

L'unico motivo per cui SQL Server viene utilizzato è perché era ciò che il team dell'infrastruttura IT ha imposto. MySQL/Postgres è una soluzione molto migliore se possibile. Funziona tutto bene.

+1

Grazie per le informazioni. Sembra che MSSQL 2008 sarà la nostra unica scelta. Stavo dando un'occhiata a questo adattatore: http://github.com/rails-sqlserver - hai qualche esperienza con esso? Sembra affrontare molti problemi, ma ha anche problemi a giudicare dal tracker dei problemi. –