Optionen zum Testen von PostgreSQL PostGIS auf Heroku?

8

Ich bin dabei, eine Anwendung zu erstellen, die die PostGIS-Erweiterungen für PostgreSQL stark nutzt. Ich habe das gefunden:

Ссылка

Was mir nahelegt, dass ich PostGIS nur auf Ronin und über DBs bekommen kann. Für mich ist das völlig in Ordnung für die Produktion. Mein Plan war, diese DB-Ebene für mein Produktionssystem zu verwenden.

Ich habe jedoch auch eine Stage- und Entwicklungsumgebung auf Heroku, was bedeutet, dass ich auch für diese Umgebungen eine PostGIS-fähige Datenbank haben muss, da ich keine Tests aus einer Produktions-DB heraus ausführen kann. Ich brauche eine Option, um diese Umgebungen zu unterstützen und als solche frage ich mich:

Können Sie eine Verbindung zu einer DB auf Heroku herstellen, außer durch den Addons-Prozess?

Ich habe versucht, manuell eine config var für eine Test-DB hinzuzufügen, aber es funktioniert nicht nur auf magische Weise durch pg: promote - es gibt noch etwas anderes, das steuert, wie Heroku eine gültige Datenbank betrachtet.

Alle anderen Optionen, an die die Leute denken könnten, wären willkommen. Ich weiß, dass es eine Closed Beta von SpacialDB gibt, die funktionieren könnte (schon in die Materie hinein), aber alles andere, was irgendjemand sonst denken kann? Ich bin nur nicht bereit, $ 400 extra pro Monat für dedizierte DBs für Test / Bühne zu bezahlen.

    
smyrgl 30.05.2012, 01:07
quelle

3 Antworten

3

Sie können eine Datenbank für die Produktionsschicht pro Bedarf erstellen (bereitstellen) und löschen. Die Datenbank für die Einstiegsebene, die Produktionsebene, kostet 0,07 $ / Stunde (oder 1,67 $ / Tag); Es hält die Datenbank in Vollzeit bereit, die Sie $ 50 / Monat kostet. Siehe Heroku Postgres Production Tier Technische Charakterisierung .

Bereitstellung einer Datenbank

1. Dies kann in ein oder zwei Zeilen erfolgen.

%Vor%

Obwohl der Bereitstellungsprozess 3-5 Minuten dauert, wird die Eingabeaufforderung schnell zurückkehren. Gemäß der Nachricht können Sie den Bereitstellungsstatus verfolgen:

%Vor%

Beachten Sie, dass Sie die beiden oben genannten Befehle auf einmal ausführen können ( && stellt sicher, dass der zweite Befehl nur ausgeführt wird, nachdem der erste erfolgreich zurückgegeben wurde):

%Vor%

2. Wenn Sie fertig sind ("verfügbar"), setzen Sie DATABASE_URL mit dem oben genannten Namen (d. h. HEROKU_POSTGRESQL_GOLD_URL ). Ich mache es in einem Schuss, um das Kopieren / Einfügen zu vermeiden:

%Vor%

3. Migrieren oder Wiederherstellen.

Wenn Sie das erste Mal die oben genannten Schritte ausführen, müssen Sie die Datenbank einrichten (z. B. indem Sie die Migrationen ausführen: heroku run rake db:migrate --remote staging und möglicherweise gefolgt von heroku restart --remote staging ).

Nachher werden Sie von einem Backup wiederherstellen und können damit fortfahren, wo Sie aufgehört haben:

%Vor%

Erstellen Sie ein Backup

%Vor%

Entferne die Datenbank

%Vor%

Weitere Informationen finden Sie unter

user664833 13.01.2014 01:20
quelle
0

Wir verwenden PostGIS auf Heroku.

1) Sie können von "überall" eine Verbindung zu einer nicht freigegebenen Heroku-App herstellen. Sobald Sie eine größere Datenbank ausführen, können Sie die Verbindungszeichenfolge verwenden, um eine Verbindung mit einer beliebigen App oder der postgres-Befehlszeile herzustellen. Es gibt sehr wenig, was Sie in der Datenbank nicht tun können. Sie können dies nicht mit einer kleineren, gemeinsam genutzten db tun.

2) Wir haben eine dedizierte DB für unsere Staging-Umgebung. Wenn Sie das nicht tun, testen Sie nicht wirklich unter den gleichen Bedingungen wie prod und Sie werden nicht in der Lage sein, Probleme zu finden. Wir verwenden Rails, also wollen wir eine "identische" db, um Migrationen zu laufen, bevor wir in Produktion gehen.

3) Wir führen Postgres lokal (und auf Jenkins) aus, um unsere Tests gegen uns auszuführen.

    
John Hinnegan 04.04.2013 19:05
quelle
-1

Vielleicht haben Sie die letzten Ankündigungen einer eingeschränkten PG 9.1-Datenbank auf Heroku verpasst?

Ссылка

Auch der neue Crane Plan, Ссылка kann auch für dich arbeiten.

    
John Beynon 30.05.2012 22:02
quelle

Tags und Links