2013-05-06 56 views
0

我已經在dev上進行了工作遷移,並且正在嘗試遷移測試。 rake:migrate直到今天我添加的最新遷移。我正在運行db:migrate,它的輸出包含了最新的遷移。我也確認了問題表存在於我的本地數據庫中。Rake正在運行最新的遷移,然後聲稱它尚未運行

當我試圖運行rake test:functionals ...我得到以下幾點:

You have 1 pending migrations: 
    20130506153458 AddProcessingErrorsTable 
Run `rake db:migrate` to update your database then try again. 

所以我最終運行下面的命令,並得到適當的輸出,我想:

rake db:migrate:redo VERSION=20130506153458 RAILS_ENV=test 

== AddProcessingErrorsTable: reverting ===================== 
-- drop_table("processing_errors") 
    -> 0.0098s 
== AddProcessingErrorsTable: reverted (0.0098s) ============ 

== AddProcessingErrorsTable: migrating ===================== 
-- create_table(:processing_errors) 
    -> 0.0185s 
== AddProcessingErrorsTable: migrated (0.0195s) ============ 

我仍然得到同樣的當我嘗試運行測試時出現錯誤消息:

You have 1 pending migrations: 
    20130506153458 AddProcessingErrorsTable 
Run `rake db:migrate` to update your database then try again. 

謝謝對於你可以給我的任何幫助。

回答

2

通常,您不必遷移測試數據庫。這聽起來像開發數據庫尚未遷移。每次運行測試時,都會將開發模式用作測試數據庫的基礎。

嘗試運行測試之前遷移開發數據庫:

rake db:migrate 

也許這就是它。

0

確保您的遷移已到:rake db:migrate:status並嘗試rake db:test:prepare

一些有用的信息從Rails Guides