2011-03-16 53 views
1

我知道它有點尷尬'因爲我通過手動刪除mysql中的表而不是做'rake db:rollback'而犯了一個非常愚蠢的錯誤。我嘗試使用'rake db:migrate'重新創建這些表,但沒有發生任何事情。我手動刪除了表 ,因爲我不知道如何一勞永逸地刪除所有表。有人可以告訴我如何得到這個固定和一些建議如何防止這一點。有人知道如何一次回滾所有表格嗎?如何在rails 3中手動刪除表中的表時創建表?

回答

2

運行在mysql客戶端執行以下操作:

delete from schema_migrations where version = '<number at the beginning of the migration that created that table>' 
+0

好的,我會嘗試。謝謝 – johan 2011-03-16 06:32:39

+0

男人,它的工作!你是男人! – johan 2011-03-16 06:35:24

+0

你知道如何回滾特定的表嗎?我嘗試了'rake db:rollback VERSION = <在創建該表的遷移開始時的編號>',但它不起作用。請幫忙... – johan 2011-03-16 06:47:20

1

您可以運行rake db:schema:load將重新從db/schema.rb表信息,但它會在擦拭所有表中的數據。