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」を使用している可能性がありusersますか? PostgreSQLの識別子は、二重引用符で囲まれていない限り、大文字と小文字が区別されません。

于 2011-10-09T19:25:52.457 に答える
1

移行では、完全に新しい PostgreSQL データベースの場合とは異なり、Users テーブルが既に存在することを前提としているようです...

データベースに開始スキーマを追加するのを忘れていませんか?

于 2011-10-09T19:21:50.430 に答える