Question: I've got a working migration on dev and I'm trying to migrate in test. `rake:migrate` works up until the latest migration that I added today. I was running `db:migrate` and it the output was inclusive of the latest migration. I have also confirmed that the table in question exists in my local DB.

When I tried to run `rake test:functionals ...` I get the following:

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

```

So I ended up running the following command and getting the appropriate output I wanted:

```
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) ============

```

I still get the same error message when I try run the tests now:

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

```

Thanks for any help you can give me.

Answer: 
Usually you don't have to migrate your test database. It sounds like the development database is not migrated yet. Every time you are running your tests, the development schema is used as a basis for testing db.

Try migrating your development database before running tests:

```
rake db:migrate

```

Maybe that's it.
Make sure your migrations are up : `rake db:migrate:status` and try `rake db:test:prepare`.

Some useful info from [Rails Guides](http://guides.rubyonrails.org/testing.html#preparing-your-application-for-testing).