<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20211124211239 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE exposed_ip (id INT AUTO_INCREMENT NOT NULL, organisation_id INT NOT NULL, ip VARCHAR(15) NOT NULL, INDEX IDX_A56B444A9E6B1585 (organisation_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE exposed_ip_port (exposed_ip_id INT NOT NULL, port_id INT NOT NULL, INDEX IDX_8F73CE385539FF52 (exposed_ip_id), INDEX IDX_8F73CE3876E92A9C (port_id), PRIMARY KEY(exposed_ip_id, port_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE exposed_sub_domain (id INT AUTO_INCREMENT NOT NULL, organisation_id INT NOT NULL, sub_domain VARCHAR(255) NOT NULL, status SMALLINT NOT NULL, INDEX IDX_9CEC6A079E6B1585 (organisation_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE industry (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE organisation (id INT AUTO_INCREMENT NOT NULL, industry_id INT NOT NULL, uuid VARCHAR(50) NOT NULL, title VARCHAR(255) NOT NULL, INDEX IDX_E6E132B42B19A734 (industry_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE port (id INT AUTO_INCREMENT NOT NULL, port INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE vulnerability (id INT AUTO_INCREMENT NOT NULL, ip_id INT NOT NULL, title VARCHAR(255) NOT NULL, vulnerability LONGTEXT DEFAULT NULL, INDEX IDX_6C4E4047A03F5E9F (ip_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE exposed_ip ADD CONSTRAINT FK_A56B444A9E6B1585 FOREIGN KEY (organisation_id) REFERENCES organisation (id)');
$this->addSql('ALTER TABLE exposed_ip_port ADD CONSTRAINT FK_8F73CE385539FF52 FOREIGN KEY (exposed_ip_id) REFERENCES exposed_ip (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE exposed_ip_port ADD CONSTRAINT FK_8F73CE3876E92A9C FOREIGN KEY (port_id) REFERENCES port (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE exposed_sub_domain ADD CONSTRAINT FK_9CEC6A079E6B1585 FOREIGN KEY (organisation_id) REFERENCES organisation (id)');
$this->addSql('ALTER TABLE organisation ADD CONSTRAINT FK_E6E132B42B19A734 FOREIGN KEY (industry_id) REFERENCES industry (id)');
$this->addSql('ALTER TABLE vulnerability ADD CONSTRAINT FK_6C4E4047A03F5E9F FOREIGN KEY (ip_id) REFERENCES exposed_ip (id)');
$this->addSql('ALTER TABLE domain ADD organisation_id INT NOT NULL');
$this->addSql('ALTER TABLE domain ADD CONSTRAINT FK_A7A91E0B9E6B1585 FOREIGN KEY (organisation_id) REFERENCES organisation (id)');
$this->addSql('CREATE INDEX IDX_A7A91E0B9E6B1585 ON domain (organisation_id)');
$this->addSql('ALTER TABLE git_depot ADD organisation_id INT NOT NULL');
$this->addSql('ALTER TABLE git_depot ADD CONSTRAINT FK_75E671E89E6B1585 FOREIGN KEY (organisation_id) REFERENCES organisation (id)');
$this->addSql('CREATE INDEX IDX_75E671E89E6B1585 ON git_depot (organisation_id)');
$this->addSql('ALTER TABLE user ADD organisation_id INT DEFAULT NULL, DROP notify_email');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D6499E6B1585 FOREIGN KEY (organisation_id) REFERENCES organisation (id)');
$this->addSql('CREATE INDEX IDX_8D93D6499E6B1585 ON user (organisation_id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE exposed_ip_port DROP FOREIGN KEY FK_8F73CE385539FF52');
$this->addSql('ALTER TABLE vulnerability DROP FOREIGN KEY FK_6C4E4047A03F5E9F');
$this->addSql('ALTER TABLE organisation DROP FOREIGN KEY FK_E6E132B42B19A734');
$this->addSql('ALTER TABLE domain DROP FOREIGN KEY FK_A7A91E0B9E6B1585');
$this->addSql('ALTER TABLE exposed_ip DROP FOREIGN KEY FK_A56B444A9E6B1585');
$this->addSql('ALTER TABLE exposed_sub_domain DROP FOREIGN KEY FK_9CEC6A079E6B1585');
$this->addSql('ALTER TABLE git_depot DROP FOREIGN KEY FK_75E671E89E6B1585');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D6499E6B1585');
$this->addSql('ALTER TABLE exposed_ip_port DROP FOREIGN KEY FK_8F73CE3876E92A9C');
$this->addSql('DROP TABLE exposed_ip');
$this->addSql('DROP TABLE exposed_ip_port');
$this->addSql('DROP TABLE exposed_sub_domain');
$this->addSql('DROP TABLE industry');
$this->addSql('DROP TABLE organisation');
$this->addSql('DROP TABLE port');
$this->addSql('DROP TABLE vulnerability');
$this->addSql('DROP INDEX IDX_A7A91E0B9E6B1585 ON domain');
$this->addSql('ALTER TABLE domain DROP organisation_id');
$this->addSql('DROP INDEX IDX_75E671E89E6B1585 ON git_depot');
$this->addSql('ALTER TABLE git_depot DROP organisation_id');
$this->addSql('DROP INDEX IDX_8D93D6499E6B1585 ON user');
$this->addSql('ALTER TABLE user ADD notify_email VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, DROP organisation_id');
}
}