fix canonicalization and show only active children in form

This commit is contained in:
2021-10-08 11:30:35 +02:00
parent 58ddbfb67b
commit 9a708ca618
6 changed files with 113 additions and 32 deletions

View File

@@ -22,19 +22,15 @@ final class Version20211007165001 extends AbstractMigration
$this->addSql("
UPDATE chill_3party.third_party
SET canonicalized =
COALESCE(
UNACCENT(
LOWER(
name ||
CASE WHEN name <> '' THEN ' ' ELSE '' END ||
name_company ||
CASE WHEN name_company <> '' THEN ' ' ELSE '' END ||
acronym ||
CASE WHEN acronym <> '' THEN ' ' ELSE '' END
)
),
''
)
UNACCENT(
LOWER(
name ||
CASE WHEN COALESCE(name_company, '') <> '' THEN ' ' ELSE '' END ||
COALESCE(name_company, '') ||
CASE WHEN COALESCE(acronym, '') <> '' THEN ' ' ELSE '' END ||
COALESCE(acronym, '')
)
)
");
$this->addSql("
CREATE OR REPLACE FUNCTION chill_3party.canonicalize() RETURNS TRIGGER
@@ -42,14 +38,17 @@ final class Version20211007165001 extends AbstractMigration
AS
$$
BEGIN
NEW.canonicalized = UNACCENT(LOWER(
NEW.name ||
CASE WHEN NEW.name <> '' THEN ' ' ELSE '' END ||
NEW.name_company ||
CASE WHEN NEW.name_company <> '' THEN ' ' ELSE '' END ||
NEW.acronym ||
CASE WHEN NEW.acronym <> '' THEN ' ' ELSE '' END
));
NEW.canonicalized =
UNACCENT(
LOWER(
name ||
CASE WHEN COALESCE(name_company, '') <> '' THEN ' ' ELSE '' END ||
COALESCE(name_company, '') ||
CASE WHEN COALESCE(acronym, '') <> '' THEN ' ' ELSE '' END ||
COALESCE(acronym, '')
)
)
;
return NEW;
END
@@ -71,7 +70,7 @@ final class Version20211007165001 extends AbstractMigration
");
$this->addSql("
CREATE INDEX chill_custom_canonicalized_trgm_idx_gist
ON chill_3party.third_party USING GIST (canonicalized gist_trgm_ops)
ON chill_3party.third_party USING GIST (canonicalized gist_trgm_ops) WHERE active IS TRUE
");
}