From 5d7943f87169fcd11c8975dadb9bb3849b2987a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Thu, 24 Mar 2022 19:06:53 +0100 Subject: [PATCH] index firstname in database --- .../migrations/Version20211007165001.php | 2 - .../migrations/Version20220324175549.php | 99 +++++++++++++++++++ 2 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 src/Bundle/ChillThirdPartyBundle/migrations/Version20220324175549.php diff --git a/src/Bundle/ChillThirdPartyBundle/migrations/Version20211007165001.php b/src/Bundle/ChillThirdPartyBundle/migrations/Version20211007165001.php index ef431f5ea..90ae37391 100644 --- a/src/Bundle/ChillThirdPartyBundle/migrations/Version20211007165001.php +++ b/src/Bundle/ChillThirdPartyBundle/migrations/Version20211007165001.php @@ -42,8 +42,6 @@ final class Version20211007165001 extends AbstractMigration UNACCENT( LOWER( name || - CASE WHEN COALESCE (firstname, '') <> '' THEN ' ' ELSE '' END || - COALESCE(firstname, '') || CASE WHEN COALESCE(name_company, '') <> '' THEN ' ' ELSE '' END || COALESCE(name_company, '') || CASE WHEN COALESCE(acronym, '') <> '' THEN ' ' ELSE '' END || diff --git a/src/Bundle/ChillThirdPartyBundle/migrations/Version20220324175549.php b/src/Bundle/ChillThirdPartyBundle/migrations/Version20220324175549.php new file mode 100644 index 000000000..e31b950d4 --- /dev/null +++ b/src/Bundle/ChillThirdPartyBundle/migrations/Version20220324175549.php @@ -0,0 +1,99 @@ +addSql(" + UPDATE chill_3party.third_party + SET canonicalized = + UNACCENT( + LOWER( + name || + CASE WHEN firstname <> '' THEN ' ' ELSE '' END || + firstname || + 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 + LANGUAGE plpgsql + AS + $$ + BEGIN + NEW.canonicalized = + UNACCENT( + LOWER( + NEW.name || + CASE WHEN NEW.firstname <> '' THEN ' ' ELSE '' END || + NEW.firstname || + CASE WHEN COALESCE(NEW.name_company, '') <> '' THEN ' ' ELSE '' END || + COALESCE(NEW.name_company, '') || + CASE WHEN COALESCE(NEW.acronym, '') <> '' THEN ' ' ELSE '' END || + COALESCE(NEW.acronym, '') + ) + ) + ; + + return NEW; + END + $$ + "); + + } + + public function down(Schema $schema): void + { + $this->addSql(" + CREATE OR REPLACE FUNCTION chill_3party.canonicalize() RETURNS TRIGGER + LANGUAGE plpgsql + AS + $$ + BEGIN + NEW.canonicalized = + UNACCENT( + LOWER( + NEW.name || + CASE WHEN COALESCE(NEW.name_company, '') <> '' THEN ' ' ELSE '' END || + COALESCE(NEW.name_company, '') || + CASE WHEN COALESCE(NEW.acronym, '') <> '' THEN ' ' ELSE '' END || + COALESCE(NEW.acronym, '') + ) + ) + ; + + return NEW; + END + $$ + "); + $this->addSql(" + UPDATE chill_3party.third_party + SET canonicalized = + UNACCENT( + LOWER( + name || + CASE WHEN COALESCE(name_company, '') <> '' THEN ' ' ELSE '' END || + COALESCE(name_company, '') || + CASE WHEN COALESCE(acronym, '') <> '' THEN ' ' ELSE '' END || + COALESCE(acronym, '') + ) + ) + "); + } +}