2015-01-08 21 views
6

Sto provando a distribuire la mia app Rails su Heroku e ora voglio caricare il mio schema. Ottengo il seguente errore:Caricamento schema Heroku: Autorizzazione negata per database "postgres" Utente

Running `bundle exec rake db:schema:load` attached to terminal... up, run.1533 
rake aborted! 
PG::ConnectionBad: FATAL: permission denied for database "postgres" 
DETAIL: User does not have CONNECT privilege. 

che è strano perché postgres non è il database dovrebbe connettersi. L'URL del database, che è disponibile per l'app tramite ENV, ha i valori corretti e il nome apparentemente casuale d3kwlkwlwjwljetc....

La ricerca di questo messaggio mi dà persone che stanno cercando di eliminare o resettare il DB, che non è quello che sto facendo.

  • devo 0 righe
  • ho provato pg:reset, anche rimosso e messo di nuovo il database. Inutile
  • non sto facendo db:drop, basta db:schema:load

Sono sbalordito. Perché la mia app non può connettersi?

Modifica: Apparentemente, non posso schema:load, ma posso eseguire la migrazione di tutte le mie migrazioni. Perché?

risposta

9

Sembra che questo sia un problema in Rails stesso - c'è una discussione su di esso allo https://github.com/rails/rails/issues/17945 - sembra che ci sia un commit (https://github.com/rails/rails/blob/master/activerecord/lib/active_record/tasks/postgresql_database_tasks.rb#L77) che si connette al database posgres che non è permesso su Heroku quindi fallisce.

In breve, per il momento utilizzare db: migrare fino a quando il problema non viene risolto.

+0

Grazie John! Speriamo che questo possa aiutare gli altri che si imbattono nella stessa cosa. Sembra che la patch sia stata rilasciata in 4.1.9 e 4.2.0. –

Problemi correlati