migrations/Version20180321060928.php line 1

Open in your IDE?
  1. <?php
  2. namespace DoctrineMigrations;
  3. use Doctrine\Migrations\AbstractMigration;
  4. use Doctrine\DBAL\Schema\Schema;
  5. /**
  6. * Auto-generated Migration: Please modify to your needs!
  7. */
  8. class Version20180321060928 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() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
  17. $this->addSql('CREATE TABLE sysuser (id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', username VARCHAR(32) NOT NULL, password VARCHAR(64) NOT NULL, is_active TINYINT(1) NOT NULL, role VARCHAR(32) NOT NULL, modules LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json_array)\', UNIQUE INDEX UNIQ_7E64DA8BF85E0677 (username), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  18. $this->addSql('CREATE TABLE dossier (id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', bezeichnung VARCHAR(128) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  19. $this->addSql('CREATE TABLE content (id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', code VARCHAR(32) NOT NULL, contentHtml LONGTEXT DEFAULT NULL, content_description TEXT DEFAULT NULL, edit_sysadmin_only TINYINT(1) DEFAULT NULL, edit_at DATETIME NOT NULL, UNIQUE INDEX UNIQ_FEC530A977153098 (code), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  20. $this->addSql('CREATE TABLE artikel (id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', dossier_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:entityId)\', redaktor_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:entityId)\', titel VARCHAR(128) DEFAULT NULL, spitzmarke VARCHAR(64) DEFAULT NULL, lead TEXT DEFAULT NULL, contentHtml LONGTEXT DEFAULT NULL, video_url TINYTEXT DEFAULT NULL, status_id VARCHAR(16) NOT NULL, assettyp_id VARCHAR(16) NOT NULL, authored_at DATETIME DEFAULT NULL, publish_at DATETIME DEFAULT NULL, edit_at DATETIME NOT NULL, storage_contents LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json_array)\', url_slug VARCHAR(255) DEFAULT NULL, is_lead_artikel TINYINT(1) DEFAULT NULL, is_lead_gallery_artikel TINYINT(1) DEFAULT NULL, UNIQUE INDEX UNIQ_A4375C3386C952DA (url_slug), INDEX IDX_A4375C33611C0C56 (dossier_id), INDEX IDX_A4375C33BD9F2606 (redaktor_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  21. $this->addSql('CREATE TABLE lnk_artikel_rubrik (artikel_id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', rubrik_id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', INDEX IDX_623BDA87EEDF290A (artikel_id), INDEX IDX_623BDA87672AE813 (rubrik_id), PRIMARY KEY(artikel_id, rubrik_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  22. $this->addSql('CREATE TABLE lnk_artikel_artikelkanal (artikel_id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', artikelkanal_id VARCHAR(32) NOT NULL, INDEX IDX_312C71DDEEDF290A (artikel_id), INDEX IDX_312C71DDC8D19985 (artikelkanal_id), PRIMARY KEY(artikel_id, artikelkanal_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  23. $this->addSql('CREATE TABLE lnk_artikel_artikel (artikel_id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', verwandter_artikel_id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', INDEX IDX_5B341210EEDF290A (artikel_id), INDEX IDX_5B34121054F94666 (verwandter_artikel_id), PRIMARY KEY(artikel_id, verwandter_artikel_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  24. $this->addSql('CREATE TABLE artikelkanal (id VARCHAR(32) NOT NULL, bezeichnung VARCHAR(64) NOT NULL, info LONGTEXT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  25. $this->addSql('CREATE TABLE redaktor (id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', vorname VARCHAR(64) DEFAULT NULL, nachname VARCHAR(64) DEFAULT NULL, kurzzeichen VARCHAR(8) DEFAULT NULL, funktion VARCHAR(32) DEFAULT NULL, email VARCHAR(64) DEFAULT NULL, sort INT DEFAULT NULL, is_visible_on_frontend TINYINT(1) DEFAULT NULL, portrait_image LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json_array)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  26. $this->addSql('CREATE TABLE rubrik (id CHAR(36) NOT NULL COMMENT \'(DC2Type:entityId)\', bezeichnung VARCHAR(64) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
  27. $this->addSql('ALTER TABLE artikel ADD CONSTRAINT FK_A4375C33611C0C56 FOREIGN KEY (dossier_id) REFERENCES dossier (id)');
  28. $this->addSql('ALTER TABLE artikel ADD CONSTRAINT FK_A4375C33BD9F2606 FOREIGN KEY (redaktor_id) REFERENCES redaktor (id)');
  29. $this->addSql('ALTER TABLE lnk_artikel_rubrik ADD CONSTRAINT FK_623BDA87EEDF290A FOREIGN KEY (artikel_id) REFERENCES artikel (id)');
  30. $this->addSql('ALTER TABLE lnk_artikel_rubrik ADD CONSTRAINT FK_623BDA87672AE813 FOREIGN KEY (rubrik_id) REFERENCES rubrik (id)');
  31. $this->addSql('ALTER TABLE lnk_artikel_artikelkanal ADD CONSTRAINT FK_312C71DDEEDF290A FOREIGN KEY (artikel_id) REFERENCES artikel (id)');
  32. $this->addSql('ALTER TABLE lnk_artikel_artikelkanal ADD CONSTRAINT FK_312C71DDC8D19985 FOREIGN KEY (artikelkanal_id) REFERENCES artikelkanal (id)');
  33. $this->addSql('ALTER TABLE lnk_artikel_artikel ADD CONSTRAINT FK_5B341210EEDF290A FOREIGN KEY (artikel_id) REFERENCES artikel (id)');
  34. $this->addSql('ALTER TABLE lnk_artikel_artikel ADD CONSTRAINT FK_5B34121054F94666 FOREIGN KEY (verwandter_artikel_id) REFERENCES artikel (id)');
  35. }
  36. /**
  37. * @param Schema $schema
  38. */
  39. public function down(Schema $schema) : void
  40. {
  41. // this down() migration is auto-generated, please modify it to your needs
  42. $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
  43. $this->addSql('ALTER TABLE artikel DROP FOREIGN KEY FK_A4375C33611C0C56');
  44. $this->addSql('ALTER TABLE lnk_artikel_rubrik DROP FOREIGN KEY FK_623BDA87EEDF290A');
  45. $this->addSql('ALTER TABLE lnk_artikel_artikelkanal DROP FOREIGN KEY FK_312C71DDEEDF290A');
  46. $this->addSql('ALTER TABLE lnk_artikel_artikel DROP FOREIGN KEY FK_5B341210EEDF290A');
  47. $this->addSql('ALTER TABLE lnk_artikel_artikel DROP FOREIGN KEY FK_5B34121054F94666');
  48. $this->addSql('ALTER TABLE lnk_artikel_artikelkanal DROP FOREIGN KEY FK_312C71DDC8D19985');
  49. $this->addSql('ALTER TABLE artikel DROP FOREIGN KEY FK_A4375C33BD9F2606');
  50. $this->addSql('ALTER TABLE lnk_artikel_rubrik DROP FOREIGN KEY FK_623BDA87672AE813');
  51. $this->addSql('DROP TABLE sysuser');
  52. $this->addSql('DROP TABLE dossier');
  53. $this->addSql('DROP TABLE content');
  54. $this->addSql('DROP TABLE artikel');
  55. $this->addSql('DROP TABLE lnk_artikel_rubrik');
  56. $this->addSql('DROP TABLE lnk_artikel_artikelkanal');
  57. $this->addSql('DROP TABLE lnk_artikel_artikel');
  58. $this->addSql('DROP TABLE artikelkanal');
  59. $this->addSql('DROP TABLE redaktor');
  60. $this->addSql('DROP TABLE rubrik');
  61. }
  62. }