1

私は Play!Framework をデータベースとして実行しjdbcPostgresqlいます。開発用の進化を有効にしたいと思います。

Play はテーブル名を自動的にエスケープしないようです。たとえば、 というテーブルを作成する場合、は SQL の予約語であるuserため、テーブルを自動的に作成できないようです。user

Play は次のような進化を生成します。

# --- Rev:1,Ups - 4fb5e22
create table user (
id                        bigserial not null,
name                      varchar(255),
constraint pk_user primary key (id));

テーブル名を自動的にエスケープする方法はありますか?

ありがとう

4

2 に答える 2

0

「自動的に」の意味がわかりません。エボリューションは基本的にデータベースに送信される sql コマンドであるため、postgresql エスケープで識別された名前はエボリューションでも有効な構文である必要があります。私はpostgresqlの専門家ではありませんが、二重引用符はあなたがしたいことをすると信じています:

create table "user" (
  id bigserial not null,
  name varchar(255),
constraint pk_user primary key (id));
于 2015-10-09T10:38:52.033 に答える