Невозможно запустить миграцию с Postgresql в Rails - PullRequest
0 голосов
/ 09 ноября 2011

Я установил postgresql и создал базу данных.Когда я запускаю rake db: migrate, я сталкиваюсь с ошибкой ниже:

[newuser@Freenaut 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 Ответ

1 голос
/ 09 ноября 2011

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

Я запустил вашу таблицу создания на 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...