Как правило, вы вносите изменения локально, включая миграции или что-то еще. Прежде чем вносить изменения в производственное приложение, внесите изменения в промежуточное приложение, чтобы проверить, что все в порядке.
Если вы добавили миграции в свои изменения, обязательно запустите heroku run rake db:migrate
, чтобы перенести вашу промежуточную базу данных. Запуск rake db: migrate должен , а не уничтожать любые данные при условии правильной миграции - то есть никаких странных изменений данных, только стандартное добавление / переименование / и т.д. столбцов или введение новых таблиц. (Очевидно, что если вы уроните таблицу во время миграции, она исчезнет.)
Затем, если с вашим промежуточным приложением все в порядке, внесите изменения в свою продукцию и снова запустите heroku run rake db:migrate
, если у вас были какие-либо новые миграции. Если что-то не так, запустите heroku help
, чтобы получить список команд, которые вы можете использовать - особенно те, которые касаются выпусков, чтобы вы могли вернуться к предыдущему выпуску. Также heroku logs
действительно полезен, и heroku console
(фактическая команда может немного отличаться), хотя, когда вы запускаете консоль, будьте очень осторожны, чтобы не вмешиваться в слишком много данных.
В Heroku команда развертывания не требуется - когда вы нажимаете git, ваш обновленный код уже есть. Никакой «развёртывание шапки» с capistrano, если вы использовали это раньше.
Надеюсь, это поможет.