5

Sono nuovo di Beanstalk. Ho creato un'applicazione Rails e impostato la configurazione di produzione del database per utilizzare le variabili di ambiente fornite in modo auspicabile da AWS. Sto usando Mysql (mysql2 gem), e voglio usare RDS e Passenger (non ho preferenze lì).rake db: migrazione corre in sviluppo AWS Beanstalk

Nel mio ambiente di sviluppo posso eseguire l'applicazione rails con il mio Mysql locale (è solo un'applicazione di base che ho creato per la sperimentazione). Ho aggiunto la gemma del passeggero a Gemfile e impacchettata, ma sto ancora usando WEBBrick in sviluppo.

L'unica cosa che non ho fatto nel libro è che non ho usato "eb", ma piuttosto provato dalla console. La mia applicazione/ambiente non è riuscita a funzionare mentre "rake db: migrate" pensa ancora che volevo che si connettesse al Mysql locale (credo dai log che non è a conoscenza di RACK_ENV e quindi usa 'sviluppo').

Qualche consiglio? Naturalmente posso provare il prossimo 'eb', ma preferirei lavorare con la console.

saluti, Oren

+0

Ho anche provato con 'eb' e anche con 'RACK_ENV' e 'RAILS_ENV' in 'myapp, config' sotto .ebextensions.Sono davvero perplesso. Non può essere così difficile, tutti usano AWS in questi giorni, no? – Oren

risposta

2

In Elastic Beanstalk (sia la console Web e CLI), è possibile passare variabili Environnement. Se superi la variabile RAKE_ENV, cambierai il tuo ambiente.

Dopodiché è necessario passare i parametri del database (password db, nome, ...) che non devono essere codificati nel codice.

+0

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

3

Hai provato a eseguire

bin/rake db:migrate RAILS_ENV=development 

? Ho avuto lo stesso problema e questo ha funzionato per me.

+0

Non sono sicuro di seguirmi. Dove gestirlo? e perché lo sviluppo? – Oren

+0

in te cmd e sviluppo perché è un ambiente di sviluppo –

1

vi consiglio di inserire a istanza EC2 attraverso questo comando "eb ssh" (La prima volta che avete bisogno specificato .pem file, se non si dispone di quello che si può creare in servizi IAM) e di controllo i tuoi registri per ulteriori informazioni sul tuo errore.

In caso di problemi quando si sta caricando il codice (e ter Deploy) si ha il registro in questo file: "/var/log/eb-activity.log" (Ricordati di questo file è nella tua istanza EC2)

Se avete problemi con la vostra applicazione, è possibile leggere i log in questo file: "/var/app/support/logs/production.log" o "/var/app/supporto/logs/passenger.log "

Altre raccomandazioni è l'installazione EB CLI versione 3. per gestirlo r eb esempio

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

0

ho creduto che Elastic Beanstalk verrà eseguito 'rake db: migrate' da solo. In effetti sembra provarci, ma questo sta fallendo. Ho dato la mia generosità a "Yahs Hef", anche se ci provo solo questa sera (Regno Unito). Il mio disorientamento con AWS mi ha fatto dimenticare questa facile soluzione, di gestire la migrazione da solo. Se questo non funziona da solo, semplificherò la configurazione del database il più possibile.

+0

Funziona. Era la mia stupidità. Una volta che ho provato a eseguire la migrazione da solo, mi sono reso conto che ho dimenticato un '=' in '<% RDS ..' (dovrebbe essere '<% = RDS ..' ovviamente. Altro da quello, impostando il segreto, magari con un'altra variabile d'ambiente, e funziona. – Oren

Problemi correlati