Рельсы 3: Управление постановкой и производственным репо HEROKU - PullRequest
0 голосов
/ 25 июня 2011

Я настроил свое приложение для запуска на Heroku в рабочей и производственной среде согласно их документам. http://devcenter.heroku.com/articles/multiple-environments

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

Как сохранить работоспособность при развертывании нового кода? Нужно ли извлекать изменения из промежуточной версии или заново развернуть все приложение с объединенными изменениями?

Во-вторых, как мне управлять базой данных и поддерживать ее без изменений во время всего этого? Я привык работать локально, где, если вы выполните новое развертывание и новый рейк: db: migrate, вы потеряете все данные своей базы данных. Как это делается на производстве, чтобы не потерять свои записи?

Спасибо вам и ЛЮБЫМ другим советам относительно управления герою, добро пожаловать.

1 Ответ

0 голосов
/ 03 августа 2011

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

Если вы добавили миграции в свои изменения, обязательно запустите heroku run rake db:migrate, чтобы перенести вашу промежуточную базу данных. Запуск rake db: migrate должен , а не уничтожать любые данные при условии правильной миграции - то есть никаких странных изменений данных, только стандартное добавление / переименование / и т.д. столбцов или введение новых таблиц. (Очевидно, что если вы уроните таблицу во время миграции, она исчезнет.)

Затем, если с вашим промежуточным приложением все в порядке, внесите изменения в свою продукцию и снова запустите heroku run rake db:migrate, если у вас были какие-либо новые миграции. Если что-то не так, запустите heroku help, чтобы получить список команд, которые вы можете использовать - особенно те, которые касаются выпусков, чтобы вы могли вернуться к предыдущему выпуску. Также heroku logs действительно полезен, и heroku console (фактическая команда может немного отличаться), хотя, когда вы запускаете консоль, будьте очень осторожны, чтобы не вмешиваться в слишком много данных.

В Heroku команда развертывания не требуется - когда вы нажимаете git, ваш обновленный код уже есть. Никакой «развёртывание шапки» с capistrano, если вы использовали это раньше.

Надеюсь, это поможет.

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