migrations/Version20251014170624.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20251014170624 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         $this->addSql('
  18.             UPDATE tourapp.email_template
  19.             SET "content" = regexp_replace(
  20.                 "content",
  21.                 \'\{\{\s*payulink\s*\}\}\',
  22.                 \'{{ signlink }}\',
  23.                 \'g\'
  24.             )
  25.             WHERE "content" ~ \'\{\{\s*payulink\s*\}\}\' and email_template_id in (5,9,1);
  26.         ');
  27.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"company":{"type":"variable","value":null,"description":"Firma"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"homelink":{"type":"variable","value":null,"description":"Link do strony głównej"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"username":{"type":"variable","value":null,"description":"Nazwa użytkownika"},"userpassword":{"type":"variable","value":null,"description":"Hasło użytkownika"},"signlink":{"type":"variable","value":null,"description":"Link do zapisu na wycieczkę"}}\' where email_template_id = 1;');
  28.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"harmonogram_platnosci":{"type":"variable","value":null,"description":"Harmonogram płatności"},"memberiban":{"type":"variable","value":null,"description":"Numer konta do wpłat zamawiającego"},"nr_rezerwacji":{"type":"variable","value":null,"description":"Numer rezerwacji"},"payrest_link":{"type":"variable","value":null,"description":"Link do płatności online"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"tresc_o_ubezpieczeniu_kr":{"type":"variable","value":null,"description":"Treść o ubezpieczeniu (KR)"},"availablePayments.description":{"type":"variable","value":null,"description":"Pokazuje włączone płatności"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"travelprice":{"type":"variable","value":null,"description":"Bazowa cena wycieczki"},"company":{"type":"variable","value":null,"description":"Firma"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"payrest":{"type":"variable","value":null,"description":"Pozostała kwota do zapłaty"},"faktura":{"type":"variable","value":null,"description":"Status faktury"},"availablePayments.bank":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy przelew bankowy jest dostępny"},"availablePayments.paynow":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayNow jest włączony"},"availablePayments.payu":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayU jest włączony"},"availablePayments.tpay":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy Tpay jest włączony"},"availablePayments.type.online":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy płatność online jest włączona"},"trip.option.generate_agreement":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy na wycieczce generowanie umowy jest włączone"}}\'::jsonb WHERE email_template_id = 2;');
  29.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"faktura":{"type":"variable","value":null,"description":"Status faktury"},"harmonogram_platnosci":{"type":"variable","value":null,"description":"Harmonogram płatności"},"memberiban":{"type":"variable","value":null,"description":"Numer konta do wpłat zamawiającego"},"nr_rezerwacji":{"type":"variable","value":null,"description":"Numer rezerwacji"},"payrest_link":{"type":"variable","value":null,"description":"Link do płatności online"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"tresc_o_ubezpieczeniu_kr":{"type":"variable","value":null,"description":"Treść o ubezpieczeniu (KR)"},"availablePayments.description":{"type":"variable","value":null,"description":"Pokazuje włączone płatności"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"travelprice":{"type":"variable","value":null,"description":"Bazowa cena wycieczki"},"company":{"type":"variable","value":null,"description":"Firma"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"payrest":{"type":"variable","value":null,"description":"Pozostała kwota do zapłaty"},"availablePayments.bank":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy przelew bankowy jest dostępny"},"availablePayments.paynow":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayNow jest włączony"},"availablePayments.payu":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayU jest włączony"},"availablePayments.tpay":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy Tpay jest włączony"},"availablePayments.type.online":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy płatność online jest włączona"},"trip.option.generate_agreement":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy na wycieczce generowanie umowy jest włączone"}}\'::jsonb WHERE email_template_id = 3;');
  30.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"company":{"type":"variable","value":null,"description":"Firma"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"faktura":{"type":"variable","value":null,"description":"Status faktury"},"harmonogram_platnosci":{"type":"variable","value":null,"description":"Harmonogram płatności"},"memberiban":{"type":"variable","value":null,"description":"Numer konta do wpłat zamawiającego"},"nr_rezerwacji":{"type":"variable","value":null,"description":"Numer rezerwacji"},"orderfullname":{"type":"variable","value":null,"description":"Imię i nazwisko zamawiającego"},"ordermemberlist":{"type":"variable","value":null,"description":"Lista członków zamówienia"},"paid":{"type":"variable","value":null,"description":"Kwota zapłacona"},"payrest":{"type":"variable","value":null,"description":"Pozostała kwota do zapłaty"},"payrest_link":{"type":"variable","value":null,"description":"Link do płatności online"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"travelprice":{"type":"variable","value":null,"description":"Bazowa cena wycieczki"},"tresc_o_ubezpieczeniu_kr":{"type":"variable","value":null,"description":"Treść o ubezpieczeniu (KR)"},"availablePayments.description":{"type":"variable","value":null,"description":"Pokazuje włączone płatności"},"availablePayments.bank":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy przelew bankowy jest dostępny"},"availablePayments.paynow":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayNow jest włączony"},"availablePayments.payu":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayU jest włączony"},"availablePayments.tpay":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy Tpay jest włączony"},"availablePayments.type.online":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy płatność online jest włączona"},"trip.option.generate_agreement":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy na wycieczce generowanie umowy jest włączone"}}\'::jsonb WHERE email_template_id = 4;');
  31.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"company":{"type":"variable","value":null,"description":"Firma"},"homelink":{"type":"variable","value":null,"description":"Link do strony głównej"},"signlink":{"type":"variable","value":null,"description":"Link do zapisu na wycieczkę"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"username":{"type":"variable","value":null,"description":"Nazwa użytkownika"},"userpassword":{"type":"variable","value":null,"description":"Hasło użytkownika"},"harmonogram_platnosci":{"type":"variable","value":null,"description":"Harmonogram płatności"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"tresc_o_ubezpieczeniu_kr":{"type":"variable","value":null,"description":"Treść o ubezpieczeniu (KR)"}}\'::jsonb WHERE email_template_id = 5;');
  32.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"harmonogram_platnosci":{"type":"variable","value":null,"description":"Harmonogram płatności"},"memberiban":{"type":"variable","value":null,"description":"Numer konta do wpłat zamawiającego"},"nr_rezerwacji":{"type":"variable","value":null,"description":"Numer rezerwacji"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"tresc_o_ubezpieczeniu_kr":{"type":"variable","value":null,"description":"Treść o ubezpieczeniu (KR)"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"travelprice":{"type":"variable","value":null,"description":"Bazowa cena wycieczki"},"company":{"type":"variable","value":null,"description":"Firma"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"payrest":{"type":"variable","value":null,"description":"Pozostała kwota do zapłaty"},"payrest_link":{"type":"variable","value":null,"description":"Link do płatności online"},"availablePayments.description":{"type":"variable","value":null,"description":"Pokazuje włączone płatności"},"availablePayments.bank":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy przelew bankowy jest dostępny"},"availablePayments.paynow":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayNow jest włączony"},"availablePayments.payu":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayU jest włączony"},"availablePayments.tpay":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy Tpay jest włączony"},"availablePayments.type.online":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy płatność online jest włączona"},"trip.option.generate_agreement":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy na wycieczce generowanie umowy jest włączone"}}\'::jsonb WHERE email_template_id = 6;');
  33.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"harmonogram_platnosci":{"type":"variable","value":null,"description":"Harmonogram płatności"},"memberiban":{"type":"variable","value":null,"description":"Numer konta do wpłat zamawiającego"},"nr_rezerwacji":{"type":"variable","value":null,"description":"Numer rezerwacji"},"payrest_link":{"type":"variable","value":null,"description":"Link do płatności online"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"tresc_o_ubezpieczeniu_kr":{"type":"variable","value":null,"description":"Treść o ubezpieczeniu (KR)"},"availablePayments.description":{"type":"variable","value":null,"description":"Pokazuje włączone płatności"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"travelprice":{"type":"variable","value":null,"description":"Bazowa cena wycieczki"},"company":{"type":"variable","value":null,"description":"Firma"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"payrest":{"type":"variable","value":null,"description":"Pozostała kwota do zapłaty"},"faktura":{"type":"variable","value":null,"description":"Status faktury"},"availablePayments.bank":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy przelew bankowy jest dostępny"},"availablePayments.paynow":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayNow jest włączony"},"availablePayments.payu":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayU jest włączony"},"availablePayments.tpay":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy Tpay jest włączony"},"availablePayments.type.online":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy płatność online jest włączona"},"trip.option.generate_agreement":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy na wycieczce generowanie umowy jest włączone"}}\'::jsonb WHERE email_template_id = 7;');
  34.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"company":{"type":"variable","value":null,"description":"Firma"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"faktura":{"type":"variable","value":null,"description":"Status faktury"},"harmonogram_platnosci":{"type":"variable","value":null,"description":"Harmonogram płatności"},"memberiban":{"type":"variable","value":null,"description":"Numer konta do wpłat zamawiającego"},"nr_rezerwacji":{"type":"variable","value":null,"description":"Numer rezerwacji"},"paid":{"type":"variable","value":null,"description":"Kwota zapłacona"},"payrest":{"type":"variable","value":null,"description":"Pozostała kwota do zapłaty"},"payrest_link":{"type":"variable","value":null,"description":"Link do płatności online"},"transferamount":{"type":"variable","value":null,"description":"Kwota wpłaty"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"travelprice":{"type":"variable","value":null,"description":"Bazowa cena wycieczki"},"tresc_o_ubezpieczeniu_kr":{"type":"variable","value":null,"description":"Treść o ubezpieczeniu (KR)"},"availablePayments.description":{"type":"variable","value":null,"description":"Pokazuje włączone płatności"},"orderfullname":{"type":"variable","value":null,"description":"Imię i nazwisko zamawiającego"},"ordermemberlist":{"type":"variable","value":null,"description":"Lista członków zamówienia"},"availablePayments.bank":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy przelew bankowy jest dostępny"},"availablePayments.paynow":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayNow jest włączony"},"availablePayments.payu":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayU jest włączony"},"availablePayments.tpay":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy Tpay jest włączony"},"availablePayments.type.online":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy płatność online jest włączona"},"trip.option.generate_agreement":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy na wycieczce generowanie umowy jest włączone"}}\'::jsonb WHERE email_template_id = 8;');
  35.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"company":{"type":"variable","value":null,"description":"Firma"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"harmonogram_platnosci":{"type":"variable","value":null,"description":"Harmonogram płatności"},"homelink":{"type":"variable","value":null,"description":"Link do strony głównej"},"signlink":{"type":"variable","value":null,"description":"Link do zapisu na wycieczkę"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"tresc_o_ubezpieczeniu_kr":{"type":"variable","value":null,"description":"Treść o ubezpieczeniu (KR)"},"username":{"type":"variable","value":null,"description":"Nazwa użytkownika"},"userpassword":{"type":"variable","value":null,"description":"Hasło użytkownika"}}\'::jsonb WHERE email_template_id = 9;');
  36.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"user_change_password_url":{"type":"variable","value":null,"description":"Link do zmiany hasła"},"user_login":{"type":"variable","value":null,"description":"Login użytkownika"}}\'::jsonb WHERE email_template_id = 10;');
  37.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"company":{"type":"variable","value":null,"description":"Firma"},"coordinator":{"type":"variable","value":null,"description":"Koordynator"},"nr_rezerwacji":{"type":"variable","value":null,"description":"Numer rezerwacji"},"orderfullname":{"type":"variable","value":null,"description":"Imię i nazwisko zamawiającego"},"ordermemberlist":{"type":"variable","value":null,"description":"Lista członków zamówienia"},"travel_date_compartment":{"type":"variable","value":null,"description":"Zakres dat podróży"},"travel_id":{"type":"variable","value":null,"description":"ID wycieczki"},"travel_name":{"type":"variable","value":null,"description":"Nazwa wycieczki"}}\'::jsonb WHERE email_template_id = 11;');
  38.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"app_company_address":{"type":"variable","value":null,"description":"Ustawienia -> Adres firmy"},"app_company_mark":{"type":"variable","value":null,"description":"Ustawienia -> Marka firmy"},"app_company_name":{"type":"variable","value":null,"description":"Ustawienia -> Nazwa firmy"},"link_ankieta":{"type":"variable","value":null,"description":"Link do ankiety"}}\'::jsonb WHERE email_template_id = 12;');
  39.         $this->addSql('UPDATE tourapp.email_template SET variables = \'{"faktura":{"type":"variable","value":null,"description":"Informacja o wymaganej fakturze (wymagana/niewymagana)"},"harmonogram_platnosci":{"type":"variable","value":null,"description":"Harmonogram płatności"},"memberiban":{"type":"variable","value":null,"description":"Numer IBAN"},"orderId":{"type":"variable","value":null,"description":"ID zamówienia"},"travelFrom":{"type":"variable","value":null,"description":"Data rozpoczęcia wycieczki"},"travelId":{"type":"variable","value":null,"description":"ID wycieczki"},"travelName":{"type":"variable","value":null,"description":"Nazwa wycieczki"},"travelTo":{"type":"variable","value":null,"description":"Data zakończenia wycieczki"},"tresc_o_ubezpieczeniu_kr":{"type":"variable","value":null,"description":"Treść informacji o ubezpieczeniu"},"availablePayments.description":{"type":"variable","value":null,"description":"Pokazuje włączone płatności"},"availablePayments.bank":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy przelew bankowy jest dostępny"},"availablePayments.paynow":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayNow jest włączony"},"availablePayments.payu":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy PayU jest włączony"},"availablePayments.tpay":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy Tpay jest włączony"},"availablePayments.type.online":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy płatność online jest włączona"},"trip.option.generate_agreement":{"type":"condition","value":null,"description":"Warunek: treść wyświetlana gdy na wycieczce generowanie umowy jest włączone"}}\'::jsonb WHERE email_template_id = 13;');
  40.         $this->addSql('
  41.             UPDATE tourapp.email_template
  42.             SET variables = (
  43.                 SELECT (
  44.                     (SELECT json_object_agg(key, val ORDER BY sort_order, key)
  45.                      FROM (
  46.                          SELECT 
  47.                              key,
  48.                              CASE 
  49.                                  WHEN jsonb_exists(value, \'type\') THEN value
  50.                                  ELSE jsonb_set(value, \'{type}\', \'"variable"\'::jsonb)
  51.                              END AS val,
  52.                              CASE 
  53.                                  WHEN (value->>\'type\') = \'variable\' OR NOT jsonb_exists(value, \'type\') THEN 1
  54.                                  WHEN (value->>\'type\') = \'condition\' THEN 3
  55.                                  ELSE 2
  56.                              END AS sort_order
  57.                          FROM jsonb_each(variables::jsonb)
  58.                      ) s
  59.                     )::json
  60.                 )
  61.             )
  62.             WHERE variables IS NOT NULL
  63.               AND jsonb_typeof(variables::jsonb) = \'object\'
  64.               AND variables::jsonb != \'{}\'::jsonb;
  65.         ');
  66.     }
  67.     public function down(Schema $schema): void
  68.     {
  69.     }
  70. }