Создание таблицы без учета регистра с жидкой базой в postgres - PullRequest
2 голосов
/ 08 июня 2010

Кто-нибудь знает, как сделать нечувствительный к регистру стол с жидкой базой.Я использую новейшие postgres.Например, liquibase создает таблицу таким образом:

create table "Users" (
  "userId" integer unique not null,
  "userFirstName" varchar(50) not null,
  "userLastName" varchar(50) not null
);

, но как сделать liquibase для создания таблицы таким образом:

create table Users (
  userId integer unique not null,
  userFirstName varchar(50) not null,
  userLastName varchar(50) not null
);

1 Ответ

2 голосов
/ 08 июня 2010

Вы всегда можете использовать тег, чтобы указать точный SQL, который вы хотите выполнить, если liquibase не генерирует то, что вы хотите.

Поддержка Postgres по умолчанию использует кавычки вокруг имен таблиц и столбцов, поэтому проблем с использованием зарезервированных слов в качестве имен объектов не возникнет. Вы можете переопределить это, создав свой собственный подкласс liquibase.database.core.PostgresDatabase и вместо этого используя liquibase использовать ваш класс. Существует метод escapeDatabaseObject (String), который передается в исходной строке и возвращает значение в кавычках. Вам просто нужно переопределить этот метод, чтобы вернуть исходную строку без изменений.

Как вы используете вашу базу данных, зависит от вашей версии liquibase. Если вы используете снимок предстоящей версии 2.0 (http://liquibase.org/ci/latest),, вам просто нужно сохранить свой класс в пакете liquibase.database.ext. Если вы используете 1.9, должен быть параметр databaseClassName, который вы можете использовать для расскажите жидкости о вашем классе.

...