Ich habe mehrere Versionen von PostgreSQL auf meinem Rechner (Ubuntu Trusty läuft).Postgres-Version in ActiveRecord-Konfiguration angeben
$ service postgresql status
9.1/main (port 5433): online
9.5/main (port 5432): online
Ich betreibe mehrere Ruby-Anwendungen mit Activerecord, die jeweils mit unterschiedlichen Versionen von Postgres sind, und ich möchte in der Lage, die Postgres Version in database.yml
, so etwas zu spezifizieren:
default: &default
adapter: postgresql
encoding: utf8
version: 9.1
# ... or, since this seems to be close to pg_wrapper's syntax:
cluster: 9.1/main
Was ich nicht möchte, muss port: 5433
angeben, da das wahrscheinlich für jede Version auf jeder Maschine anders ist, auf der es läuft. Gibt es eine Möglichkeit, dies zu tun?
Warum sollten Datenbankverbindungsdetails in der Versionskontrolle an erster Stelle bleiben? IMO '. gitignore' es und lass es alle mit ihren eigenen Details ausfüllen oder 'DATABASE_URL' in der Umgebung setzen. –
Ja, großartig, denn sie sind alle * sicher *, um alle Details richtig zu machen. – PJSCopeland
Sie kennen ihre Maschinen wahrscheinlich besser, oder? Soweit ich weiß, ist dieses Cluster-Ding Debian-spezifisch. Erwarten Sie, dass alle auf Debian (oder Derivaten wie Ubuntu) stehen? Beachten Sie außerdem, dass 'pg_wrapper' nur die Dienstprogramme betrifft, die Rails nicht verwendet (wahrscheinlich mit Ausnahme von' pg_dump' für das Schema in SQL). –