0

的Heroku遷移我有一個Rails遷移,看起來像這樣:接受用戶的輸入

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

@AnonyBishopric此遷移改變了網站處理其主要功能之一的方式(數據從一套數據庫表移至另一套)。在我們的生產系統中,數據必須隨遷移的數據庫更改而立即傳輸,因此我們允許通過此遷移進行數據傳輸。 – sscirrus

+0

@AnonyBishopric另一件事是,如果此遷移必須重新進行,回滾等,只能選擇更改數據庫或僅複製信息,這一點非常重要,否則數據可能會丟失或損壞。 – sscirrus

回答

0

而不是運行

heroku rake db:migrate 

運行:

heroku run bash 

,那麼你可以運行交互的遷移。