src/Migrations/Version20201204131941.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Migrations;
  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 Version20201204131941 extends AbstractMigration
  10. {
  11.     public function getDescription() : string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema) : void
  16.     {
  17.         $dbDriver $this->connection->getDatabasePlatform()->getName();
  18.         if ($dbDriver === 'mysql') {
  19.             $this->addSql('ALTER TABLE user ADD phone_number VARCHAR(255) DEFAULT NULL, CHANGE email email VARCHAR(255) DEFAULT NULL');
  20.         } elseif($dbDriver === 'sqlite') {
  21.             $this->addSql('ALTER TABLE user RENAME TO _user_tmp;');
  22.             $this->addSql('CREATE TABLE user (id VARCHAR(36) NOT NULL, username VARCHAR(255) NOT NULL, email VARCHAR(255) DEFAULT NULL, phone_number VARCHAR(255) DEFAULT NULL, civility VARCHAR(30) DEFAULT NULL, firstname VARCHAR(100) DEFAULT NULL, lastname VARCHAR(100) DEFAULT NULL, password CLOB DEFAULT NULL, salt CLOB DEFAULT NULL, roles CLOB NOT NULL --(DC2Type:array)
  23.         , PRIMARY KEY(id))');
  24.             $this->addSql('INSERT INTO user (id, username, email, civility, firstname, lastname, password, salt, roles) SELECT id, username, email, civility, firstname, lastname, password, salt, roles FROM _user_tmp;');
  25.         }
  26.     }
  27.     public function down(Schema $schema) : void
  28.     {
  29.         $dbDriver $this->connection->getDatabasePlatform()->getName();
  30.         if ($dbDriver === 'mysql') {
  31.             $this->addSql('ALTER TABLE user DROP phone_number, CHANGE email email VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`');
  32.         } elseif($dbDriver === 'sqlite') {
  33.             $this->addSql('ALTER TABLE user RENAME TO _user_tmp;');
  34.             $this->addSql('CREATE TABLE user (id VARCHAR(36) NOT NULL, username VARCHAR(255) NOT NULL, email VARCHAR(255) DEFAULT NULL, civility VARCHAR(30) DEFAULT NULL, firstname VARCHAR(100) DEFAULT NULL, lastname VARCHAR(100) DEFAULT NULL, password CLOB DEFAULT NULL, salt CLOB DEFAULT NULL, roles CLOB NOT NULL --(DC2Type:array)
  35.         , PRIMARY KEY(id))');
  36.             $this->addSql('INSERT INTO user (id, username, email, civility, firstname, lastname, password, salt, roles) SELECT id, username, email, civility, firstname, lastname, password, salt, roles FROM _user_tmp;');
  37.         }
  38.     }
  39. }