<?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 Version20220529090811 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 offer_package (id INT AUTO_INCREMENT NOT NULL, offer_package_task_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, description LONGTEXT NOT NULL, INDEX IDX_7F60A19C137BE1DB (offer_package_task_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE offer_package_task (id INT AUTO_INCREMENT NOT NULL, name LONGTEXT NOT NULL, content LONGTEXT DEFAULT NULL, repeat_type INT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE offer_package ADD CONSTRAINT FK_7F60A19C137BE1DB FOREIGN KEY (offer_package_task_id) REFERENCES offer_package_task (id)');
$this->addSql('ALTER TABLE project ADD offer_package_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE project ADD CONSTRAINT FK_2FB3D0EE68E6682B FOREIGN KEY (offer_package_id) REFERENCES offer_package (id)');
$this->addSql('CREATE INDEX IDX_2FB3D0EE68E6682B ON project (offer_package_id)');
$this->addSql('ALTER TABLE offer_package DROP FOREIGN KEY FK_7F60A19C137BE1DB');
$this->addSql('DROP INDEX IDX_7F60A19C137BE1DB ON offer_package');
$this->addSql('ALTER TABLE offer_package DROP offer_package_task_id');
$this->addSql('ALTER TABLE offer_package_task CHANGE repeat_type offer_package_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE offer_package_task ADD CONSTRAINT FK_E0AB15668E6682B FOREIGN KEY (offer_package_id) REFERENCES offer_package (id)');
$this->addSql('CREATE INDEX IDX_E0AB15668E6682B ON offer_package_task (offer_package_id)');
$this->addSql('ALTER TABLE offer_package_task DROP FOREIGN KEY FK_E0AB15668E6682B');
$this->addSql('DROP INDEX IDX_E0AB15668E6682B ON offer_package_task');
$this->addSql('ALTER TABLE offer_package_task DROP offer_package_id');
$this->addSql('CREATE TABLE offer_package_offer_package_task (offer_package_id INT NOT NULL, offer_package_task_id INT NOT NULL, INDEX IDX_F9406ED868E6682B (offer_package_id), INDEX IDX_F9406ED8137BE1DB (offer_package_task_id), PRIMARY KEY(offer_package_id, offer_package_task_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE offer_package_offer_package_task ADD CONSTRAINT FK_F9406ED868E6682B FOREIGN KEY (offer_package_id) REFERENCES offer_package (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE offer_package_offer_package_task ADD CONSTRAINT FK_F9406ED8137BE1DB FOREIGN KEY (offer_package_task_id) REFERENCES offer_package_task (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE offer_package ADD price DOUBLE PRECISION NOT NULL');
$this->addSql('ALTER TABLE offer_package_task ADD repeat_in_month INT DEFAULT NULL');
$this->addSql('CREATE TABLE project_offer_package (id INT AUTO_INCREMENT NOT NULL, project_id INT NOT NULL, offer_package_id INT NOT NULL, month DATETIME NOT NULL, data LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', INDEX IDX_ABF1369A166D1F9C (project_id), INDEX IDX_ABF1369A68E6682B (offer_package_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE project_offer_package ADD CONSTRAINT FK_ABF1369A166D1F9C FOREIGN KEY (project_id) REFERENCES project (id)');
$this->addSql('ALTER TABLE project_offer_package ADD CONSTRAINT FK_ABF1369A68E6682B FOREIGN KEY (offer_package_id) REFERENCES offer_package (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE project DROP FOREIGN KEY FK_2FB3D0EE68E6682B');
$this->addSql('ALTER TABLE offer_package DROP FOREIGN KEY FK_7F60A19C137BE1DB');
$this->addSql('DROP TABLE offer_package');
$this->addSql('DROP TABLE offer_package_task');
$this->addSql('DROP INDEX IDX_2FB3D0EE68E6682B ON project');
$this->addSql('ALTER TABLE project DROP offer_package_id');
$this->addSql('ALTER TABLE offer_package ADD offer_package_task_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE offer_package ADD CONSTRAINT FK_7F60A19C137BE1DB FOREIGN KEY (offer_package_task_id) REFERENCES offer_package_task (id)');
$this->addSql('CREATE INDEX IDX_7F60A19C137BE1DB ON offer_package (offer_package_task_id)');
$this->addSql('ALTER TABLE offer_package_task DROP FOREIGN KEY FK_E0AB15668E6682B');
$this->addSql('DROP INDEX IDX_E0AB15668E6682B ON offer_package_task');
$this->addSql('ALTER TABLE offer_package_task CHANGE offer_package_id repeat_type INT DEFAULT NULL');
$this->addSql('ALTER TABLE offer_package_task ADD offer_package_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE offer_package_task ADD CONSTRAINT FK_E0AB15668E6682B FOREIGN KEY (offer_package_id) REFERENCES offer_package (id)');
$this->addSql('CREATE INDEX IDX_E0AB15668E6682B ON offer_package_task (offer_package_id)');
$this->addSql('DROP TABLE offer_package_offer_package_task');
$this->addSql('ALTER TABLE offer_package DROP price');
$this->addSql('ALTER TABLE offer_package_task DROP repeat_in_month');
$this->addSql('DROP TABLE project_offer_package');
}
}