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