migrations/Version20180516120827.php line 1

  1. <?php
  2. namespace DoctrineMigrations;
  3. use Doctrine\DBAL\Schema\Schema;
  4. use Doctrine\Migrations\AbstractMigration;
  5. /**
  6.  * Auto-generated Migration: Please modify to your needs!
  7.  */ 
  8. class Version20180516120827 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.         
  18.         $this->addSql('ALTER TABLE media ADD users_id INT DEFAULT 1 NOT NULL');
  19.         $this->addSql('ALTER TABLE media ALTER users_id DROP DEFAULT');
  20. //        $this->addSql('ALTER TABLE media ADD media_order INT DEFAULT 0 NOT NULL');
  21. //        $this->addSql('ALTER TABLE media DROP node_priority');
  22.         $this->addSql('ALTER TABLE media RENAME COLUMN node_priority TO media_order');
  23.         $this->addSql('COMMENT ON COLUMN media.users_id IS \'Creating/editing user\'');
  24.         $this->addSql('COMMENT ON COLUMN media.media_order IS \'Order in parent entity\'');
  25.         $this->addSql('ALTER TABLE media ADD CONSTRAINT fk_media_users FOREIGN KEY (users_id) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  26.         $this->addSql('ALTER TABLE node ADD users_id INT DEFAULT 1 NOT NULL');
  27.         $this->addSql('ALTER TABLE node ALTER users_id DROP DEFAULT');
  28. //        $this->addSql('ALTER TABLE node ADD node_order INT DEFAULT 0 NOT NULL');
  29. //        $this->addSql('ALTER TABLE node DROP priority');
  30.         $this->addSql('ALTER TABLE node RENAME COLUMN priority TO node_order');
  31.         $this->addSql('COMMENT ON COLUMN node.users_id IS \'Creating/editing user\'');
  32.         $this->addSql('COMMENT ON COLUMN node.node_order IS \'Order in scenario\'');
  33.         $this->addSql('COMMENT ON COLUMN node.links_order IS \'Order of links (0 - default, 1 - random)\'');
  34.         $this->addSql('ALTER TABLE node ADD CONSTRAINT fk_node_users FOREIGN KEY (users_id) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  35.         $this->addSql('ALTER TABLE player_sessionhist RENAME COLUMN correct TO is_ended');
  36.         $this->addSql('ALTER TABLE users DROP settings');
  37.         $this->addSql('ALTER TABLE users DROP auth_modules');
  38.         $this->addSql('ALTER TABLE mcq ADD users_id INT DEFAULT 1 NOT NULL');
  39.         $this->addSql('ALTER TABLE mcq ALTER users_id DROP DEFAULT');
  40.         $this->addSql('COMMENT ON COLUMN mcq.users_id IS \'Creating/editing user\'');
  41.         $this->addSql('ALTER TABLE mcq ADD CONSTRAINT fk_mcq_users FOREIGN KEY (users_id) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  42.         $this->addSql('ALTER TABLE link ADD users_id INT DEFAULT 1 NOT NULL');
  43.         $this->addSql('ALTER TABLE link ALTER users_id DROP DEFAULT');
  44.         $this->addSql('COMMENT ON COLUMN link.users_id IS \'Creating/editing user\'');
  45.         $this->addSql('ALTER TABLE link ADD CONSTRAINT fk_link_users FOREIGN KEY (users_id) REFERENCES users (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  46.         $this->addSql('ALTER TABLE scenario ALTER author TYPE VARCHAR(255)');
  47. //        $this->addSql('ALTER TABLE scenario ALTER author DROP DEFAULT');
  48.         $this->addSql('UPDATE scenario SET author = \'unknown\' WHERE author IS NULL');
  49.         $this->addSql('ALTER TABLE scenario ALTER author SET NOT NULL');;
  50.         $this->addSql('COMMENT ON COLUMN scenario.author IS \'Title\'');
  51.     }
  52.     /**
  53.      * @param Schema $schema
  54.      */
  55.     public function down(Schema $schema) : void
  56.     {
  57.         // this down() migration is auto-generated, please modify it to your needs
  58.         $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql''Migration can only be executed safely on \'postgresql\'.');
  59.         //$this->addSql('CREATE SCHEMA public');
  60.         $this->addSql('ALTER TABLE scenario ALTER author TYPE TEXT');
  61. //        $this->addSql('ALTER TABLE scenario ALTER author DROP DEFAULT');
  62.         $this->addSql('ALTER TABLE scenario ALTER author DROP NOT NULL');
  63.         $this->addSql('UPDATE scenario SET author = NULL WHERE author = \'unknown\'');
  64.         $this->addSql('COMMENT ON COLUMN scenario.author IS \'Author\'');
  65.         $this->addSql('ALTER TABLE users ADD settings JSON DEFAULT NULL');
  66.         $this->addSql('ALTER TABLE users ADD auth_modules TEXT DEFAULT NULL');
  67.         $this->addSql('COMMENT ON COLUMN users.settings IS \'Settings N/A\'');
  68.         $this->addSql('COMMENT ON COLUMN users.auth_modules IS \'Modules N/A\'');
  69.         $this->addSql('ALTER TABLE player_sessionhist RENAME COLUMN is_ended TO correct');
  70.         $this->addSql('ALTER TABLE mcq DROP CONSTRAINT fk_mcq_users');
  71.         $this->addSql('ALTER TABLE mcq DROP users_id');
  72.         $this->addSql('ALTER TABLE node DROP CONSTRAINT fk_node_users');
  73.         $this->addSql('ALTER TABLE node DROP users_id');
  74. //        $this->addSql('ALTER TABLE node ADD priority INT DEFAULT 0 NOT NULL');
  75. //        $this->addSql('ALTER TABLE node DROP node_order');
  76.         $this->addSql('ALTER TABLE node RENAME COLUMN node_order TO priority');
  77.         $this->addSql('COMMENT ON COLUMN node.priority IS \'Priority (0 - is last in order)\'');
  78.         $this->addSql('COMMENT ON COLUMN node.links_order IS \'Order (0 - default, 1 - random)\'');
  79.         $this->addSql('ALTER TABLE link DROP CONSTRAINT fk_link_users');
  80.         $this->addSql('ALTER TABLE link DROP users_id');
  81.         $this->addSql('ALTER TABLE media DROP CONSTRAINT fk_media_users');
  82.         $this->addSql('ALTER TABLE media DROP users_id');
  83. //        $this->addSql('ALTER TABLE media ADD node_priority INT DEFAULT 0 NOT NULL');
  84. //        $this->addSql('ALTER TABLE media DROP media_order');
  85.         $this->addSql('ALTER TABLE media RENAME COLUMN media_order TO node_priority');
  86.         $this->addSql('COMMENT ON COLUMN media.node_priority IS \'Priority in node\'');
  87.     }
  88. }