Pergunta

Configuração I uma conexão remota localmente e necessidade de empurrá-lo para heroku. Quando eu empurrei-o para heroku eu tenho um erro dizendo:

RemoteDBName não está configurado.

Eu só estou assumindo (também procurou e saw) heroku usa seu próprio arquivo config.yml.

Foi útil?

Solução

descobriram isso, para qualquer pessoa conectar a um banco de dados remoto em heroku que pode ver o seguinte:

Heroku substitui seu arquivo database.yml com a sua própria, substituindo qualquer coisa na sua.

Para contornar este problema:

  • Crie um novo arquivo na pasta de configuração, nomeá-lo whatever.yml
  • Configuração a seqüência de conexão no arquivo.
  • Crie um novo arquivo em suas initializers pasta, liguei para o meu load_remote.rb. Neste arquivo de gravação esta linha de código:

    REMOTE_DB = YAML.load_file ( "# {RAILS_ROOT} /config/YOURNEWFILEHERE.yml")

  • Estabelecer a conexão em qualquer um dos modelos remotos com esta linha de código:

    establish_connection Remote_DB [ 'O que quer que você nomeou sua seqüência de conexão no arquivo yml aqui']

Outras dicas

Deixe-me mostrar-lhe como configuração de banco de dados é feito quando você trabalha com Heroku. Acho que isso pode ser um pouco vaga na documentação, algumas pessoas ficam confusas sobre ele. Vamos utilizar o console:

zero:~/Projects/crantastic $ heroku console
Ruby console for crantastic.heroku.com
>> puts File.read(Rails.configuration.database_configuration_file)
---
production:
  encoding: unicode
  adapter: postgresql
  username: something_random
  port: 5432
  host: somewhere.at.heroku
  database: something_random
  password: something_random

=> nil
>>

Heroku na prática substitui seus aplicativos database.yml quando você empurrar o seu site para seus servidores. Seus dados serão armazenados em um de seus servidores PostgreSQL fantasia, não importa o que você usa localmente - isto significa que você não tem que pensar database.yml em tudo (exceto para purpses de desenvolvimento, naturalmente). Torneiras torna-se agnóstico db que está tudo bem. Se você quer empurrar o seu db de desenvolvimento mais recente a Heroku, basta executar heroku DB: impulso

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top