migrations/Version20220930122048.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 Version20220930122048 extends AbstractMigration
  8. {
  9.     public function getDescription(): string
  10.     {
  11.         return '';
  12.     }
  13.     public function up(Schema $schema): void
  14.     {
  15.         $this->skipIf(
  16.             true === $schema->getTable('message')->hasColumn('document_name')
  17.             ||
  18.             true === $schema->getTable('message')->hasColumn('document_url'),
  19.             'The document_name and document_url fields are already in the message table!'
  20.         );
  21.         $schema
  22.             ->getTable('message')
  23.             ->addColumn(
  24.                 'document_name',
  25.                 Types::STRING
  26.             )
  27.             ->setNotnull(false)
  28.             ->setDefault(null)
  29.         ;
  30.         $schema
  31.             ->getTable('message')
  32.             ->addColumn(
  33.                 'document_url',
  34.                 Types::TEXT
  35.             )
  36.             ->setNotnull(false)
  37.             ->setDefault(null)
  38.         ;
  39.     }
  40.     public function down(Schema $schema): void
  41.     {
  42.         $this->skipIf(
  43.             false === $schema->getTable('message')->hasColumn('document_name')
  44.             ||
  45.             false === $schema->getTable('message')->hasColumn('document_url'),
  46.             'The document_name and document_url fields are already removed from the message table!'
  47.         );
  48.         $schema->getTable('message')->dropColumn('document_name');
  49.         $schema->getTable('message')->dropColumn('document_url');
  50.     }
  51. }