Переходите с SQLite3 на Mongo на Heroku? - PullRequest
2 голосов
/ 18 июля 2011

В настоящее время я использую SQLite3 с простым приложением для обмена сообщениями и изображениями, похожим на руководство по Rails 3 Hartl (с точки зрения структуры БД).Но я бы хотел перейти в Mongo для дальнейшего масштабирования / обучения.

Я также размещен на Heroku и использую общую базу данных объемом 15 ГБ.Я попытался установить MongoHQ и MongoMapper (согласно инструкциям Heroku) для перехода, и эта часть в соответствии с поддержкой Heroku настроена правильно.Однако, когда я выключаю общую базу данных, приложение перестает работать, а не запускается из Mongo.

Я не уверен, что делать дальше, нужно ли переписывать мой код на монго или монгомаппер все это решит?Потеряю ли я свои данные, если я изменюсь, если да, то как мне скопировать?

Может кто-нибудь из вас подскажет мне какие-нибудь ресурсы или поможет?Большое спасибо !!

1 Ответ

4 голосов
/ 18 июля 2011

MongoDB не является заменой базы данных SQL.Есть несколько вещей, которые нужно адаптировать:

  • Код моделей должен быть обновлен для использования MongoDB.Я могу предложить использовать Mongoid, ODM, так как это облегчит ваш путь обучения.Mongoid реализует Active Record.

  • Текущие данные, сохраненные в базе данных SQL, необходимо перенести - и это не происходит автоматически - в схемы MongoDB.MongoDB не поддерживает миграции, как вы привыкли в мире SQL.Для этого вам нужно написать свои собственные сценарии.

Я предлагаю вам написать простое приложение с нуля, используя выбранный вами ODM MongoDB - MongoMapper или Mongoid - чтобы вы могли ознакомиться сосновы MongoDB, прежде чем пытаться совершить миграцию.

...