migrations/Version20220228175224.php line 1

  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  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 Version20220228175224 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->addSql('CREATE TABLE artifact_entity_place (artifact_entity_id INTEGER NOT NULL, place_id INTEGER NOT NULL, PRIMARY KEY(artifact_entity_id, place_id))');
  19.         $this->addSql('CREATE INDEX IDX_582BD22A796FAEA1 ON artifact_entity_place (artifact_entity_id)');
  20.         $this->addSql('CREATE INDEX IDX_582BD22ADA6A219 ON artifact_entity_place (place_id)');
  21.         $this->addSql('CREATE TEMPORARY TABLE __temp__artifact_entity AS SELECT id, name, hp_max, hp FROM artifact_entity');
  22.         $this->addSql('DROP TABLE artifact_entity');
  23.         $this->addSql('CREATE TABLE artifact_entity (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, place_id INTEGER DEFAULT NULL, name VARCHAR(255) NOT NULL, hp_max INTEGER NOT NULL, hp INTEGER NOT NULL, description CLOB DEFAULT NULL --(DC2Type:array)
  24.         , CONSTRAINT FK_4966C724DA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  25.         $this->addSql('INSERT INTO artifact_entity (id, name, hp_max, hp) SELECT id, name, hp_max, hp FROM __temp__artifact_entity');
  26.         $this->addSql('DROP TABLE __temp__artifact_entity');
  27.         $this->addSql('CREATE INDEX IDX_4966C724DA6A219 ON artifact_entity (place_id)');
  28.         $this->addSql('DROP INDEX IDX_B6BD307FD1741030');
  29.         $this->addSql('DROP INDEX IDX_B6BD307F2239FAB1');
  30.         $this->addSql('CREATE TEMPORARY TABLE __temp__message AS SELECT id, place_origin_id, playable_entity_origin_id, date_time, content FROM message');
  31.         $this->addSql('DROP TABLE message');
  32.         $this->addSql('CREATE TABLE message (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, place_origin_id INTEGER DEFAULT NULL, playable_entity_origin_id INTEGER DEFAULT NULL, date_time DATETIME NOT NULL --(DC2Type:datetime_immutable)
  33.         , content CLOB NOT NULL, CONSTRAINT FK_B6BD307F2239FAB1 FOREIGN KEY (place_origin_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_B6BD307FD1741030 FOREIGN KEY (playable_entity_origin_id) REFERENCES playable_entity (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  34.         $this->addSql('INSERT INTO message (id, place_origin_id, playable_entity_origin_id, date_time, content) SELECT id, place_origin_id, playable_entity_origin_id, date_time, content FROM __temp__message');
  35.         $this->addSql('DROP TABLE __temp__message');
  36.         $this->addSql('CREATE INDEX IDX_B6BD307FD1741030 ON message (playable_entity_origin_id)');
  37.         $this->addSql('CREATE INDEX IDX_B6BD307F2239FAB1 ON message (place_origin_id)');
  38.         $this->addSql('DROP INDEX IDX_B548B0F816C6140');
  39.         $this->addSql('DROP INDEX IDX_B548B0F56A273CC');
  40.         $this->addSql('CREATE TEMPORARY TABLE __temp__path AS SELECT id, origin_id, destination_id, name, position FROM path');
  41.         $this->addSql('DROP TABLE path');
  42.         $this->addSql('CREATE TABLE path (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, origin_id INTEGER NOT NULL, destination_id INTEGER NOT NULL, name VARCHAR(255) NOT NULL, position SMALLINT NOT NULL, CONSTRAINT FK_B548B0F56A273CC FOREIGN KEY (origin_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_B548B0F816C6140 FOREIGN KEY (destination_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  43.         $this->addSql('INSERT INTO path (id, origin_id, destination_id, name, position) SELECT id, origin_id, destination_id, name, position FROM __temp__path');
  44.         $this->addSql('DROP TABLE __temp__path');
  45.         $this->addSql('CREATE INDEX IDX_B548B0F816C6140 ON path (destination_id)');
  46.         $this->addSql('CREATE INDEX IDX_B548B0F56A273CC ON path (origin_id)');
  47.         $this->addSql('ALTER TABLE place ADD COLUMN description CLOB DEFAULT NULL');
  48.         $this->addSql('DROP INDEX IDX_114242BEDA6A219');
  49.         $this->addSql('DROP INDEX IDX_114242BE99E6F5DF');
  50.         $this->addSql('CREATE TEMPORARY TABLE __temp__playable_entity AS SELECT id, player_id, place_id, name, gender, trombinoscope, size, hp, ap, max_hp, max_ap, armor_class, agility, charisma, intelligence, perception, strength, skills, abilities, known_magicskills, known_attackskills, known_craftskills FROM playable_entity');
  51.         $this->addSql('DROP TABLE playable_entity');
  52.         $this->addSql('CREATE TABLE playable_entity (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, player_id INTEGER DEFAULT NULL, place_id INTEGER DEFAULT NULL, name VARCHAR(255) NOT NULL, gender SMALLINT NOT NULL, trombinoscope CLOB DEFAULT NULL --(DC2Type:array)
  53.         , size SMALLINT NOT NULL, hp INTEGER NOT NULL, ap INTEGER NOT NULL, max_hp INTEGER NOT NULL, max_ap INTEGER NOT NULL, armor_class INTEGER NOT NULL, agility INTEGER NOT NULL, charisma INTEGER NOT NULL, intelligence INTEGER NOT NULL, perception INTEGER NOT NULL, strength INTEGER NOT NULL, skills CLOB DEFAULT NULL --(DC2Type:array)
  54.         , abilities CLOB DEFAULT NULL --(DC2Type:array)
  55.         , known_magicskills CLOB DEFAULT NULL --(DC2Type:array)
  56.         , known_attackskills CLOB DEFAULT NULL --(DC2Type:array)
  57.         , known_craftskills CLOB DEFAULT NULL --(DC2Type:array)
  58.         , race VARCHAR(255) NOT NULL, description CLOB DEFAULT NULL --(DC2Type:array)
  59.         , CONSTRAINT FK_114242BE99E6F5DF FOREIGN KEY (player_id) REFERENCES user (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_114242BEDA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  60.         $this->addSql('INSERT INTO playable_entity (id, player_id, place_id, name, gender, trombinoscope, size, hp, ap, max_hp, max_ap, armor_class, agility, charisma, intelligence, perception, strength, skills, abilities, known_magicskills, known_attackskills, known_craftskills) SELECT id, player_id, place_id, name, gender, trombinoscope, size, hp, ap, max_hp, max_ap, armor_class, agility, charisma, intelligence, perception, strength, skills, abilities, known_magicskills, known_attackskills, known_craftskills FROM __temp__playable_entity');
  61.         $this->addSql('DROP TABLE __temp__playable_entity');
  62.         $this->addSql('CREATE INDEX IDX_114242BEDA6A219 ON playable_entity (place_id)');
  63.         $this->addSql('CREATE INDEX IDX_114242BE99E6F5DF ON playable_entity (player_id)');
  64.         $this->addSql('DROP INDEX IDX_86A7E937DA6A219');
  65.         $this->addSql('CREATE TEMPORARY TABLE __temp__unplayable_entity AS SELECT id, place_id, name, hp, hp_max, ap, ap_max, armor_class FROM unplayable_entity');
  66.         $this->addSql('DROP TABLE unplayable_entity');
  67.         $this->addSql('CREATE TABLE unplayable_entity (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, place_id INTEGER DEFAULT NULL, name VARCHAR(255) NOT NULL, hp INTEGER NOT NULL, hp_max INTEGER NOT NULL, ap INTEGER NOT NULL, ap_max INTEGER NOT NULL, armor_class INTEGER NOT NULL, description CLOB DEFAULT NULL --(DC2Type:array)
  68.         , CONSTRAINT FK_86A7E937DA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  69.         $this->addSql('INSERT INTO unplayable_entity (id, place_id, name, hp, hp_max, ap, ap_max, armor_class) SELECT id, place_id, name, hp, hp_max, ap, ap_max, armor_class FROM __temp__unplayable_entity');
  70.         $this->addSql('DROP TABLE __temp__unplayable_entity');
  71.         $this->addSql('CREATE INDEX IDX_86A7E937DA6A219 ON unplayable_entity (place_id)');
  72.     }
  73.     public function down(Schema $schema): void
  74.     {
  75.         // this down() migration is auto-generated, please modify it to your needs
  76.         $this->addSql('DROP TABLE artifact_entity_place');
  77.         $this->addSql('DROP INDEX IDX_4966C724DA6A219');
  78.         $this->addSql('CREATE TEMPORARY TABLE __temp__artifact_entity AS SELECT id, name, hp_max, hp FROM artifact_entity');
  79.         $this->addSql('DROP TABLE artifact_entity');
  80.         $this->addSql('CREATE TABLE artifact_entity (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR(255) NOT NULL, hp_max INTEGER NOT NULL, hp INTEGER NOT NULL)');
  81.         $this->addSql('INSERT INTO artifact_entity (id, name, hp_max, hp) SELECT id, name, hp_max, hp FROM __temp__artifact_entity');
  82.         $this->addSql('DROP TABLE __temp__artifact_entity');
  83.         $this->addSql('DROP INDEX IDX_B6BD307F2239FAB1');
  84.         $this->addSql('DROP INDEX IDX_B6BD307FD1741030');
  85.         $this->addSql('CREATE TEMPORARY TABLE __temp__message AS SELECT id, place_origin_id, playable_entity_origin_id, date_time, content FROM message');
  86.         $this->addSql('DROP TABLE message');
  87.         $this->addSql('CREATE TABLE message (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, place_origin_id INTEGER DEFAULT NULL, playable_entity_origin_id INTEGER DEFAULT NULL, date_time DATETIME NOT NULL --(DC2Type:datetime_immutable)
  88.         , content CLOB NOT NULL)');
  89.         $this->addSql('INSERT INTO message (id, place_origin_id, playable_entity_origin_id, date_time, content) SELECT id, place_origin_id, playable_entity_origin_id, date_time, content FROM __temp__message');
  90.         $this->addSql('DROP TABLE __temp__message');
  91.         $this->addSql('CREATE INDEX IDX_B6BD307F2239FAB1 ON message (place_origin_id)');
  92.         $this->addSql('CREATE INDEX IDX_B6BD307FD1741030 ON message (playable_entity_origin_id)');
  93.         $this->addSql('DROP INDEX IDX_B548B0F56A273CC');
  94.         $this->addSql('DROP INDEX IDX_B548B0F816C6140');
  95.         $this->addSql('CREATE TEMPORARY TABLE __temp__path AS SELECT id, origin_id, destination_id, name, position FROM path');
  96.         $this->addSql('DROP TABLE path');
  97.         $this->addSql('CREATE TABLE path (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, origin_id INTEGER NOT NULL, destination_id INTEGER NOT NULL, name VARCHAR(255) NOT NULL, position SMALLINT NOT NULL)');
  98.         $this->addSql('INSERT INTO path (id, origin_id, destination_id, name, position) SELECT id, origin_id, destination_id, name, position FROM __temp__path');
  99.         $this->addSql('DROP TABLE __temp__path');
  100.         $this->addSql('CREATE INDEX IDX_B548B0F56A273CC ON path (origin_id)');
  101.         $this->addSql('CREATE INDEX IDX_B548B0F816C6140 ON path (destination_id)');
  102.         $this->addSql('CREATE TEMPORARY TABLE __temp__place AS SELECT id, name FROM place');
  103.         $this->addSql('DROP TABLE place');
  104.         $this->addSql('CREATE TABLE place (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR(255) NOT NULL)');
  105.         $this->addSql('INSERT INTO place (id, name) SELECT id, name FROM __temp__place');
  106.         $this->addSql('DROP TABLE __temp__place');
  107.         $this->addSql('DROP INDEX IDX_114242BE99E6F5DF');
  108.         $this->addSql('DROP INDEX IDX_114242BEDA6A219');
  109.         $this->addSql('CREATE TEMPORARY TABLE __temp__playable_entity AS SELECT id, player_id, place_id, name, gender, trombinoscope, size, hp, ap, max_hp, max_ap, armor_class, agility, charisma, intelligence, perception, strength, skills, abilities, known_magicskills, known_attackskills, known_craftskills FROM playable_entity');
  110.         $this->addSql('DROP TABLE playable_entity');
  111.         $this->addSql('CREATE TABLE playable_entity (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, player_id INTEGER DEFAULT NULL, place_id INTEGER DEFAULT NULL, name VARCHAR(255) NOT NULL, gender SMALLINT NOT NULL, trombinoscope CLOB DEFAULT NULL --(DC2Type:array)
  112.         , size SMALLINT NOT NULL, hp INTEGER NOT NULL, ap INTEGER NOT NULL, max_hp INTEGER NOT NULL, max_ap INTEGER NOT NULL, armor_class INTEGER NOT NULL, agility INTEGER NOT NULL, charisma INTEGER NOT NULL, intelligence INTEGER NOT NULL, perception INTEGER NOT NULL, strength INTEGER NOT NULL, skills CLOB DEFAULT NULL --(DC2Type:array)
  113.         , abilities CLOB DEFAULT NULL --(DC2Type:array)
  114.         , known_magicskills CLOB DEFAULT NULL --(DC2Type:array)
  115.         , known_attackskills CLOB DEFAULT NULL --(DC2Type:array)
  116.         , known_craftskills CLOB DEFAULT NULL --(DC2Type:array)
  117.         )');
  118.         $this->addSql('INSERT INTO playable_entity (id, player_id, place_id, name, gender, trombinoscope, size, hp, ap, max_hp, max_ap, armor_class, agility, charisma, intelligence, perception, strength, skills, abilities, known_magicskills, known_attackskills, known_craftskills) SELECT id, player_id, place_id, name, gender, trombinoscope, size, hp, ap, max_hp, max_ap, armor_class, agility, charisma, intelligence, perception, strength, skills, abilities, known_magicskills, known_attackskills, known_craftskills FROM __temp__playable_entity');
  119.         $this->addSql('DROP TABLE __temp__playable_entity');
  120.         $this->addSql('CREATE INDEX IDX_114242BE99E6F5DF ON playable_entity (player_id)');
  121.         $this->addSql('CREATE INDEX IDX_114242BEDA6A219 ON playable_entity (place_id)');
  122.         $this->addSql('DROP INDEX IDX_86A7E937DA6A219');
  123.         $this->addSql('CREATE TEMPORARY TABLE __temp__unplayable_entity AS SELECT id, place_id, name, hp, hp_max, ap, ap_max, armor_class FROM unplayable_entity');
  124.         $this->addSql('DROP TABLE unplayable_entity');
  125.         $this->addSql('CREATE TABLE unplayable_entity (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, place_id INTEGER DEFAULT NULL, name VARCHAR(255) NOT NULL, hp INTEGER NOT NULL, hp_max INTEGER NOT NULL, ap INTEGER NOT NULL, ap_max INTEGER NOT NULL, armor_class INTEGER NOT NULL)');
  126.         $this->addSql('INSERT INTO unplayable_entity (id, place_id, name, hp, hp_max, ap, ap_max, armor_class) SELECT id, place_id, name, hp, hp_max, ap, ap_max, armor_class FROM __temp__unplayable_entity');
  127.         $this->addSql('DROP TABLE __temp__unplayable_entity');
  128.         $this->addSql('CREATE INDEX IDX_86A7E937DA6A219 ON unplayable_entity (place_id)');
  129.     }
  130. }