2013-07-31 11 views
5

Attualmente sto valutando Nitrous.io e mi piace quello che vedo finora. Al momento ho alcuni database per test e sviluppo eseguiti sul servizio Postgresql ospitato da Heroku. Sto incontrando alcuni problemi durante l'esecuzione di test, e spero che da qualche parte qui possa avere una soluzione.Impossibile eseguire i test Ruby on Rails sui database di Postgres ospitati da Heroku

quando ho eseguito rake db: prova: preparare Sto ottenendo l'errore:

FATAL: permission denied for database "postgres"                             
DETAIL: User does not have CONNECT privilege. 

Da quello che ho letto altrove, che sta cercando di eliminare il database, ma database ospitati di Heroku non consentono quella. Qualcuno là fuori sa come eseguire i test di Rails su Postgresql di Heroku?

+0

Perché dovresti provare a eseguire test su heroku? –

+0

Sto sviluppando su Nitrous.io e raccomandano di usare la soluzione Postgres ospitata da Heroku per il database. L'ho menzionato sopra, non ho davvero spiegato molto su Nitrous, suppongo. Sto solo cercando di vedere se c'è una soluzione quando si sviluppa in "the cloud" usando Nitrous.io. – RyanN

+0

Forse sono un idiota ma non ho idea di cosa faccia questo nitrous.io (e sì, ho visto sulla loro pagina) –

risposta

3

Nitrous.IO ha rilasciato un gestore di pacchetti che vi permetterà di installare Postgres all'interno della vostra casella di azoto. Questo può essere utilizzato per il database di prova così come il vostro database di sviluppo, se necessario:

https://github.com/action-io/autoparts

Questo richiede anche che si sta utilizzando una scatola di azoto è in esecuzione la versione "crusca" o successiva (vedi README). Potrebbe essere necessario terminare/creare una nuova casella se si esegue sulla versione "arya".

Per utilizzare gli autoparti, eseguire parts search per visualizzare tutti i pacchetti disponibili.

Per installare PostgreSQL all'interno della casella di azoto, eseguire il seguente comando:

parts install postgresql

Assicurarsi che il file config/database.yml imposta in modo esplicito host: localhost per ogni database che si desidera connettersi, oppure l'adattatore pg non riuscirà a trova il socket a cui è necessario connettersi.

+0

Come posso collegare un'app per rails e postgresql tramite parti? Lo stato delle parti dice che postgresql è in esecuzione, ma posso usare db: migrare la mia app. – cpursley

+0

Funzionalità piacevole. Tuttavia sto avendo lo stesso problema di cpursley. Quando eseguo rake db: create: all I'm getting "Impossibile connettersi al server: Nessun file o directory di questo tipo Il server è in esecuzione localmente e accetta le connessioni sul socket del dominio Unix" /var/run/postgresql/.s.PGSQL. 5432 "?" Qualche suggerimento? – RyanN

+0

Anche io ho lo stesso problema.'psql' funziona perfettamente con un nome utente predefinito, senza password, ma per qualsiasi ragione una semplice configurazione di database.yml non è in grado di stabilire una connessione con l'errore di cui sopra. :-( –

0

Secondo i documenti di Heroku, è necessario utilizzare "heroku pg: reset" nel task rake.

https://devcenter.heroku.com/articles/rake

+0

Il fatto è che non è un sito di heroku. Sto solo utilizzando la soluzione di database ospitata da Heroku Postgres. – RyanN

+0

@RyanN Ma dovevi creare un'app di Heroku per ottenere il database, vero? –

+0

@MichaelSzyndel No, è possibile eseguire il provisioning dei database Heroku senza ospitare un'app su Heroku. https://postgres.heroku.com/ – RyanN

Problemi correlati