2011-10-01 45 views
0

我有2個版本的相同遷移(壞習慣,我知道)。我多次刪除舊版本,但在重新啓動我的項目(或者使用它執行某些操作(如rake db:test:prepare))後,該文件顯示在我的遷移文件夾中。當我運行rake db:migrate時,它會抱怨具有相同名稱的多個遷移。刪除的遷移文件不斷回來Rails 3

如何完全刪除遷移文件?有沒有註冊表,我需要刪除,以防止它回來?

+1

什麼源控制您使用的?聽起來更像是可以恢復文件,而不是任何軌道。 – Shadwell

+0

我正在使用Git。我將這些刪除添加到我的提交中,但他們不斷回來。 – AdamNYC

回答

1

git add只會添加新的和已更改的文件,並不會刪除已刪除的文件。刪除:

git rm db/migrate/<filename> 

,或者如果你已經刪除了它從文件系統:

git add -u 
+0

謝謝。我覺得這就是。 – AdamNYC

+0

@AdamNYC那麼,這就是爲什麼我問你是否犯下了刪除:p –

+0

來了,偷走了做這項工作的人的答案。 =) – jimworm

2

您正在從回購軟件更新?我看不到原始文件如何以其他方式恢復。

您也可以從schema_migration表中刪除條目,但只會跟蹤它是否已運行(IIRC)。

+0

我很確定我將刪除文件添加到我的提交中。很多提交後,同樣的問題仍然彈出。我也檢查了db文件夾中的schema.rb,但它只是保持最新的更新,並沒有顯示更舊的更新。 – AdamNYC

+0

該文件是否出現在回購中?不會從您在Rails中做的任何事情重新創建遷移文件(AFAIK)。 –

+0

嗨戴夫,我剛剛刪除了該文件。如何確定文件是否出現在過去的提交或分支中? – AdamNYC