migrations/Version20230117104957.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. final class Version20230117104957 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Add a new field called rank used for sort references tables like reference_candidate_status, 
  11.                 reference_collaborator_state, reference_mandate_status, reference_person_marital_status, 
  12.                 reference_property_status and reference_transaction_status.';
  13.     }
  14.     public function up(Schema $schema): void
  15.     {
  16.         // update reference_candidate_status table
  17.         $this->addSql('ALTER TABLE reference_candidate_status ADD rank INT DEFAULT NULL');
  18.         $this->addSql("UPDATE reference_candidate_status SET rank = 1 WHERE name = 'reference.candidate.status.IN_PROGRESS'");
  19.         $this->addSql("UPDATE reference_candidate_status SET rank = 2 WHERE name = 'reference.candidate.status.ACCEPTED'");
  20.         $this->addSql("UPDATE reference_candidate_status SET rank = 3 WHERE name = 'reference.candidate.status.REFUSED'");
  21.         // update reference_collaborator_state table
  22.         $this->addSql('ALTER TABLE reference_collaborator_state ADD rank INT DEFAULT NULL');
  23.         $this->addSql("UPDATE reference_collaborator_state SET rank = 1 WHERE name = 'reference.collaborator.state.ACTIVE'");
  24.         $this->addSql("UPDATE reference_collaborator_state SET rank = 2 WHERE name = 'reference.collaborator.state.SUSPENDED'");
  25.         $this->addSql("UPDATE reference_collaborator_state SET rank = 3 WHERE name = 'reference.collaborator.state.DISABLED'");
  26.         $this->addSql("UPDATE reference_collaborator_state SET rank = 4 WHERE name = 'reference.collaborator.state.ARCHIVED'");
  27.         // update reference_mandate_status table
  28.         $this->addSql('ALTER TABLE reference_mandate_status ADD rank INT DEFAULT NULL');
  29.         $this->addSql("UPDATE reference_mandate_status SET rank = 1 WHERE name = 'reference.mandate.status.IN_PROGRESS'");
  30.         $this->addSql("UPDATE reference_mandate_status SET rank = 2 WHERE name = 'reference.mandate.status.VALID'");
  31.         $this->addSql("UPDATE reference_mandate_status SET rank = 3 WHERE name = 'reference.mandate.status.RESERVED'");
  32.         $this->addSql("UPDATE reference_mandate_status SET rank = 4 WHERE name = 'reference.mandate.status.UNDER_COMPROMISE'");
  33.         $this->addSql("UPDATE reference_mandate_status SET rank = 5 WHERE name = 'reference.mandate.status.SOLD_BY_MILKIYA'");
  34.         $this->addSql("UPDATE reference_mandate_status SET rank = 6 WHERE name = 'reference.mandate.status.SOLD_BY_COMPETITION'");
  35.         $this->addSql("UPDATE reference_mandate_status SET rank = 7 WHERE name = 'reference.mandate.status.SOLD_BY_THE_OWNER'");
  36.         $this->addSql("UPDATE reference_mandate_status SET rank = 8 WHERE name = 'reference.mandate.status.REFUSE'");
  37.         $this->addSql("UPDATE reference_mandate_status SET rank = 9 WHERE name = 'reference.mandate.status.ARCHIVED'");
  38.         // update reference_person_marital_status table
  39.         $this->addSql('ALTER TABLE reference_person_marital_status ADD rank INT DEFAULT NULL');
  40.         $this->addSql("UPDATE reference_person_marital_status SET rank = 1 WHERE name = 'reference.collaborator.marital.SINGLE'");
  41.         $this->addSql("UPDATE reference_person_marital_status SET rank = 2 WHERE name = 'reference.collaborator.marital.MARRIED'");
  42.         $this->addSql("UPDATE reference_person_marital_status SET rank = 3 WHERE name = 'reference.collaborator.marital.WINDOWED'");
  43.         $this->addSql("UPDATE reference_person_marital_status SET rank = 4 WHERE name = 'reference.collaborator.marital.SEPARATED'");
  44.         $this->addSql("UPDATE reference_person_marital_status SET rank = 5 WHERE name = 'reference.collaborator.marital.DIVORCED'");
  45.         // update reference_property_status table (rank field already existed)
  46.         $this->addSql("UPDATE reference_property_status SET rank = 1 WHERE name = 'reference.property.status.INVALIDE'");
  47.         $this->addSql("UPDATE reference_property_status SET rank = 2 WHERE name = 'reference.property.status.PENDING'");
  48.         $this->addSql("UPDATE reference_property_status SET rank = 3 WHERE name = 'reference.property.status.IN_PROGRESS'");
  49.         $this->addSql("UPDATE reference_property_status SET rank = 4 WHERE name = 'reference.property.status.UNDER_COMPROMISE'");
  50.         $this->addSql("UPDATE reference_property_status SET rank = 5 WHERE name = 'reference.property.status.SOLD_BY_MILKIYA'");
  51.         $this->addSql("UPDATE reference_property_status SET rank = 6 WHERE name = 'reference.property.status.SOLD_BY_COMPETITION'");
  52.         $this->addSql("UPDATE reference_property_status SET rank = 7 WHERE name = 'reference.property.status.RENTED_BY_MILKIYA'");
  53.         $this->addSql("UPDATE reference_property_status SET rank = 8 WHERE name = 'reference.property.status.RESERVED'");
  54.         $this->addSql("UPDATE reference_property_status SET rank = 9 WHERE name = 'reference.property.status.ARCHIVED'");
  55.         // Update reference_transaction_status table
  56.         $this->addSql('ALTER TABLE reference_transaction_status ADD rank INT DEFAULT NULL');
  57.         $this->addSql("UPDATE reference_transaction_status SET rank = 1 WHERE name = 'reference.transaction.status.UNDER_COMPROMISE'");
  58.         $this->addSql("UPDATE reference_transaction_status SET rank = 2 WHERE name = 'reference.transaction.status.UNDER_COMPROMISE_VALID'");
  59.         $this->addSql("UPDATE reference_transaction_status SET rank = 3 WHERE name = 'reference.transaction.status.ACTED'");
  60.         $this->addSql("UPDATE reference_transaction_status SET rank = 4 WHERE name = 'reference.transaction.status.VERSED'");
  61.         $this->addSql("UPDATE reference_transaction_status SET rank = 5 WHERE name = 'reference.transaction.status.PAID'");
  62.         $this->addSql("UPDATE reference_transaction_status SET rank = 6 WHERE name = 'reference.transaction.status.CANCELLED'");
  63.         $this->addSql("UPDATE reference_transaction_status SET rank = 7 WHERE name = 'reference.transaction.status.REFUSED'");
  64.         $this->addSql("UPDATE reference_transaction_status SET rank = 8 WHERE name = 'reference.transaction.status.BAILPENDING'");
  65.         $this->addSql("UPDATE reference_transaction_status SET rank = 9 WHERE name = 'reference.transaction.status.BAILSIGNED'");
  66.     }
  67.     public function down(Schema $schema): void
  68.     {
  69.         $this->addSql('ALTER TABLE reference_candidate_status DROP rank');
  70.         $this->addSql('ALTER TABLE reference_collaborator_state DROP rank');
  71.         $this->addSql('ALTER TABLE reference_mandate_status DROP rank');
  72.         $this->addSql('ALTER TABLE reference_person_marital_status DROP rank');
  73.         $this->addSql('ALTER TABLE reference_transaction_status DROP rank');
  74.     }
  75. }