migrations/Version20240611160600.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\DBAL\Types\Types;
  6. use Doctrine\Migrations\AbstractMigration;
  7. final class Version20240611160600 extends AbstractMigration
  8. {
  9.     public function getDescription(): string
  10.     {
  11.         return 'Add source_channel, social_security_number and affiliation_number fields to the cmcm_request table';
  12.     }
  13.     public function up(Schema $schema): void
  14.     {
  15.         $this->skipIf(
  16.             true === $schema->getTable('cmcm_request')->hasColumn('source_channel'),
  17.             'The source_channel field already exists in the cmcm_request table!'
  18.         );
  19.         $schema->getTable('cmcm_request')
  20.             ->addColumn('source_channel'Types::STRING, [
  21.                 'length' => 20,
  22.             ])
  23.             ->setDefault('mycmcm')
  24.             ->setNotnull(true);
  25.         $schema->getTable('cmcm_request')
  26.             ->addColumn('social_security_number'Types::STRING, [
  27.                 'length' => 20,
  28.             ])
  29.             ->setDefault(null)
  30.             ->setNotnull(false);
  31.         $schema->getTable('cmcm_request')
  32.             ->addColumn('affiliation_number'Types::STRING, [
  33.                 'length' => 20,
  34.             ])
  35.             ->setDefault(null)
  36.             ->setNotnull(false);
  37.     }
  38.     public function down(Schema $schema): void
  39.     {
  40.         $this->skipIf(
  41.             false === $schema->getTable('cmcm_request')->hasColumn('source_channel'),
  42.             'The source_channel is already removed from the cmcm_request table!'
  43.         );
  44.         $schema->getTable('cmcm_request')
  45.             ->dropColumn('source_channel')
  46.             ->dropColumn('social_security_number')
  47.             ->dropColumn('affiliation_number');
  48.     }
  49. }