2010-10-12 110 views
5

我創建了2個模型並運行遷移,試圖對它們中的每一個進行一些工作,現在我想重新開始並以不同的方式處理它們。我是Rails的新手,從來沒有試圖刪除/刪除數據庫表(除了在遷移它們之後立即將它們回滾)。Rails 3 - 如何刪除已創建的數據庫表?

謝謝!

+0

查看問題的最佳答案[Rails - 如何重新創建數據庫] [1]。 [1]:http://stackoverflow.com/questions/4116067/rails-how-to-recreate-the-database – 2012-02-28 05:21:00

回答

1

如果你從來沒有提交更改或部署應用程序,你可以簡單地刪除模型文件,並使用從數據庫中刪除表數據庫控制檯(假設它是sqlite3類型sqlite3來進入shell控制檯)或數據庫管理GUI。

否則,您將需要使用drop_table遷移來反映生產系統上的更改。

+0

謝謝。我想知道是否可以使用SQLite DB Browser來刪除這些表。我可以只刪除舊的遷移文件嗎? – teecraft 2010-10-12 14:00:40

6

要在遷移過程中刪除表,你可以rails g migration DropUsers

class DropUsers < ActiveRecord::Migration 
    def up 
    drop_table :users 
    end 

    def down 
    # recreate table logic here 
    end 
end 

您也可以刪除從Rails的表控制檯

ActiveRecord::Migration.drop_table(:users) 

供參考如果你想刪除腳手架創建的代碼,rails destroy scaffold User