Не могу запустить миграцию БД на PostgreSQL - PullRequest
0 голосов
/ 09 октября 2011

Я только что перешел с sqlite3 на PG, и после создания базы данных через pgAdmin и попытки запустить миграцию я столкнулся со следующим, чего я не понимаю.

Pawel:bodb pawel$ rake db:create
DEPRECATION WARNING: Rake tasks in /Users/pawel/Ruby/apps/bodb/vendor/plugins/google_charts_on_rails/tasks/google_charts_on_rails_tasks.rake are deprecated. Use lib/tasks instead. (called from /Users/pawel/Ruby/apps/bodb/Rakefile:7)

firstdb already exists
Pawel:bodb pawel$ rake db:migrate
DEPRECATION WARNING: Rake tasks in /Users/pawel/Ruby/apps/bodb/vendor/plugins/google_charts_on_rails/tasks/google_charts_on_rails_tasks.rake are deprecated. Use lib/tasks instead. (called from /Users/pawel/Ruby/apps/bodb/Rakefile:7)
==  AddLikesToUsers: migrating ================================================
-- add_column(:Users, :likes, :string)
rake aborted!
An error has occurred, this and all later migrations canceled:

PGError: ERROR:  relation "Users" does not exist
: ALTER TABLE "Users" ADD COLUMN "likes" character varying(255)

Tasks: TOP => db:migrate
(See full trace by running task with --trace) 

Ответы [ 2 ]

3 голосов
/ 09 октября 2011

Я не знаю о предупреждениях, но в сообщении об ошибке говорится:

Отношение "Пользователи" не существует

Возможно, вы используете верхний регистр "Пользователи ", где имя таблицы users? Идентификаторы в PostgreSQL не чувствительны к регистру, если они не заключены в двойные кавычки.

1 голос
/ 09 октября 2011

Похоже, что миграция предполагает, что таблица Users уже существует, чего нельзя сказать о совершенно новой базе данных PostgreSQL ...

Вы забыли добавить схему запуска в базу данных?

...