Relation already exists during rake migration

Check your db/schema.rb

You most likely have the same table being created there in addition to a migration in db/migrate/[timestamp]your_migration

You can delete the db/migrate/[timestamp]your_migration if it is a duplicate of the one found in the schema and it should work.


PG::Error: ERROR: relation “refinery_blog_posts” already exists

Pg is a Rails gem, the piece of code that allows communication between Rails and PostgreSQL. It relates your migrations to SQL tables, thus a relation error. So, what the error is saying is:

I'm trying to create table X, based on migration X, but table X already exists in the database.

Possible solutions:

  1. Create migrations that drop those, probably old, tables.
  2. Change the migration's name.
  3. Login to PostgreSQL and drop the table. Something like:

    $ psql -U username databasename
    

    then

    database_name=# drop table table-name;
    

    The exact commands might be a little different though.