<?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 Version20190211150525 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->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');

        $this->addSql('DROP TABLE cotisation');
        $this->addSql('ALTER TABLE flux DROP FOREIGN KEY FK_7252313A25F06C53');
        $this->addSql('ALTER TABLE flux DROP FOREIGN KEY FK_7252313A7A45358C');
        $this->addSql('ALTER TABLE flux DROP FOREIGN KEY FK_7252313AAEB0C1F5');
        $this->addSql('ALTER TABLE flux DROP FOREIGN KEY FK_7252313ABE3DB2B7');
        $this->addSql('ALTER TABLE flux DROP FOREIGN KEY FK_7252313ABF006E8B');
        $this->addSql('ALTER TABLE flux DROP FOREIGN KEY FK_7252313AECEF536E');
        $this->addSql('DROP INDEX IDX_7252313ABF006E8B ON flux');
        $this->addSql('DROP INDEX IDX_7252313ABE3DB2B7 ON flux');
        $this->addSql('DROP INDEX IDX_7252313A7A45358C ON flux');
        $this->addSql('DROP INDEX IDX_7252313A25F06C53 ON flux');
        $this->addSql('DROP INDEX IDX_7252313AAEB0C1F5 ON flux');
        $this->addSql('DROP INDEX IDX_7252313AECEF536E ON flux');
        $this->addSql('ALTER TABLE flux DROP adherent_id, DROP prestataire_id, DROP prestataire_dest_id, DROP comptoir_id, DROP groupe_id, DROP siege_id');
    }

    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('CREATE TABLE cotisation (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, annee INT NOT NULL, debut DATE NOT NULL, fin DATE NOT NULL, montant NUMERIC(6, 2) NOT NULL, moyen VARCHAR(100) NOT NULL COLLATE utf8mb4_unicode_ci, recu TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_AE64D2EDA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB COMMENT = \'\' ');
        $this->addSql('ALTER TABLE cotisation ADD CONSTRAINT FK_AE64D2EDA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
        $this->addSql('ALTER TABLE flux ADD adherent_id INT DEFAULT NULL, ADD prestataire_id INT DEFAULT NULL, ADD prestataire_dest_id INT DEFAULT NULL, ADD comptoir_id INT DEFAULT NULL, ADD groupe_id INT DEFAULT NULL, ADD siege_id INT DEFAULT NULL');
        $this->addSql('ALTER TABLE flux ADD CONSTRAINT FK_7252313A25F06C53 FOREIGN KEY (adherent_id) REFERENCES adherent (id)');
        $this->addSql('ALTER TABLE flux ADD CONSTRAINT FK_7252313A7A45358C FOREIGN KEY (groupe_id) REFERENCES groupe (id)');
        $this->addSql('ALTER TABLE flux ADD CONSTRAINT FK_7252313AAEB0C1F5 FOREIGN KEY (comptoir_id) REFERENCES comptoir (id)');
        $this->addSql('ALTER TABLE flux ADD CONSTRAINT FK_7252313ABE3DB2B7 FOREIGN KEY (prestataire_id) REFERENCES prestataire (id)');
        $this->addSql('ALTER TABLE flux ADD CONSTRAINT FK_7252313ABF006E8B FOREIGN KEY (siege_id) REFERENCES siege (id)');
        $this->addSql('ALTER TABLE flux ADD CONSTRAINT FK_7252313AECEF536E FOREIGN KEY (prestataire_dest_id) REFERENCES prestataire (id)');
        $this->addSql('CREATE INDEX IDX_7252313ABF006E8B ON flux (siege_id)');
        $this->addSql('CREATE INDEX IDX_7252313ABE3DB2B7 ON flux (prestataire_id)');
        $this->addSql('CREATE INDEX IDX_7252313A7A45358C ON flux (groupe_id)');
        $this->addSql('CREATE INDEX IDX_7252313A25F06C53 ON flux (adherent_id)');
        $this->addSql('CREATE INDEX IDX_7252313AAEB0C1F5 ON flux (comptoir_id)');
        $this->addSql('CREATE INDEX IDX_7252313AECEF536E ON flux (prestataire_dest_id)');
    }
}
