Aplikacja z dwoma różnymi adapterami bazy danych?

Czy praktykowaliście może ideę stosowania bazy danych SQLite lokalnie w środowisku developerskim i MySQL/PostgreSQL w produkcyjnym? Czy tego typu rozwiązanie posiada jakieś niedogodności lub przeciwwskazania? I jak skonfigurować tego typu niestandardowe rozwiązanie? Przy tworzeniu aplikacji podaję zawsze typ bazy danych, np. rails app_name -d mysql i w konfig jest spreparowany pod konkretną bazę danych.

Z góry dziękuję za wszelką pomoc :slight_smile:

Przepraszam, ale chodzi tobie o coś takiego:?

[code]development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000

test: &TEST
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000

production:
adapter: mysql
database: app_prod
username: user
password: pass
socket: /tmp/mysql.sock

cucumber:
<<: *TEST[/code]
?

pozdrawiam

Przeciwwskazania są takie, że sqlite na poziomie sql-a jest trochę inna niż MySQL. Problemu nie ma jeśli używasz tylko metod dostarczanych przez AR, ale problemy mogą pojawić się kiedy chcesz napisać własne findery, find_by_sql itd.

Dziękuję punkracy, właśnie tak sobie myślałem, że to kwestia tylko konfiguracji adapterów.

Nie, nie, nie będzie surowych SQL-i. W aplikacji będą tylko metody Active Record’s. Czy prócz tego co podałeś wyżej są jeszcze jakieś “pułapki”?

@bbmmog

A będziesz korzystał z jakichś gemów/pluginów? One mogą mieć właśnie własne findery i wtedy może wystąpić kłopot - raz natknąłem się na plugin, który bezproblemowo działał z sqlite, a sypał się pod postgresem na serwerze.

Warto napisać testy dla aplikacji (w zasadzie to trzeba ;), a później odpalić coś do CI, np. integrityapp.com