5

Ich bin neu in Beanstalk. Ich habe eine Rails-Anwendung erstellt und die Datenbankproduktionskonfiguration auf die von AWS hoffentlich bereitgestellten Umgebungsvariablen eingestellt. Ich benutze Mysql (mysql2 gem) und möchte RDS und Passenger verwenden (ich habe dort keine Präferenz).Rake db: Migration läuft in Entwicklung AWS Beanstalk

Auf meiner Entwicklungsumgebung kann ich die Rails-Anwendung mit meinem lokalen Mysql ausführen (es ist nur eine grundlegende Anwendung, die ich für das Experimentieren erstellt habe). Ich habe Gemobile den Passagier Gem hinzugefügt und gebündelt, aber ich benutze WEBBrick in der Entwicklung immer noch.

Das einzige, was ich nicht mit dem Buch gemacht habe, ist, dass ich 'eb' nicht benutzt habe, sondern von der Konsole aus versucht habe. Meine Anwendung/Umgebung konnte nicht ausgeführt werden, während "rake db: migrate" immer noch denkt, dass ich eine Verbindung mit dem lokalen Mysql herstellen wollte (ich denke aus den Logs, dass es RACK_ENV nicht kennt und daher 'Entwicklung' verwendet).

Irgendwelche Tipps? Ich kann natürlich als nächstes das 'eb' ausprobieren, würde aber lieber mit der Konsole arbeiten.

Grüße, Oren

+0

Ich habe es auch mit 'eb' versucht und auch mit 'RACK_ENV' und 'RAILS_ENV' in 'myapp, config' unter .extensionens.Ich bin wirklich verwirrt. Kann nicht so schwer sein, jeder benutzt AWS in diesen Tagen, nein? – Oren

Antwort

2

In Elastic Beanstalk (sowohl in der Web-Konsole und dem cli) können Sie environnement Variablen übergeben. Übergeben Sie die RAKE_ENV Variable, ändern Sie Ihre Umgebung.

Danach müssen Sie noch Ihre Datenbankparameter (db password, name, ...) übergeben, die nicht fest in den Code geschrieben werden sollen.

+0

http://stackoverflow.com/questions/7304576/how-do-i-set-up-the-database-yml-file-in-rails – JDPeckham

3

Haben Sie

bin/rake db:migrate RAILS_ENV=development 

zu laufen versucht? Ich habe das gleiche Problem und das hat für mich funktioniert.

+0

Nicht sicher, dass ich folge. Wohin soll das gehen? und warum Entwicklung? – Oren

+0

in dir cmd und entwicklung, weil es eine entwicklungsumgebung ist –

1

empfehle ich Ihnen zu EC2-Instanz durch diesen Befehl „eb ssh“ eingeben (das erste Mal, wenn Sie Sie .pem Datei angegeben müssen, wenn Sie keine haben Sie in IAM Dienste erstellen) und Scheck Ihre Protokolle für weitere Informationen zu Ihrem Fehler.

Wenn Sie Probleme haben, wenn Sie Ihren Code (eb deploy) hochladen Sie haben das Protokoll in dieser Datei: „/var/log/eb-activity.log“ (Denken Sie daran, diese Datei in Ihrem EC2-Instanz ist)

Wenn Sie ein Problem mit Ihrer App haben, können Sie die Protokolle in diesen Dateien lesen: "/var/app/support/logs/production.log" oder "/var/app/support/logs/passagier.log "

Andere recommedations ist installieren EB CLI Version 3. für Sie zu verwalten r eb Instanz

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html

0

Ich glaubte, dass Elastic Beanstalk 'rake db: wandern' läuft von selbst aus. In der Tat scheint es zu versuchen, aber das scheitert. Ich habe "Yahs Hef" mein Kopfgeld gegeben, obwohl ich es heute Abend nur versuchen werde (UK). Meine Orientierungslosigkeit bei AWS hat mich dazu gebracht, diese einfache Lösung zu vergessen, die Migration selbstständig durchzuführen. Wenn dies nicht funktioniert, werde ich die Datenbankkonfiguration so vereinfachen wie möglich.

+0

Es funktioniert. Es war meine Dummheit. Nachdem ich versucht habe, die Migration selbst durchzuführen, habe ich festgestellt, dass ich ein '=' in '% RDS ..' vergessen habe (sollte natürlich '<% = RDS ..' sein. das Geheimnis, vielleicht mit einer anderen Umgebungsvariablen, und es funktioniert einfach. – Oren

Verwandte Themen