2011-11-09 6 views
0

Я установил postgresql и создал базу данных. Когда я запускаю грабли БД: мигрировать хотя я встретив ошибку ниже:Не удалось выполнить миграции с помощью Postgresql в Rails

[[email protected] flights1percent{master}]$ rake db:migrate --trace 
** Invoke db:migrate (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Execute db:migrate 
== CreatePeople: migrating =================================================== 
-- create_table(:people) 
NOTICE: CREATE TABLE will create implicit sequence "people_id_seq" for serial column "people.id" 
rake aborted! 
An error has occurred, this and all later migrations canceled: 

PGError: ERROR: relation "people" already exists 
: CREATE TABLE "people" ("id" serial primary key, "created_at" timestamp, "updated_at" timestamp) 

Это странная ошибка, потому что сообщение об ошибке говорит, что эта таблица уже существует. Однако я знаю, что это не должно быть, поскольку я только что создал базу данных. Так что здесь происходит неправильно?

ответ

1

Этого не должно быть, если таблица действительно не существует. Может быть, вы создали таблицу как часть тестирования перед запуском миграции?

Я побежал ваш создать таблицу на 8.4 дБ, и это то, что я получил:

CREATE TABLE "people" ("id" serial primary key, "created_at" timestamp, "updated_at" timestamp); 
    NOTICE: CREATE TABLE will create implicit sequence "people_id_seq" for serial column "people.id" 
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index "people_pkey" for table "people" 
CREATE TABLE 

И тогда я побежал снова после того, как и получил такое же сообщение об ошибке, что вы сделали:

CREATE TABLE "people" ("id" serial primary key, "created_at" timestamp, "updated_at" timestamp); 
NOTICE: CREATE TABLE will create implicit sequence "people_id_seq1" for serial column "people.id" 
ERROR: relation "people" already exists 
+0

Я использую 9.0.4. Но, тем не менее, этого не должно произойти. Перед миграцией тестов нет. Все, что я делаю, это буквально создать db и запустить rake. Кроме того, я запускал 'rake db: migrate: status', и он показал мне, что обе миграции оказываются недоступными. Я не понимаю, что с этим делать. – picardo

Смежные вопросы