Какая база данных настроена на Heroku? - PullRequest
2 голосов
/ 22 декабря 2011

Я развернул свое приложение Rails 3.1 с базой данных MySQL в Heroku, и там все работает отлично.Я имею в виду, что в базе данных сохраняются правильные символы (кажется, что в базах данных на Heroku используется кодировка UTF).

Но когда я выполню команду heroku db:pull (эта команда загрузит всю базу данных из Herokuв базу данных на локальном хосте), поэтому загруженные данные, хранящиеся в базе данных, имеют плохое кодирование - символы отображаются плохо (похоже, моя локальная база данных MySQL имеет другой набор символов, чем MySQL на Heorku).

Может ли кто-нибудь дать мне совет, как мне найти набор символов, используемый в базе данных Heroku, и как использовать его в моей локальной базе данных MySQL?

Большое спасибо!

Ответы [ 2 ]

4 голосов
/ 22 декабря 2011

Еще не все потеряно - вам действительно не нужно использовать PostgreSQL, если вы не хотите.

Если ваша база данных достаточно мала (что должно быть, поскольку база данных Heroku PostGres также составляет 5 МБ), и вы предпочитаете оставаться на mySQL, тогда вы можете использовать аддон MySQL ClearDB - http://addons.heroku.com/cleardb - их БД начального уровня является бесплатной и имеет тот же размер, что и БД Heroku Shared PostGres, которую вы получаете по умолчанию, но будьте осторожны, что количество соединений ограничено, поэтому не сходите с ума из-за количества веб-динамо.

После добавления дополнения, если вы посмотрите на вывод heroku config, вы можете использовать DATABASE_URL для локального создания соединения в вашем любимом инструменте администрирования mySQL для восстановления / резервного копирования и т. Д. Данных в ClearDB. Вы можете даже найти heroku db: push будет работать, но лично я не пробовал, так что думаю.

2 голосов
/ 22 декабря 2011

Проблема в том, что Heroku не использует базу данных MySQL в производстве, а базу данных PostgreSQL.

Поэтому вы столкнетесь с множеством проблем, связанных с извлечением и извлечением данных из другого механизма базы данных.Taps - это процесс, основанный на активных записях, который уменьшит эту проблему, но не всегда.

В идеале вы хотите использовать PostgresSQL на своей машине разработки (установите для простоты на OSX Homebrew ) и выЯ не вижу больше этих проблем.

В качестве альтернативы, используйте один из аддонов MySQL, как описано в комментариях к вопросу.

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