0

У меня есть Rails миграции, которая выглядит следующим образом:Heroku миграции, которые принимают ввод пользователя

puts "*** What would you like to do? ***" 
puts "(a)dd columns AND copy data" 
puts "(c)olumns only (no data copying)" 
puts "(d)ata only (no column adding)" 
puts "(q)uit" 
reply = $stdin.gets.chomp 
... 
(subsequent code depends on the reply variable) 

Это работает на моей системе развития.

Heroku не принимает мой ответ, когда я печатаю письмо, после того как оно дает мне приведенный выше текст в виде подсказки.

Как я могу заставить это работать на Heroku?

+0

Это, похоже, уходит от основного обещания миграции; что они представляют собой данные о том, что произошло с вашей схемой базы данных. Если вы принимаете ввод во время миграции, чтобы решить, что делать, у вас не будет возможности отслеживать его позже. Зачем тебе это нужно? –

+0

@AnthonyBishopric Эта миграция изменяет способ обработки одной из основных функций веб-сайта (данные перемещаются из одного набора таблиц базы данных в другой). В нашей производственной системе данные должны переноситься мгновенно с изменениями базы данных миграции, поэтому мы допускаем эту передачу данных с этой миграцией. – sscirrus

+0

@ AnthonyBishopric Другое дело, что если эта миграция когда-либо должна быть переделана, откат и т. Д., Имея выбор только для изменения базы данных или для восстановления только информации, в противном случае данные могут быть потеряны или повреждены , – sscirrus

ответ

0

Вместо запуска

heroku rake db:migrate 

пробег:

heroku run bash 

, то вы можете запустить интерактивные миграции.

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