2013-04-06 3 views
-1

После того, как я запустил heroku run db: migrate, я получил эту ошибку. , приложение отлично работает в development.i также сделал некоторые исследования на этом веб-сайте и попробовал несколько решений, кажется, не работает. Может кто-нибудь поможет мне разобраться, как я могу это исправить?проблема миграции героя

== CreatePins: migrating ===================================================== 
-- create_table(:pins) 
NOTICE: CREATE TABLE will create implicit sequence "pins_id_seq1" for serial column "pins.id" 
rake aborted! 
An error has occurred, this and all later migrations canceled: 

PG::Error: ERROR: relation "pins" already exists 
: CREATE TABLE "pins" ("id" serial primary key, "description" character varying(255), "created_at" timestamp N 
OT NULL, "updated_at" timestamp NOT NULL) /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.13/lib/active_re 
cord/connection_adapters/postgresql_adapter.rb:650:in `exec' 

ответ

0

Так что это говорит вам, что pins уже существует. Возможно, у вас есть две миграции, которые создают pins, или как-то вам удалось создать таблицу без Rails, зная/помня, что она запускает миграцию. Я обнаружил, что вы можете войти в это состояние, если используете heroku db:push, чтобы нажимать одну таблицу, в данном случае pins на Heroku, но не на содержимое schema_migrations, поэтому, когда вы пытаетесь запустить миграцию, таблица присутствует.

Если у вас нет данных в выводах, вы можете использовать psql, инструменты pgadmin и т. Д., Чтобы удалить таблицу контактов, перезапустите миграцию и выполните Rails миграцию и сохраните тот факт, что она это сделала (он хранит идентификатор миграции в таблице schema_migrations)