저는 Postgres를 사용하고 있으며 DBIx :: Class를 사용하여 데이터베이스에서 대/소문자를 구분하지 않는 고유 제한을 생성하려고합니다.DBIx :: Class를 사용하여 대/소문자를 구분하지 않는 고유 인덱스를 만드는 방법
__PACKAGE__->add_unique_constraint("table_unique_constraint", ["col_name"]);
주어진 테이블에 고유 제한 조건을 만들 것입니다 :
나는 예를 들어 같은 것을 이해합니다.
더 나은 DBIx :: Class를 사용하여 대소 문자를 구분하지 않는 고유 제한 조건을 만드는 방법을 찾고 있는데 고유 인덱스를 만들고 싶습니다.
CREATE UNIQUE INDEX table_unique_constraint ON "table_name"(lower("column_name"));
이 예는 항목이 계정에 사건을 복용하지 않고 테이블의 값에 삽입 될 수 있도록 내가 확인 있는지 확인합니다 : 내가 생성하기 위해 노력하고 SQL 쿼리는 같은 것입니다.
결과에이 방법을 추가 할 수 있습니까? Esp, catch가 lower()입니다.
물론 DBIx::Class Manual은 고유 인덱스에 대한 후크 대신 제약 조건을 만들도록 지시했습니다.
[FilterColumn] (http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/FilterColumn.pm)이 도움이 될 것입니다. 'lower_function'을 'filter_to_storage'에 추가하십시오. – alex