2011-11-06 78 views
0

好吧,我剛剛在Windows 7 64位機器上重新安裝了MySQL Servers 5.5(32位到64位)。於是我便用mysql2鋼軌的步驟:Rake db:migrate aborted! Ghost開發數據庫使用MySQL2?

gem 'mysql2', '0.2.6' 
gem 'rails', '3.0.7' 

第1步:

rake db:drop 
Couldn't drop store_development : #<Mysql2::Error: Unknown database 'store_development'> 

奇怪,因爲在MySQL Workbench中我只看到測試數據庫了。

第2步:

$ rake db:migrate 
rake aborted! 
Unknown database 'store_development' 

不知道爲什麼,所以我現在嘗試將數據庫我得到這個錯誤。

第3步:

rake db:reset 
(in C:/store) 
Couldn't drop store_development : #<Mysql2::Error: Unknown database 'store_development'> 
store_test already exists 
-- create_table("business_online_stores", {:force=>true}) 
    -> 0.1110s 
-- create_table("business_retail_stores", {:force=>true}) 
    -> 0.0740s 
-- create_table("businesses", {:force=>true}) 
    -> 0.0900s 
-- create_table("products", {:force=>true}) 
    -> 0.0810s 
-- create_table("user_prices", {:force=>true}) 
    -> 0.0720s 
-- create_table("users", {:force=>true}) 
    -> 0.1810s 
-- initialize_schema_migrations_table() 
    -> 0.2800s 
-- assume_migrated_upto_version(0, "db/migrate") 
    -> 0.0320s 
You have 6 pending migrations: 
    20110909175650 DeviseCreateUsers 
    20110929161120 CreateUserPrices 
    20111004023516 CreateProducts 
    20111007023521 CreateBusinesses 
    20111009215120 CreateBusinessRetailStores 
    20111009215419 CreateBusinessOnlineStores 
Run "rake db:migrate" to update your database then try again. 

是,測試數據庫不存在,但是這是哪裏鬼開發數據庫的?它如何重置遷移,但告訴我再次遷移它們。好了,生病做,因爲它現在說:

第4步:

$ rake db:migrate 
(in C:/store) 
== DeviseCreateUsers: migrating ============================================== 
-- create_table(:users) 
rake aborted! 
An error has occurred, all later migrations canceled: 

Mysql2::Error: Table 'users' already exists: CREATE TABLE `users` 

第5步:

$ rake db:migrate 
rake aborted! 
Unknown database 'store_development' 

不可能的,我去我的MySQL工作臺內降了測試和開發數據庫右鍵單擊它們並執行必要的步驟,即使刷新它也沒有任何存在,但是我得到了有關不存在的數據庫的錯誤。

我該如何解決這個問題?

注意:0.2.7給我同樣的問題。

注:這是我第2個遷移文件只包住任何人想看到他們:https://gist.github.com/1341682

+1

請問您可以爲用戶及其後面的用戶顯示遷移文件。 – Ross

+0

@Ross好的,我把它放在要點鏈接。 – LearningRoR

回答

0

解決這個問題的唯一方法就是重建我的整個應用程序。

1

只是一個想法,但Users已經在電子郵件中列條目?我不知道如果現有的重複條目將阻止除驗證:unique=>true

而只是爲了檢查的,你想幹什麼?:

add_column :users, :email, :string 

代替add_index?

+0

截至目前它沒有任何我知道的條目。他們有辦法找出答案嗎?我剛剛安裝了MySQL服務器,它是全新的,所以我不能100%確定。不,我試圖add_index,因爲當我嘗試種子時,它說我有6個待定的遷移,這是我的應用程序中現在的遷移總量。如果它有幫助,我正在使用Devise gem進行用戶驗證,並將它從gem上運行。 – LearningRoR

+0

哦。如果您只想刪除用戶,請嘗試:rake db:migrate:down VERSION = 20111106043251 ...其中VERSION等於附加到名爲'DeviseCreateUsers'的遷移文件的時間戳記 –

+0

在這種情況下看起來像是:rake db:migrate:down VERSION = 20110909175650。 –

相關問題