2013-04-23 78 views
2

如果已經討論了這個問題的答案,請指出正確的方向。我已經搜索了這個問題,但是我發現沒有發現在我的案例中起作用。刪除軌道表和遷移

我已經創建了要刪除的表格。我刪除了模型和遷移,但是當我試圖重現他們再遷移,我得到如下:

SQLite3::SQLException: table already exists, etc.... 

我已經嘗試使用SQLite經理手動刪除它們,但我不確定數據庫文件的位置(其他帖子也無法幫助我)。順便提一下,我在Win 7

我想知道這樣做的正確方法。

回答

4

您可以生成一個遷移

rails generate migration DropProducts 

,並用它來刪除該表

class DropProducts < ActiveRecord::Migration 
    def up 
    drop_table :products  
    end 
end 
+0

感謝您的回覆。這可以刪除表,但是當我嘗試重新創建和遷移時,我仍然得到SQLite3 :: SQLException:表「用戶」已經存在:<那麼SQL代碼> – jakeofalltrades 2013-04-23 22:27:57

+0

@ user2313155:也許你想刪除'users '表以及。或者,如果您嘗試完全重新啓動,只需刪除SQLite數據庫文件並重新開始。 – 2013-04-23 23:31:38

+0

我已經重新開始工作了。我其實不知道如何。我只是重複了我原來的過程。我一定錯過了第一百次。 – jakeofalltrades 2013-04-23 23:39:40

6

這是另一種最簡單的方法再次創建表和遷移。如果您正在使用rails 3.運行此命令以刪除數據庫並再次創建它。

耙分貝:滴#砸數據庫

耙分貝:創建#創建相同的數據庫

耙分貝:遷移#遷移數據。