Есть ли способ отредактировать Yero-файл herokus - PullRequest
0 голосов
/ 04 августа 2009

Я устанавливаю удаленное соединение локально и нужно подтолкнуть его к героку. Когда я толкнул его к героку, я получил сообщение об ошибке:

RemoteDBName не настроено.

Я просто предполагаю (также искал и видел) heroku использует свой собственный файл config.yml.

Ответы [ 2 ]

0 голосов
/ 17 ноября 2009

Позвольте мне показать вам, как выполняется конфигурация базы данных при работе с Heroku. Я думаю, что это может быть немного расплывчатым в документации, некоторые люди запутываются по этому поводу. Давайте использовать консоль:

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 на практике заменяет ваши приложения database.yml, когда вы отправляете свой сайт на их серверы. Ваши данные будут храниться на одном из их модных серверов PostgreSQL независимо от того, что вы используете локально - это означает, что вам вообще не нужно думать о database.yml (за исключением целей разработки, естественно). Тапс гарантирует, что все дБ агностик. Если вы хотите перенести свою последнюю версию db в Heroku, просто запустите heroku db: push

0 голосов
/ 12 августа 2009

Понял это, для любого, кто подключается к удаленной базе данных на heroku, который может увидеть это:

Heroku заменяет ваш файл database.yml своим собственным, перезаписывая что-либо в вашем.

Чтобы обойти это:

  • Создайте новый файл в папке конфигурации, назовите его в любом месте .yml
  • Установить строку подключения в этом файле.
  • Создайте новый файл в папке инициализаторов, я назвал мой load_remote.rb. В этом файле напишите эту строку кода:

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

  • Установите соединение в любой из удаленных моделей с помощью этой строки кода:

    create_connection Remote_DB [«Какую бы строку вы ни назвали в файле yml здесь»]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...