migrations/Version20220502142807.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 Version20220502142807 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 log (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, owner_id INTEGER NOT NULL, origin_place_id INTEGER NOT NULL, origin_playable_entity_id INTEGER DEFAULT NULL, unplayable_entity_origin_id INTEGER DEFAULT NULL, destination_playable_entity_id INTEGER DEFAULT NULL, destination_unplayable_entity_id INTEGER DEFAULT NULL, datetime DATETIME NOT NULL --(DC2Type:datetime_immutable)
  19.         , type VARCHAR(255) NOT NULL, value INTEGER DEFAULT NULL)');
  20.         $this->addSql('CREATE INDEX IDX_8F3F68C57E3C61F9 ON log (owner_id)');
  21.         $this->addSql('CREATE INDEX IDX_8F3F68C53E10C8E9 ON log (origin_place_id)');
  22.         $this->addSql('CREATE INDEX IDX_8F3F68C5A30FFC4C ON log (origin_playable_entity_id)');
  23.         $this->addSql('CREATE INDEX IDX_8F3F68C54CCA4D7D ON log (unplayable_entity_origin_id)');
  24.         $this->addSql('CREATE INDEX IDX_8F3F68C569F6B503 ON log (destination_playable_entity_id)');
  25.         $this->addSql('CREATE INDEX IDX_8F3F68C59A280F8B ON log (destination_unplayable_entity_id)');
  26.         $this->addSql('DROP INDEX IDX_4966C724DA6A219');
  27.         $this->addSql('CREATE TEMPORARY TABLE __temp__artifact_entity AS SELECT id, place_id, name, hp_max, hp, description FROM artifact_entity');
  28.         $this->addSql('DROP TABLE artifact_entity');
  29.         $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)
  30.         , CONSTRAINT FK_4966C724DA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  31.         $this->addSql('INSERT INTO artifact_entity (id, place_id, name, hp_max, hp, description) SELECT id, place_id, name, hp_max, hp, description FROM __temp__artifact_entity');
  32.         $this->addSql('DROP TABLE __temp__artifact_entity');
  33.         $this->addSql('CREATE INDEX IDX_4966C724DA6A219 ON artifact_entity (place_id)');
  34.         $this->addSql('DROP INDEX IDX_582BD22ADA6A219');
  35.         $this->addSql('DROP INDEX IDX_582BD22A796FAEA1');
  36.         $this->addSql('CREATE TEMPORARY TABLE __temp__artifact_entity_place AS SELECT artifact_entity_id, place_id FROM artifact_entity_place');
  37.         $this->addSql('DROP TABLE artifact_entity_place');
  38.         $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), CONSTRAINT FK_582BD22A796FAEA1 FOREIGN KEY (artifact_entity_id) REFERENCES artifact_entity (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_582BD22ADA6A219 FOREIGN KEY (place_id) REFERENCES place (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE)');
  39.         $this->addSql('INSERT INTO artifact_entity_place (artifact_entity_id, place_id) SELECT artifact_entity_id, place_id FROM __temp__artifact_entity_place');
  40.         $this->addSql('DROP TABLE __temp__artifact_entity_place');
  41.         $this->addSql('CREATE INDEX IDX_582BD22ADA6A219 ON artifact_entity_place (place_id)');
  42.         $this->addSql('CREATE INDEX IDX_582BD22A796FAEA1 ON artifact_entity_place (artifact_entity_id)');
  43.         $this->addSql('DROP INDEX IDX_B6BD307F2239FAB1');
  44.         $this->addSql('DROP INDEX IDX_B6BD307FD1741030');
  45.         $this->addSql('CREATE TEMPORARY TABLE __temp__message AS SELECT id, place_origin_id, playable_entity_origin_id, date_time, content FROM message');
  46.         $this->addSql('DROP TABLE message');
  47.         $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)
  48.         , 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)');
  49.         $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');
  50.         $this->addSql('DROP TABLE __temp__message');
  51.         $this->addSql('CREATE INDEX IDX_B6BD307F2239FAB1 ON message (place_origin_id)');
  52.         $this->addSql('CREATE INDEX IDX_B6BD307FD1741030 ON message (playable_entity_origin_id)');
  53.         $this->addSql('DROP INDEX IDX_B548B0F56A273CC');
  54.         $this->addSql('DROP INDEX IDX_B548B0F816C6140');
  55.         $this->addSql('CREATE TEMPORARY TABLE __temp__path AS SELECT id, origin_id, destination_id, name, position FROM path');
  56.         $this->addSql('DROP TABLE path');
  57.         $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)');
  58.         $this->addSql('INSERT INTO path (id, origin_id, destination_id, name, position) SELECT id, origin_id, destination_id, name, position FROM __temp__path');
  59.         $this->addSql('DROP TABLE __temp__path');
  60.         $this->addSql('CREATE INDEX IDX_B548B0F56A273CC ON path (origin_id)');
  61.         $this->addSql('CREATE INDEX IDX_B548B0F816C6140 ON path (destination_id)');
  62.         $this->addSql('DROP INDEX IDX_63110882DA6A219');
  63.         $this->addSql('CREATE TEMPORARY TABLE __temp__place_description AS SELECT id, place_id, text, language, datetime FROM place_description');
  64.         $this->addSql('DROP TABLE place_description');
  65.         $this->addSql('CREATE TABLE place_description (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, place_id INTEGER NOT NULL, text CLOB NOT NULL, language VARCHAR(10) NOT NULL, datetime DATETIME NOT NULL --(DC2Type:datetime_immutable)
  66.         , CONSTRAINT FK_63110882DA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  67.         $this->addSql('INSERT INTO place_description (id, place_id, text, language, datetime) SELECT id, place_id, text, language, datetime FROM __temp__place_description');
  68.         $this->addSql('DROP TABLE __temp__place_description');
  69.         $this->addSql('CREATE INDEX IDX_63110882DA6A219 ON place_description (place_id)');
  70.         $this->addSql('DROP INDEX IDX_114242BE99E6F5DF');
  71.         $this->addSql('DROP INDEX IDX_114242BEDA6A219');
  72.         $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, race FROM playable_entity');
  73.         $this->addSql('DROP TABLE playable_entity');
  74.         $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)
  75.         , 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)
  76.         , abilities CLOB DEFAULT NULL --(DC2Type:array)
  77.         , known_magicskills CLOB DEFAULT NULL --(DC2Type:array)
  78.         , known_attackskills CLOB DEFAULT NULL --(DC2Type:array)
  79.         , known_craftskills CLOB DEFAULT NULL --(DC2Type:array)
  80.         , race VARCHAR(255) NOT NULL, 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)');
  81.         $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, race) 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, race FROM __temp__playable_entity');
  82.         $this->addSql('DROP TABLE __temp__playable_entity');
  83.         $this->addSql('CREATE INDEX IDX_114242BE99E6F5DF ON playable_entity (player_id)');
  84.         $this->addSql('CREATE INDEX IDX_114242BEDA6A219 ON playable_entity (place_id)');
  85.         $this->addSql('DROP INDEX IDX_15659A3F31C1B00');
  86.         $this->addSql('CREATE TEMPORARY TABLE __temp__playable_entity_description AS SELECT id, playable_entity_id, text, language, datetime FROM playable_entity_description');
  87.         $this->addSql('DROP TABLE playable_entity_description');
  88.         $this->addSql('CREATE TABLE playable_entity_description (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, playable_entity_id INTEGER DEFAULT NULL, text CLOB NOT NULL, language VARCHAR(10) NOT NULL, datetime DATETIME NOT NULL --(DC2Type:datetime_immutable)
  89.         , CONSTRAINT FK_15659A3F31C1B00 FOREIGN KEY (playable_entity_id) REFERENCES playable_entity (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  90.         $this->addSql('INSERT INTO playable_entity_description (id, playable_entity_id, text, language, datetime) SELECT id, playable_entity_id, text, language, datetime FROM __temp__playable_entity_description');
  91.         $this->addSql('DROP TABLE __temp__playable_entity_description');
  92.         $this->addSql('CREATE INDEX IDX_15659A3F31C1B00 ON playable_entity_description (playable_entity_id)');
  93.         $this->addSql('CREATE TEMPORARY TABLE __temp__postman AS SELECT id, message_id, recipient_id, read FROM postman');
  94.         $this->addSql('DROP TABLE postman');
  95.         $this->addSql('CREATE TABLE postman (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, message_id INTEGER NOT NULL, recipient_id INTEGER NOT NULL, read BOOLEAN NOT NULL, CONSTRAINT FK_446A51C4537A1329 FOREIGN KEY (message_id) REFERENCES message (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_446A51C4E92F8F78 FOREIGN KEY (recipient_id) REFERENCES playable_entity (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  96.         $this->addSql('INSERT INTO postman (id, message_id, recipient_id, read) SELECT id, message_id, recipient_id, read FROM __temp__postman');
  97.         $this->addSql('DROP TABLE __temp__postman');
  98.         $this->addSql('CREATE INDEX IDX_446A51C4537A1329 ON postman (message_id)');
  99.         $this->addSql('CREATE INDEX IDX_446A51C4E92F8F78 ON postman (recipient_id)');
  100.         $this->addSql('DROP INDEX IDX_86A7E937DA6A219');
  101.         $this->addSql('CREATE TEMPORARY TABLE __temp__unplayable_entity AS SELECT id, place_id, name, hp, hp_max, ap, ap_max, armor_class, description FROM unplayable_entity');
  102.         $this->addSql('DROP TABLE unplayable_entity');
  103.         $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)
  104.         , CONSTRAINT FK_86A7E937DA6A219 FOREIGN KEY (place_id) REFERENCES place (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  105.         $this->addSql('INSERT INTO unplayable_entity (id, place_id, name, hp, hp_max, ap, ap_max, armor_class, description) SELECT id, place_id, name, hp, hp_max, ap, ap_max, armor_class, description FROM __temp__unplayable_entity');
  106.         $this->addSql('DROP TABLE __temp__unplayable_entity');
  107.         $this->addSql('CREATE INDEX IDX_86A7E937DA6A219 ON unplayable_entity (place_id)');
  108.         $this->addSql('DROP INDEX UNIQ_8D93D649E7927C74');
  109.         $this->addSql('DROP INDEX UNIQ_8D93D6491136BE75');
  110.         $this->addSql('CREATE TEMPORARY TABLE __temp__user AS SELECT id, character_id, email, roles, password, nickname FROM user');
  111.         $this->addSql('DROP TABLE user');
  112.         $this->addSql('CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, character_id INTEGER DEFAULT NULL, email VARCHAR(180) NOT NULL, roles CLOB NOT NULL --(DC2Type:json)
  113.         , password VARCHAR(255) NOT NULL, nickname VARCHAR(255) NOT NULL, CONSTRAINT FK_8D93D6491136BE75 FOREIGN KEY (character_id) REFERENCES playable_entity (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
  114.         $this->addSql('INSERT INTO user (id, character_id, email, roles, password, nickname) SELECT id, character_id, email, roles, password, nickname FROM __temp__user');
  115.         $this->addSql('DROP TABLE __temp__user');
  116.         $this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649E7927C74 ON user (email)');
  117.         $this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D6491136BE75 ON user (character_id)');
  118.     }
  119.     public function down(Schema $schema): void
  120.     {
  121.         // this down() migration is auto-generated, please modify it to your needs
  122.         $this->addSql('DROP TABLE log');
  123.         $this->addSql('DROP INDEX IDX_4966C724DA6A219');
  124.         $this->addSql('CREATE TEMPORARY TABLE __temp__artifact_entity AS SELECT id, place_id, name, hp_max, hp, description FROM artifact_entity');
  125.         $this->addSql('DROP TABLE artifact_entity');
  126.         $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)
  127.         )');
  128.         $this->addSql('INSERT INTO artifact_entity (id, place_id, name, hp_max, hp, description) SELECT id, place_id, name, hp_max, hp, description FROM __temp__artifact_entity');
  129.         $this->addSql('DROP TABLE __temp__artifact_entity');
  130.         $this->addSql('CREATE INDEX IDX_4966C724DA6A219 ON artifact_entity (place_id)');
  131.         $this->addSql('DROP INDEX IDX_582BD22A796FAEA1');
  132.         $this->addSql('DROP INDEX IDX_582BD22ADA6A219');
  133.         $this->addSql('CREATE TEMPORARY TABLE __temp__artifact_entity_place AS SELECT artifact_entity_id, place_id FROM artifact_entity_place');
  134.         $this->addSql('DROP TABLE artifact_entity_place');
  135.         $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))');
  136.         $this->addSql('INSERT INTO artifact_entity_place (artifact_entity_id, place_id) SELECT artifact_entity_id, place_id FROM __temp__artifact_entity_place');
  137.         $this->addSql('DROP TABLE __temp__artifact_entity_place');
  138.         $this->addSql('CREATE INDEX IDX_582BD22A796FAEA1 ON artifact_entity_place (artifact_entity_id)');
  139.         $this->addSql('CREATE INDEX IDX_582BD22ADA6A219 ON artifact_entity_place (place_id)');
  140.         $this->addSql('DROP INDEX IDX_B6BD307F2239FAB1');
  141.         $this->addSql('DROP INDEX IDX_B6BD307FD1741030');
  142.         $this->addSql('CREATE TEMPORARY TABLE __temp__message AS SELECT id, place_origin_id, playable_entity_origin_id, date_time, content FROM message');
  143.         $this->addSql('DROP TABLE message');
  144.         $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)
  145.         , content CLOB NOT NULL)');
  146.         $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');
  147.         $this->addSql('DROP TABLE __temp__message');
  148.         $this->addSql('CREATE INDEX IDX_B6BD307F2239FAB1 ON message (place_origin_id)');
  149.         $this->addSql('CREATE INDEX IDX_B6BD307FD1741030 ON message (playable_entity_origin_id)');
  150.         $this->addSql('DROP INDEX IDX_B548B0F56A273CC');
  151.         $this->addSql('DROP INDEX IDX_B548B0F816C6140');
  152.         $this->addSql('CREATE TEMPORARY TABLE __temp__path AS SELECT id, origin_id, destination_id, name, position FROM path');
  153.         $this->addSql('DROP TABLE path');
  154.         $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)');
  155.         $this->addSql('INSERT INTO path (id, origin_id, destination_id, name, position) SELECT id, origin_id, destination_id, name, position FROM __temp__path');
  156.         $this->addSql('DROP TABLE __temp__path');
  157.         $this->addSql('CREATE INDEX IDX_B548B0F56A273CC ON path (origin_id)');
  158.         $this->addSql('CREATE INDEX IDX_B548B0F816C6140 ON path (destination_id)');
  159.         $this->addSql('DROP INDEX IDX_63110882DA6A219');
  160.         $this->addSql('CREATE TEMPORARY TABLE __temp__place_description AS SELECT id, place_id, text, language, datetime FROM place_description');
  161.         $this->addSql('DROP TABLE place_description');
  162.         $this->addSql('CREATE TABLE place_description (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, place_id INTEGER NOT NULL, text CLOB NOT NULL, language VARCHAR(10) NOT NULL, datetime DATETIME NOT NULL --(DC2Type:datetime_immutable)
  163.         )');
  164.         $this->addSql('INSERT INTO place_description (id, place_id, text, language, datetime) SELECT id, place_id, text, language, datetime FROM __temp__place_description');
  165.         $this->addSql('DROP TABLE __temp__place_description');
  166.         $this->addSql('CREATE INDEX IDX_63110882DA6A219 ON place_description (place_id)');
  167.         $this->addSql('DROP INDEX IDX_114242BE99E6F5DF');
  168.         $this->addSql('DROP INDEX IDX_114242BEDA6A219');
  169.         $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, race FROM playable_entity');
  170.         $this->addSql('DROP TABLE playable_entity');
  171.         $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)
  172.         , 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)
  173.         , abilities CLOB DEFAULT NULL --(DC2Type:array)
  174.         , known_magicskills CLOB DEFAULT NULL --(DC2Type:array)
  175.         , known_attackskills CLOB DEFAULT NULL --(DC2Type:array)
  176.         , known_craftskills CLOB DEFAULT NULL --(DC2Type:array)
  177.         , race VARCHAR(255) NOT NULL)');
  178.         $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, race) 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, race FROM __temp__playable_entity');
  179.         $this->addSql('DROP TABLE __temp__playable_entity');
  180.         $this->addSql('CREATE INDEX IDX_114242BE99E6F5DF ON playable_entity (player_id)');
  181.         $this->addSql('CREATE INDEX IDX_114242BEDA6A219 ON playable_entity (place_id)');
  182.         $this->addSql('DROP INDEX IDX_15659A3F31C1B00');
  183.         $this->addSql('CREATE TEMPORARY TABLE __temp__playable_entity_description AS SELECT id, playable_entity_id, text, language, datetime FROM playable_entity_description');
  184.         $this->addSql('DROP TABLE playable_entity_description');
  185.         $this->addSql('CREATE TABLE playable_entity_description (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, playable_entity_id INTEGER DEFAULT NULL, text CLOB NOT NULL, language VARCHAR(10) NOT NULL, datetime DATETIME NOT NULL --(DC2Type:datetime_immutable)
  186.         )');
  187.         $this->addSql('INSERT INTO playable_entity_description (id, playable_entity_id, text, language, datetime) SELECT id, playable_entity_id, text, language, datetime FROM __temp__playable_entity_description');
  188.         $this->addSql('DROP TABLE __temp__playable_entity_description');
  189.         $this->addSql('CREATE INDEX IDX_15659A3F31C1B00 ON playable_entity_description (playable_entity_id)');
  190.         $this->addSql('DROP INDEX IDX_446A51C4537A1329');
  191.         $this->addSql('DROP INDEX IDX_446A51C4E92F8F78');
  192.         $this->addSql('CREATE TEMPORARY TABLE __temp__postman AS SELECT id, message_id, recipient_id, read FROM postman');
  193.         $this->addSql('DROP TABLE postman');
  194.         $this->addSql('CREATE TABLE postman (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, message_id INTEGER NOT NULL, recipient_id INTEGER NOT NULL, read BOOLEAN NOT NULL)');
  195.         $this->addSql('INSERT INTO postman (id, message_id, recipient_id, read) SELECT id, message_id, recipient_id, read FROM __temp__postman');
  196.         $this->addSql('DROP TABLE __temp__postman');
  197.         $this->addSql('DROP INDEX IDX_86A7E937DA6A219');
  198.         $this->addSql('CREATE TEMPORARY TABLE __temp__unplayable_entity AS SELECT id, place_id, name, hp, hp_max, ap, ap_max, armor_class, description FROM unplayable_entity');
  199.         $this->addSql('DROP TABLE unplayable_entity');
  200.         $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)
  201.         )');
  202.         $this->addSql('INSERT INTO unplayable_entity (id, place_id, name, hp, hp_max, ap, ap_max, armor_class, description) SELECT id, place_id, name, hp, hp_max, ap, ap_max, armor_class, description FROM __temp__unplayable_entity');
  203.         $this->addSql('DROP TABLE __temp__unplayable_entity');
  204.         $this->addSql('CREATE INDEX IDX_86A7E937DA6A219 ON unplayable_entity (place_id)');
  205.         $this->addSql('DROP INDEX UNIQ_8D93D649E7927C74');
  206.         $this->addSql('DROP INDEX UNIQ_8D93D6491136BE75');
  207.         $this->addSql('CREATE TEMPORARY TABLE __temp__user AS SELECT id, character_id, nickname, email, roles, password FROM user');
  208.         $this->addSql('DROP TABLE user');
  209.         $this->addSql('CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, character_id INTEGER DEFAULT NULL, nickname VARCHAR(255) NOT NULL, email VARCHAR(180) NOT NULL, roles CLOB NOT NULL --(DC2Type:json)
  210.         , password VARCHAR(255) NOT NULL)');
  211.         $this->addSql('INSERT INTO user (id, character_id, nickname, email, roles, password) SELECT id, character_id, nickname, email, roles, password FROM __temp__user');
  212.         $this->addSql('DROP TABLE __temp__user');
  213.         $this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649E7927C74 ON user (email)');
  214.         $this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D6491136BE75 ON user (character_id)');
  215.     }
  216. }