2014-01-07 30 views
0

我有刪除並重新生成我的數據庫模式文件。它會刪除我的Heroku應用程序中的所有內容嗎?如果是這樣,我該如何回滾?清除本地schema.rb。它會影響我何時推向Heroku?

+0

剛剛刪除了schema.rb還是刪除了遷移文件? –

+0

Just schema.rb @ dmtri.com –

+0

您可能可以通過運行rake db:migrate local來重新填充schema.rb,但我會恢復到之前的Git提交。如果您自那時起寫了大量的代碼,只需將其複製到另一個文件,然後在硬重置後將其粘貼回來。 – evkline

回答

1

如果你運行heroku rake db:migrate,它會遷移你的遷移文件,而不是你的schema.rb。如果你刪除了遷移文件,你應該對之前的Git commit進行硬重置(假設你正在使用Git)。這將恢復到之前的提交併清除所有更改。

git reset --hard "FIRST 7 DIGITS OF PREVIOUS GIT COMMIT GO HERE" 
+0

所以我很安全呢? –

+0

schema.db僅表示自上次遷移以來的數據庫表示。我不確定自從刪除schema.rb文件以來是否進行了任何遷移,可能不會,因爲仍然沒有schema.rb,我認爲如果你這樣做會重新出現。但是,恢復到以前的Git提交可能是最好的選擇。我會在恢復後運行rake db:migrate,並檢查schema.rb以確保它與最後一次遷移的內聯無關。這可以通過在註釋之後查看schema.rb的第一行的版本號來檢查,確保它匹配上次的遷移 – evkline

相關問題