3

liquibase で大文字と小文字を区別しないテーブルを作成する方法を知っている人はいますか? 私は最新のpostgresを使用しています。たとえば、liquibase は次のようにテーブルを作成します。

テーブル「ユーザー」を作成します(
  "userId" null 以外の一意の整数、
  "userFirstName" varchar(50) は null ではありません。
  "userLastName" varchar(50) が null ではない
);

しかし、そのようにテーブルを作成するためにliquibaseを作成する方法:

テーブルのユーザーを作成します (
  userId null 以外の一意の整数、
  userFirstName varchar(50) が null ではありません。
  userLastName varchar(50) が null ではない
);

4

2 に答える 2

3

liquibase が必要なものを生成しない場合は、タグを使用して、実行する正確な SQL をいつでも指定できます。

デフォルトの postgres サポートでは、常にテーブル名と列名を引用符で囲んで使用するため、予約語をオブジェクト名として使用しても問題はありません。独自の liquibase.database.core.PostgresDatabase サブクラスを作成し、liquibase にそのクラスを代わりに使用させることで、これをオーバーライドできます。元の文字列で渡され、引用符で囲まれた値を返す escapeDatabaseObject(String) メソッドがあります。元の文字列をそのまま返すには、このメソッドをオーバーライドする必要があります。

データベースの使用方法は、liquibase のバージョンによって異なります。今後の 2.0 リリース ( http://liquibase.org/ci/latest ) のスナップショットを使用している場合は、クラスを liquibase.database.ext パッケージに保持する必要があります。1.9 を使用している場合、クラスについて liquibase に伝えるために使用できる databaseClassName パラメーターがあるはずです。

于 2010-06-08T14:18:54.027 に答える