0

我刚刚从 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) 
4

2 回答 2

3

我不知道警告,但错误消息说:

关系“用户”不存在

也许您正在使用大写的“用户”,表的名称在users哪里?PostgreSQL中的标识符不区分大小写,只要它们不是双引号即可。

于 2011-10-09T19:25:52.457 回答
1

迁移似乎假设用户表已经存在,而全新的 PostgreSQL 数据库并非如此......

您是否忘记向数据库添加一些启动模式?

于 2011-10-09T19:21:50.430 回答