2010-10-13 92 views
3

我試圖on Rails應用程序從一臺機器遷移紅寶石到另一個,當我輸入 耙分貝:遷移它提供了以下錯誤:這個ruby在rails遷移上出現了什麼問題?

Mysql::Error: Table 'schema_migrations' already exists: 
CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB 

可能是什麼可能的原因..?

+1

檢查你的config/database.yaml和各自的schematas – glebm 2010-10-13 06:30:28

+1

是不是明顯的原因?它在您的錯誤消息中這樣說:「表'schema_migrations'已經存在」 – Mischa 2010-10-13 06:32:37

+1

schema_migrations不是我使用的表的一部分。它是rake/rails用於執行數據庫遷移的內置表。 – rushi 2010-10-13 06:58:22

回答

2

嗨嘗試rake db:drop rake db:create rake db:migrate

+0

請注意,這會將您的數據庫中的信息刪除。 – Simpleton 2012-07-10 10:19:36

8

正如博赫丹提到...

rake db:migrate:reset 
1

在我的情況下,只需刪除和創建數據庫沒有幫助。請嘗試重新啓動mysql的服務器也:

/etc/init.d/mysqld restart 
/etc/init.d/mysql restart 
service mysqld restart 

(取決於您運行的是什麼操作系統),然後輸入:

rake db:reset && rake db:test:clone 

附:如果您使用的任何預加載如zeus後衛,請嘗試在沒有它的情況下運行。