Я использую его около года. Мне нравится рабочий процесс, который он предоставляет, но я нахожу отсутствие доступа к данным реальным беспокойством. Ваши варианты работы с базой данных:
Тапы. Теоретически вы создаете базу данных так, как хотите, и используете метки для копирования схемы и данных в Heroku. На практике большую часть времени это удивительно здорово. Однако в настоящее время я занимаюсь очисткой после того, как касания плохо перевели некоторые мои столбцы и повредили мои данные.
Консоль Heroku: Полностью подходит для всех обычных вещей ActiveRecord, но ближе всего к базе данных вы можете получить ActiveRecord :: Base.connection.execute "some sql". Когда вы обнаружите, что задаетесь вопросом о таких командах изменения таблицы, вы будете знать, что у вас проблемы.
Они также предоставляют «комплект» в качестве метода для резервного копирования вашего приложения. Это позволяет вам загрузить весь ваш код плюс дамп базы данных sql. Сложность состоит в том, что, поскольку нет прямого доступа к базе данных, нет способа загрузить этот же дамп sql обратно в базу данных, поэтому вы можете восстановить данные из dataloss, что, с моей точки зрения, имеет смысл начинать с этих файлов дампа. Все, для чего вы можете использовать пакет, - это создать новое приложение (heroku bundles: animate), а не восстановить текущее приложение.
Я бы хотел быть неправым в отношении любого / всего этого. Это похоже на странное грубое пятно в самом продуманном сервисе, о котором я знаю. Доступ к базе данных, как правило, не кажется слишком сложным, когда большая часть того, что вы делаете, делается так легко.
Для меня доступ к базе данных подобен огнетушителю. Обычно не имеет большого значения, но когда это имеет значение, это имеет большое значение.