|
| 1 | +<?php |
| 2 | + |
| 3 | +namespace Application\Migrations; |
| 4 | + |
| 5 | +use Doctrine\DBAL\Migrations\AbstractMigration; |
| 6 | +use Doctrine\DBAL\Schema\Schema; |
| 7 | + |
| 8 | +/** |
| 9 | + * Auto-generated Migration: Please modify to your needs! |
| 10 | + */ |
| 11 | +class Version20170915074948 extends AbstractMigration |
| 12 | +{ |
| 13 | + /** |
| 14 | + * @param Schema $schema |
| 15 | + */ |
| 16 | + public function up(Schema $schema) |
| 17 | + { |
| 18 | + // this up() migration is auto-generated, please modify it to your needs |
| 19 | + $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.'); |
| 20 | + |
| 21 | + $this->addSql('CREATE TABLE appbuild_user (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(255) NOT NULL, password VARCHAR(500) NOT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:simple_array)\', enabled TINYINT(1) NOT NULL, firstname VARCHAR(255) NOT NULL, lastname VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
| 22 | + $this->addSql('CREATE TABLE appbuild_application (id INT AUTO_INCREMENT NOT NULL, `label` VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, support VARCHAR(255) NOT NULL, package_name VARCHAR(255) DEFAULT NULL, enabled TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, UNIQUE INDEX label_support_idx (`label`, support), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
| 23 | + $this->addSql('CREATE TABLE appbuild_application_user (application_id INT NOT NULL, user_id INT NOT NULL, INDEX IDX_85DB94FA3E030ACD (application_id), INDEX IDX_85DB94FAA76ED395 (user_id), PRIMARY KEY(application_id, user_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
| 24 | + $this->addSql('CREATE TABLE appbuild_build (id INT AUTO_INCREMENT NOT NULL, application_id INT DEFAULT NULL, version VARCHAR(255) NOT NULL, comment LONGTEXT DEFAULT NULL, file_path VARCHAR(255) DEFAULT NULL, enabled TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_C828DED43E030ACD (application_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
| 25 | + $this->addSql('CREATE TABLE appbuild_build_token (id INT AUTO_INCREMENT NOT NULL, build_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expired_at DATETIME NOT NULL, INDEX IDX_905F928F17C13F8B (build_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
| 26 | + $this->addSql('ALTER TABLE appbuild_application_user ADD CONSTRAINT FK_85DB94FA3E030ACD FOREIGN KEY (application_id) REFERENCES appbuild_application (id)'); |
| 27 | + $this->addSql('ALTER TABLE appbuild_application_user ADD CONSTRAINT FK_85DB94FAA76ED395 FOREIGN KEY (user_id) REFERENCES appbuild_user (id)'); |
| 28 | + $this->addSql('ALTER TABLE appbuild_build ADD CONSTRAINT FK_C828DED43E030ACD FOREIGN KEY (application_id) REFERENCES appbuild_application (id) ON DELETE CASCADE'); |
| 29 | + $this->addSql('ALTER TABLE appbuild_build_token ADD CONSTRAINT FK_905F928F17C13F8B FOREIGN KEY (build_id) REFERENCES appbuild_build (id) ON DELETE CASCADE'); |
| 30 | + } |
| 31 | + |
| 32 | + /** |
| 33 | + * @param Schema $schema |
| 34 | + */ |
| 35 | + public function down(Schema $schema) |
| 36 | + { |
| 37 | + // this down() migration is auto-generated, please modify it to your needs |
| 38 | + $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.'); |
| 39 | + |
| 40 | + $this->addSql('ALTER TABLE appbuild_application_user DROP FOREIGN KEY FK_85DB94FAA76ED395'); |
| 41 | + $this->addSql('ALTER TABLE appbuild_application_user DROP FOREIGN KEY FK_85DB94FA3E030ACD'); |
| 42 | + $this->addSql('ALTER TABLE appbuild_build DROP FOREIGN KEY FK_C828DED43E030ACD'); |
| 43 | + $this->addSql('ALTER TABLE appbuild_build_token DROP FOREIGN KEY FK_905F928F17C13F8B'); |
| 44 | + $this->addSql('DROP TABLE appbuild_user'); |
| 45 | + $this->addSql('DROP TABLE appbuild_application'); |
| 46 | + $this->addSql('DROP TABLE appbuild_application_user'); |
| 47 | + $this->addSql('DROP TABLE appbuild_build'); |
| 48 | + $this->addSql('DROP TABLE appbuild_build_token'); |
| 49 | + } |
| 50 | +} |
0 commit comments