migrations/Version20210830163144.php line 1

Open in your IDE?
  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 Version20210830163144 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 account (id BIGINT AUTO_INCREMENT NOT NULL, email VARCHAR(180) NOT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', password VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, UNIQUE INDEX UNIQ_7D3656A4E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE account_admin (id BIGINT AUTO_INCREMENT NOT NULL, account_id BIGINT NOT NULL, display_name VARCHAR(32) NOT NULL, is_superadmin TINYINT(1) NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, UNIQUE INDEX UNIQ_BE81D4079B6B5FBA (account_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE account_api_token (id BIGINT AUTO_INCREMENT NOT NULL, account_id BIGINT NOT NULL, token VARCHAR(80) NOT NULL, expire DATETIME NOT NULL, useragent VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_59D82DB05F37A13B (token), INDEX IDX_59D82DB09B6B5FBA (account_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE account_user (id BIGINT AUTO_INCREMENT NOT NULL, account_id BIGINT NOT NULL, display_name VARCHAR(32) NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, UNIQUE INDEX UNIQ_10051E39B6B5FBA (account_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE cms_news_category (id INT AUTO_INCREMENT NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, name VARCHAR(32) NOT NULL, enable TINYINT(1) NOT NULL, sort INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE cms_news_child (id INT AUTO_INCREMENT NOT NULL, entry_id INT NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, headline VARCHAR(128) DEFAULT NULL, image VARCHAR(128) DEFAULT NULL, image_width INT DEFAULT NULL, image_height INT DEFAULT NULL, content LONGTEXT DEFAULT NULL, sort INT NOT NULL, INDEX IDX_6BCCA8F2BA364942 (entry_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE cms_news_entry (id INT AUTO_INCREMENT NOT NULL, category_id INT NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, entry_date DATE NOT NULL, title VARCHAR(255) NOT NULL, enable TINYINT(1) NOT NULL, pub_date DATETIME DEFAULT NULL, close_date DATETIME DEFAULT NULL, main_img VARCHAR(128) DEFAULT NULL, main_img_width INT DEFAULT NULL, main_img_height INT DEFAULT NULL, thumbnail VARCHAR(128) DEFAULT NULL, description VARCHAR(255) DEFAULT NULL, link_url VARCHAR(255) DEFAULT NULL, link_newtab TINYINT(1) NOT NULL, content LONGTEXT DEFAULT NULL, INDEX IDX_625E61AB12469DE2 (category_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE inquiry_contact (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(32) NOT NULL, message LONGTEXT DEFAULT NULL, email VARCHAR(255) NOT NULL, ip VARCHAR(32) NOT NULL, token VARCHAR(80) DEFAULT NULL, send_at DATETIME DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, UNIQUE INDEX UNIQ_A77F889D5F37A13B (token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  26.         $this->addSql('ALTER TABLE account_admin ADD CONSTRAINT FK_BE81D4079B6B5FBA FOREIGN KEY (account_id) REFERENCES account (id)');
  27.         $this->addSql('ALTER TABLE account_api_token ADD CONSTRAINT FK_59D82DB09B6B5FBA FOREIGN KEY (account_id) REFERENCES account (id)');
  28.         $this->addSql('ALTER TABLE account_user ADD CONSTRAINT FK_10051E39B6B5FBA FOREIGN KEY (account_id) REFERENCES account (id)');
  29.         $this->addSql('ALTER TABLE cms_news_child ADD CONSTRAINT FK_6BCCA8F2BA364942 FOREIGN KEY (entry_id) REFERENCES cms_news_entry (id)');
  30.         $this->addSql('ALTER TABLE cms_news_entry ADD CONSTRAINT FK_625E61AB12469DE2 FOREIGN KEY (category_id) REFERENCES cms_news_category (id)');
  31.     }
  32.     public function down(Schema $schema): void
  33.     {
  34.         // this down() migration is auto-generated, please modify it to your needs
  35.         $this->addSql('ALTER TABLE account_admin DROP FOREIGN KEY FK_BE81D4079B6B5FBA');
  36.         $this->addSql('ALTER TABLE account_api_token DROP FOREIGN KEY FK_59D82DB09B6B5FBA');
  37.         $this->addSql('ALTER TABLE account_user DROP FOREIGN KEY FK_10051E39B6B5FBA');
  38.         $this->addSql('ALTER TABLE cms_news_entry DROP FOREIGN KEY FK_625E61AB12469DE2');
  39.         $this->addSql('ALTER TABLE cms_news_child DROP FOREIGN KEY FK_6BCCA8F2BA364942');
  40.         $this->addSql('DROP TABLE account');
  41.         $this->addSql('DROP TABLE account_admin');
  42.         $this->addSql('DROP TABLE account_api_token');
  43.         $this->addSql('DROP TABLE account_user');
  44.         $this->addSql('DROP TABLE cms_news_category');
  45.         $this->addSql('DROP TABLE cms_news_child');
  46.         $this->addSql('DROP TABLE cms_news_entry');
  47.         $this->addSql('DROP TABLE inquiry_contact');
  48.     }
  49. }