2010-11-24 19 views
4

我很愚蠢,粗心大意,不小心把桌子上的東西掉了下來。如何在RAils中重新創建該表格?試圖運行rake db:migrate,但它沒有創建一個新表。謝謝。鐵軌 - 意外地丟下了我的桌子

回答

8

無論是否運行,您都可以運行特定的遷移。

rake db:migrate:up VERSION=20101124121304 

這對運行在下午12時13分04秒上11​​/24/2010創建的遷移up方法。找到包含您需要的表的遷移文件並重新運行遷移。話雖如此,該表中的任何數據都無法恢復。

+0

我認爲這是acreeally rake db:migrate:redo VERSION = 20101124121304。只有這在我的情況下工作。 – 2017-02-27 10:57:54

0

如果你的DROP是一個MySQL表,除非你做了備份,否則你不能恢復這些數據。

2

你無法恢復數據,但我假設你只是想要結構?

檢查您的db/schema.rb是否是最新的。它應該包含您的表的當前結構定義。

您可以使用rake db:setupdb/schema.rb重新創建您的整個數據庫。我不知道只重新創建一個表的方法。

但也許你可以使用不同的名稱創建一個新的數據庫,並複製結構。或者根據db/schema.rb中的內容自行重新創建表格。

+0

我到目前爲止只使用假數據,所以我不在乎恢復丟失的數據。我也不想用遷移修改我的模式文件。使用`rake db:setup`工作來重新創建數據庫結構。 – Dennis 2014-01-31 17:32:24