Приложение Heroku с Xeround DB, как настроить?

Я пытаюсь настроить приложение Heroku, но использую базу данных Xeround. Инструкции, которые я нашел, немного сбивают с толку:

http://xeround.com/developers/heroku-cloud-database-mysql/ Пытаюсь пойти по второму пути, создавая БД прямо на Xeround.

Мои сомнения:

  • Требуется ли для этого надстройка Xeround? По крайней мере, аддоны heroku: добавьте xeround – приложение xxxx говорит: это дополнение доступно только для избранных пользователей.

  • Heroku DATABASE_URL должен быть установлен на: mysql://username:password@host:port/database Я видел несколько сообщений с mysql2 и mysql (в любом случае ни один из них не работал у меня). В моем файле gem есть mysql2, 0.2.7 (для Rails 3.0.x)

  • Я вижу конфиг var в порядке, но Heroku config --app xxx по-прежнему показывает SHARED_DATABASE_URL => postgres://pjyqfgjcbn:.... это нормально?

Затем из инструкций шаг № 5 действительно сбивает с толку, неясно, является ли эта часть необязательной или нет (я полагаю, что это так). И если это было обязательно, то не сообщается, в какой файл его нужно добавить...

Моя цель состоит в том, чтобы создать новое приложение Heroku, отправить существующее приложение, которое у меня есть, настроить его для использования Xeround DB, а затем запустить Heroku rake db:schema:load, но независимо от того, что я пытаюсь, я продолжаю получать:

рейк прерван! в конфигурации базы данных не указан адаптер

Есть идеи как настроить?

сделайте то же самое с Rails 3.0.5, но с некоторыми проблемами и комментариями. Является ли адаптер mysql или mysql2? Пример на Xeround о сайте установки: mysql://username:password@host:port/database

mysql2 — правильный гем для использования с Rails 3 (mysql 0.2.7 для 3.0.x и последний для 3.1), но имя в URL-адресе может быть просто именем, которое они выбрали. Я думаю, что ваш работал, но все же ...

Я предполагаю, что аддон Xeround Heroku не нужен, верно? аддоны heroku: добавить xeround – приложение xxxx говорит, что это дополнение доступно только для избранных пользователей

И, наконец, с mysql или mysql2 в имени URL-адреса базы данных, когда я пытаюсь выполнить миграцию, я просто получаю:

рейк прерван! в конфигурации базы данных не указан адаптер

Спрашивал Heroku, но ответа пока нет…


person Pod    schedule 29.10.2011    source источник
comment
Вы когда-нибудь получали ответ по этому поводу? Если это так, пожалуйста, поделитесь!   -  person Jonathan    schedule 29.12.2011
comment
Привет, на самом деле нет. Я все еще использую БД Heroku, в данный момент это не так срочно. Я мог бы попробовать позже, но на самом деле у меня нет ничего нового, чтобы попробовать, просто, может быть, начать с чистого листа. Вы сталкиваетесь с теми же проблемами?   -  person Pod    schedule 30.12.2011


Ответы (1)


Я использовал Xeround для нескольких своих приложений, размещенных на Heroku.

У меня нет особого опыта работы с Rails. Только Синатра... Но, надеюсь, это поможет вам.

Дополнением не пользуюсь. Самостоятельно настроить учетную запись через Xeround дешевле.

Подключитесь к нему так же, как и к любой базе данных MySQL....

Строка подключения будет выглядеть так, как вы указали: mysql://username:password@host:port/database

Хост/порт предоставляются Xeround в базе данных администратора. Имя базы данных будет любым, которое вы настроили в phpMyAdmin. Пользователь/пароль НЕ являются учетными данными вашей учетной записи Xeround. Это учетные данные, которые вы устанавливаете для этого экземпляра базы данных.

Например... если ваш ORM - Datamapper... сделайте что-то вроде этого:

DataMapper.setup(:default, ENV['XEROUND_CONN'])

Или, если вы используете Sequel:

DB = Sequel.connect(ENV['XEROUND_CONN'])

Затем вам нужно установить переменную ENV XEROUND_CONN (или как вы хотите ее назвать).

Сделайте это с помощью команды Heroku

heroku config:add XEROUND_CONN='mysql://username:password@host:port/database'

Предупреждение. В Datamapper возникла проблема с Xeround. Datamapper не поддерживает настройку вашего механизма хранения (myisam..etc..). Xeround использует собственный механизм хранения Xeround. Итак... У меня возникли проблемы с запуском auto_migrate из-за различий в механизме хранения.

person mscccc    schedule 17.01.2012