<?php
namespace DoctrineMigrations;
use Doctrine\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
/**
* Auto-generated Migration: Please modify to your needs!
*/
class Version20180321060928 extends AbstractMigration
{
/**
* @param Schema $schema
*/
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$this->addSql('ALTER TABLE artikel ADD CONSTRAINT FK_A4375C33611C0C56 FOREIGN KEY (dossier_id) REFERENCES dossier (id)');
$this->addSql('ALTER TABLE artikel ADD CONSTRAINT FK_A4375C33BD9F2606 FOREIGN KEY (redaktor_id) REFERENCES redaktor (id)');
$this->addSql('ALTER TABLE lnk_artikel_rubrik ADD CONSTRAINT FK_623BDA87EEDF290A FOREIGN KEY (artikel_id) REFERENCES artikel (id)');
$this->addSql('ALTER TABLE lnk_artikel_rubrik ADD CONSTRAINT FK_623BDA87672AE813 FOREIGN KEY (rubrik_id) REFERENCES rubrik (id)');
$this->addSql('ALTER TABLE lnk_artikel_artikelkanal ADD CONSTRAINT FK_312C71DDEEDF290A FOREIGN KEY (artikel_id) REFERENCES artikel (id)');
$this->addSql('ALTER TABLE lnk_artikel_artikelkanal ADD CONSTRAINT FK_312C71DDC8D19985 FOREIGN KEY (artikelkanal_id) REFERENCES artikelkanal (id)');
$this->addSql('ALTER TABLE lnk_artikel_artikel ADD CONSTRAINT FK_5B341210EEDF290A FOREIGN KEY (artikel_id) REFERENCES artikel (id)');
$this->addSql('ALTER TABLE lnk_artikel_artikel ADD CONSTRAINT FK_5B34121054F94666 FOREIGN KEY (verwandter_artikel_id) REFERENCES artikel (id)');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE artikel DROP FOREIGN KEY FK_A4375C33611C0C56');
$this->addSql('ALTER TABLE lnk_artikel_rubrik DROP FOREIGN KEY FK_623BDA87EEDF290A');
$this->addSql('ALTER TABLE lnk_artikel_artikelkanal DROP FOREIGN KEY FK_312C71DDEEDF290A');
$this->addSql('ALTER TABLE lnk_artikel_artikel DROP FOREIGN KEY FK_5B341210EEDF290A');
$this->addSql('ALTER TABLE lnk_artikel_artikel DROP FOREIGN KEY FK_5B34121054F94666');
$this->addSql('ALTER TABLE lnk_artikel_artikelkanal DROP FOREIGN KEY FK_312C71DDC8D19985');
$this->addSql('ALTER TABLE artikel DROP FOREIGN KEY FK_A4375C33BD9F2606');
$this->addSql('ALTER TABLE lnk_artikel_rubrik DROP FOREIGN KEY FK_623BDA87672AE813');
$this->addSql('DROP TABLE sysuser');
$this->addSql('DROP TABLE dossier');
$this->addSql('DROP TABLE content');
$this->addSql('DROP TABLE artikel');
$this->addSql('DROP TABLE lnk_artikel_rubrik');
$this->addSql('DROP TABLE lnk_artikel_artikelkanal');
$this->addSql('DROP TABLE lnk_artikel_artikel');
$this->addSql('DROP TABLE artikelkanal');
$this->addSql('DROP TABLE redaktor');
$this->addSql('DROP TABLE rubrik');
}
}