há uma maneira para editar arquivo yml herokus
-
22-07-2019 - |
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.
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