2012-03-28 3 views
1

При импорте или экспорте Базы данных с использованием кранов в герою, необходимо ли нам, чтобы мы выполнили команду heroku rake db: migrate command? В чем разница между migku push и heroku migrate? может кто-нибудь очистить меня этим?, спасибо. , ,импорт и экспорт базы данных

ответ

1

The Heroku документы на это довольно хорошо https://devcenter.heroku.com/articles/taps

, но я вижу, что его не совсем ясно, нужно ли запустить миграцию. Вы по существу берете свою локальную базу данных и подталкиваете ее как полную замену, и она создаст таблицы и заполнит их, поэтому выполнение миграции с героку не требуется.

Я помогал кому-то запускать свои приложения минут перед серьезной демонстрацией, и у нас были проблемы, когда выполнение миграций на герою было неудачным (код/​​зависимости с его стороны), поэтому возвращение к db: push позволило нам получить db структуру и локальные данные во времени для демонстрации.

Дайте ему попробовать

+0

Обратите внимание, что это не работает с базами данных нескольких схем. Похоже, что это занимает только общественность. – baash05

0

push - это команда Git. Каждое приложение Heroku является репозиторием Git, и нажатие на него из вашего локального репозитория запускает развертывание.

db:migrate is the Rake task. Rails использует Rake для упрощения общих задач для управления Rails-приложением. Это не имеет никакого отношения к Гит или к Ироку. Когда вы запустите heroku run [something], ваше приложение Heroku запускает одноразовый процесс для запуска указанной команды. В этом случае это Рейк. db:migrate - это задача Rake для запуска миграции Rails для обновления схемы базы данных.

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

Смежные вопросы