migrations/Version20180102134755.php line 1

  1. <?php
  2. namespace DoctrineMigrations;
  3. use Doctrine\DBAL\Schema\Schema;
  4. use Doctrine\Migrations\AbstractMigration;
  5. /**
  6.  * changed type of columns active from smallint to boolean
  7.  */
  8. class Version20180102134755 extends AbstractMigration
  9. {
  10.     /**
  11.      * @param Schema $schema
  12.      */
  13.     public function up(Schema $schema) : void
  14.     {
  15.         // this up() migration is auto-generated, please modify it to your needs
  16.         $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql''Migration can only be executed safely on \'postgresql\'.');
  17.         $this->addSql('ALTER TABLE media ALTER active DROP DEFAULT');
  18.         $this->addSql('ALTER TABLE media ALTER active TYPE BOOLEAN 
  19.                               USING CASE WHEN active = 0 THEN FALSE
  20.                                 WHEN active = 1 THEN TRUE
  21.                                 ELSE NULL
  22.                               END');
  23.         $this->addSql('ALTER TABLE media ALTER active SET DEFAULT \'false\'');
  24.         $this->addSql('COMMENT ON COLUMN media.active IS \'Active\'');
  25.         $this->addSql('ALTER TABLE node ALTER active DROP DEFAULT');
  26.         $this->addSql('ALTER TABLE node ALTER active TYPE BOOLEAN 
  27.                               USING CASE WHEN active = 0 THEN FALSE
  28.                                 WHEN active = 1 THEN TRUE
  29.                                 ELSE NULL
  30.                               END');
  31.         $this->addSql('ALTER TABLE node ALTER active SET DEFAULT \'false\'');
  32.         $this->addSql('COMMENT ON COLUMN node.active IS \'Active\'');
  33.         $this->addSql('ALTER TABLE mcq ALTER active DROP DEFAULT');
  34.         $this->addSql('ALTER TABLE mcq ALTER active TYPE BOOLEAN 
  35.                               USING CASE WHEN active = 0 THEN FALSE
  36.                                 WHEN active = 1 THEN TRUE
  37.                                 ELSE NULL
  38.                               END');
  39.         $this->addSql('ALTER TABLE mcq ALTER active SET DEFAULT \'false\'');
  40.         $this->addSql('COMMENT ON COLUMN mcq.active IS \'Active\'');
  41.         $this->addSql('ALTER TABLE link ALTER active DROP DEFAULT');
  42.         $this->addSql('ALTER TABLE link ALTER active TYPE BOOLEAN 
  43.                               USING CASE WHEN active = 0 THEN FALSE
  44.                                 WHEN active = 1 THEN TRUE
  45.                                 ELSE NULL
  46.                               END');
  47.         $this->addSql('ALTER TABLE link ALTER active SET DEFAULT \'false\'');
  48.         $this->addSql('COMMENT ON COLUMN link.active IS \'Active\'');
  49.     }
  50.     /**
  51.      * @param Schema $schema
  52.      */
  53.     public function down(Schema $schema) : void
  54.     {
  55.         // this down() migration is auto-generated, please modify it to your needs
  56.         $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql''Migration can only be executed safely on \'postgresql\'.');
  57.         //$this->addSql('CREATE SCHEMA public');
  58.         $this->addSql('ALTER TABLE mcq ALTER active DROP DEFAULT');
  59.         $this->addSql('ALTER TABLE mcq ALTER active TYPE SMALLINT 
  60.                               USING CASE WHEN active = FALSE THEN 0
  61.                                 WHEN active = TRUE THEN 1
  62.                                 ELSE NULL
  63.                               END');
  64.         $this->addSql('ALTER TABLE mcq ALTER active SET DEFAULT 0');
  65.         $this->addSql('COMMENT ON COLUMN mcq.active IS \'Active (0 - off, 1 - on)\'');
  66.         $this->addSql('ALTER TABLE node ALTER active DROP DEFAULT');
  67.         $this->addSql('ALTER TABLE node ALTER active TYPE SMALLINT 
  68.                               USING CASE WHEN active = FALSE THEN 0
  69.                                 WHEN active = TRUE THEN 1
  70.                                 ELSE NULL
  71.                               END');
  72.         $this->addSql('ALTER TABLE node ALTER active SET DEFAULT 0');
  73.         $this->addSql('COMMENT ON COLUMN node.active IS \'Active (0 - off, 1 - on)\'');
  74.         $this->addSql('ALTER TABLE link ALTER active DROP DEFAULT');
  75.         $this->addSql('ALTER TABLE link ALTER active TYPE SMALLINT 
  76.                               USING CASE WHEN active = FALSE THEN 0
  77.                                 WHEN active = TRUE THEN 1
  78.                                 ELSE NULL
  79.                               END');
  80.         $this->addSql('ALTER TABLE link ALTER active SET DEFAULT 0');
  81.         $this->addSql('COMMENT ON COLUMN link.active IS \'Active (0 - off, 1 - on)\'');
  82.         $this->addSql('ALTER TABLE media ALTER active DROP DEFAULT');
  83.         $this->addSql('ALTER TABLE media ALTER active TYPE SMALLINT 
  84.                               USING CASE WHEN active = FALSE THEN 0
  85.                                 WHEN active = TRUE THEN 1
  86.                                 ELSE NULL
  87.                               END');
  88.         $this->addSql('ALTER TABLE media ALTER active SET DEFAULT 0');
  89.         $this->addSql('COMMENT ON COLUMN media.active IS \'Active (0 - off, 1 - on)\'');
  90.     }
  91. }