2014-03-18 3 views
0

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

Другими словами, происходят ли миграции на производственной стороне?

+0

Миграции должны происходить на стороне производства, иначе ваша база данных будет иметь только старую структуру таблицы. В герою вы нажимаете на герою, а затем запускаете что-то вроде 'heroku run bundle exec rails c'. С машиной вы можете передать аргумент для развертывания 'ey deploy --migrate' –

ответ

0

Сначала убедитесь, что вы развертываете приложение? Для развертывания приложения Rails используют инструменты или драгоценный камень под названием capistrano. Но есть и другие сервисы облачной платформы, которые предоставляют возможность развертывать приложение, такое как heroku.

Если вы развертываете с помощью capistrano, для миграции базы данных вы можете добавить команду after "deploy:update_code", "deploy:migrate" в свой файл конфигурации. Используйте this в качестве ссылки.

Если вы развертываете его в герою, чтобы выполнить миграцию, вы можете запустить команду heroku run rake db:migrate. Следуйте за this для полной справки.

Существует несколько других облачных сервисов для развертывания. Проверьте документацию и разверните ее.

+0

Ответ Amritdeep помог мне больше всего, но все ответы были замечательными. Я планирую развертывание на локальном сервере, который будет использоваться в нашей корпоративной интрасети. Я полагаю, что для этого я использовал инструмент, например, capistrano. Это верно? Благодаря! – pyRabbit

0

Это зависит от вашего сценария развертывания.

Если вы используете capistrano, вы можете добавить эту строку в deploy пространство имен, чтобы миграционную часть Deploy

after "deploy:update_code", "deploy:migrate" 
1

Обычным cap deploy не мигрирует базу данных, это только обновляет код, компилирует активы и т. д. Если вы также хотите запустить свои миграции, используйте cap deploy:migrations или пойдите с предложением @Vimsha.

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