<?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 Version20220311184823 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 agency (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(128) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE business_unit (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE collaboration (id INT AUTO_INCREMENT NOT NULL, business_unit_id INT DEFAULT NULL, partner_id INT DEFAULT NULL, agency_id INT DEFAULT NULL, deal_id INT NOT NULL, intervener VARCHAR(255) DEFAULT NULL, status VARCHAR(1) NOT NULL, pct_intervention NUMERIC(5, 2) NOT NULL, turnover NUMERIC(10, 2) NOT NULL, remuneration NUMERIC(10, 2) NOT NULL, INDEX IDX_DA3AE323A58ECB40 (business_unit_id), INDEX IDX_DA3AE3239393F8FE (partner_id), INDEX IDX_DA3AE323CDEADB2A (agency_id), INDEX IDX_DA3AE323F60E2305 (deal_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE deal (id INT AUTO_INCREMENT NOT NULL, property_type_id INT DEFAULT NULL, status_id INT NOT NULL, seller_agency_id INT DEFAULT NULL, acquirer_agency_id INT DEFAULT NULL, seller_business_unit_id INT DEFAULT NULL, acquirer_business_unit_id INT DEFAULT NULL, seller_partner_id INT DEFAULT NULL, acquirer_partner_id INT DEFAULT NULL, rooms_id INT DEFAULT NULL, seller_name VARCHAR(255) NOT NULL, acquirer_name VARCHAR(255) NOT NULL, property_number VARCHAR(128) DEFAULT NULL, property_url VARCHAR(255) DEFAULT NULL, property_city VARCHAR(255) DEFAULT NULL, property_district VARCHAR(128) DEFAULT NULL, property_space INT DEFAULT NULL, price INT DEFAULT NULL, price_square_meter INT DEFAULT NULL, fees_with_tax NUMERIC(10, 2) DEFAULT NULL, fees_without_tax NUMERIC(10, 2) DEFAULT NULL, fees_pct NUMERIC(5, 2) DEFAULT NULL, date_signed_offer DATE NOT NULL, date_signed_agreement DATE DEFAULT NULL, date_csp_lifted DATE DEFAULT NULL, date_signed_act DATE DEFAULT NULL, fees_group_with_tax NUMERIC(10, 2) DEFAULT NULL, fees_group_without_tax NUMERIC(10, 2) DEFAULT NULL, loan TINYINT(1) DEFAULT NULL, loan_amount NUMERIC(10, 0) DEFAULT NULL, INDEX IDX_E3FEC1169C81C6EB (property_type_id), INDEX IDX_E3FEC1166BF700BD (status_id), INDEX IDX_E3FEC1162C8E281C (seller_agency_id), INDEX IDX_E3FEC1168648A014 (acquirer_agency_id), INDEX IDX_E3FEC116FF4AC74F (seller_business_unit_id), INDEX IDX_E3FEC1167AC5FB87 (acquirer_business_unit_id), INDEX IDX_E3FEC1165CC80994 (seller_partner_id), INDEX IDX_E3FEC11652B9472E (acquirer_partner_id), INDEX IDX_E3FEC1168E2368AB (rooms_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE deal_rooms (id INT AUTO_INCREMENT NOT NULL, label VARCHAR(128) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE deal_status (id INT AUTO_INCREMENT NOT NULL, status VARCHAR(128) NOT NULL, name VARCHAR(128) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE mandate (id INT AUTO_INCREMENT NOT NULL, type_sales_id INT DEFAULT NULL, type_research_id INT DEFAULT NULL, number VARCHAR(128) DEFAULT NULL, date DATE DEFAULT NULL, INDEX IDX_197D0FEE69AD0DFB (type_sales_id), INDEX IDX_197D0FEE3210367C (type_research_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE mandate_type (id INT NOT NULL, type VARCHAR(128) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE mandate_type_research (id INT AUTO_INCREMENT NOT NULL, type VARCHAR(128) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE mandate_type_sales (id INT AUTO_INCREMENT NOT NULL, type VARCHAR(128) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE partner (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, status_id INT DEFAULT NULL, business_unit_id INT DEFAULT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, entry_date DATE DEFAULT NULL, initials VARCHAR(16) NOT NULL, pct_remuneration INT DEFAULT NULL, INDEX IDX_312B3E16A76ED395 (user_id), INDEX IDX_312B3E166BF700BD (status_id), INDEX IDX_312B3E16A58ECB40 (business_unit_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE partner_status (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE property_type (id INT AUTO_INCREMENT NOT NULL, type VARCHAR(128) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(180) NOT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', password VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE messenger_messages (id BIGINT AUTO_INCREMENT NOT NULL, body LONGTEXT NOT NULL, headers LONGTEXT NOT NULL, queue_name VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, available_at DATETIME NOT NULL, delivered_at DATETIME DEFAULT NULL, INDEX IDX_75EA56E016BA31DB (delivered_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE collaboration ADD CONSTRAINT FK_DA3AE323A58ECB40 FOREIGN KEY (business_unit_id) REFERENCES business_unit (id)');
$this->addSql('ALTER TABLE collaboration ADD CONSTRAINT FK_DA3AE3239393F8FE FOREIGN KEY (partner_id) REFERENCES partner (id)');
$this->addSql('ALTER TABLE collaboration ADD CONSTRAINT FK_DA3AE323CDEADB2A FOREIGN KEY (agency_id) REFERENCES agency (id)');
$this->addSql('ALTER TABLE collaboration ADD CONSTRAINT FK_DA3AE323F60E2305 FOREIGN KEY (deal_id) REFERENCES deal (id)');
$this->addSql('ALTER TABLE deal ADD CONSTRAINT FK_E3FEC1169C81C6EB FOREIGN KEY (property_type_id) REFERENCES property_type (id)');
$this->addSql('ALTER TABLE deal ADD CONSTRAINT FK_E3FEC1166BF700BD FOREIGN KEY (status_id) REFERENCES deal_status (id)');
$this->addSql('ALTER TABLE deal ADD CONSTRAINT FK_E3FEC1162C8E281C FOREIGN KEY (seller_agency_id) REFERENCES agency (id)');
$this->addSql('ALTER TABLE deal ADD CONSTRAINT FK_E3FEC1168648A014 FOREIGN KEY (acquirer_agency_id) REFERENCES agency (id)');
$this->addSql('ALTER TABLE deal ADD CONSTRAINT FK_E3FEC116FF4AC74F FOREIGN KEY (seller_business_unit_id) REFERENCES business_unit (id)');
$this->addSql('ALTER TABLE deal ADD CONSTRAINT FK_E3FEC1167AC5FB87 FOREIGN KEY (acquirer_business_unit_id) REFERENCES business_unit (id)');
$this->addSql('ALTER TABLE deal ADD CONSTRAINT FK_E3FEC1165CC80994 FOREIGN KEY (seller_partner_id) REFERENCES partner (id)');
$this->addSql('ALTER TABLE deal ADD CONSTRAINT FK_E3FEC11652B9472E FOREIGN KEY (acquirer_partner_id) REFERENCES partner (id)');
$this->addSql('ALTER TABLE deal ADD CONSTRAINT FK_E3FEC1168E2368AB FOREIGN KEY (rooms_id) REFERENCES deal_rooms (id)');
$this->addSql('ALTER TABLE mandate ADD CONSTRAINT FK_197D0FEE69AD0DFB FOREIGN KEY (type_sales_id) REFERENCES mandate_type_sales (id)');
$this->addSql('ALTER TABLE mandate ADD CONSTRAINT FK_197D0FEE3210367C FOREIGN KEY (type_research_id) REFERENCES mandate_type_research (id)');
$this->addSql('ALTER TABLE partner ADD CONSTRAINT FK_312B3E16A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE partner ADD CONSTRAINT FK_312B3E166BF700BD FOREIGN KEY (status_id) REFERENCES partner_status (id)');
$this->addSql('ALTER TABLE partner ADD CONSTRAINT FK_312B3E16A58ECB40 FOREIGN KEY (business_unit_id) REFERENCES business_unit (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE collaboration DROP FOREIGN KEY FK_DA3AE323CDEADB2A');
$this->addSql('ALTER TABLE deal DROP FOREIGN KEY FK_E3FEC1162C8E281C');
$this->addSql('ALTER TABLE deal DROP FOREIGN KEY FK_E3FEC1168648A014');
$this->addSql('ALTER TABLE collaboration DROP FOREIGN KEY FK_DA3AE323A58ECB40');
$this->addSql('ALTER TABLE deal DROP FOREIGN KEY FK_E3FEC116FF4AC74F');
$this->addSql('ALTER TABLE deal DROP FOREIGN KEY FK_E3FEC1167AC5FB87');
$this->addSql('ALTER TABLE partner DROP FOREIGN KEY FK_312B3E16A58ECB40');
$this->addSql('ALTER TABLE collaboration DROP FOREIGN KEY FK_DA3AE323F60E2305');
$this->addSql('ALTER TABLE deal DROP FOREIGN KEY FK_E3FEC1168E2368AB');
$this->addSql('ALTER TABLE deal DROP FOREIGN KEY FK_E3FEC1166BF700BD');
$this->addSql('ALTER TABLE mandate DROP FOREIGN KEY FK_197D0FEE3210367C');
$this->addSql('ALTER TABLE mandate DROP FOREIGN KEY FK_197D0FEE69AD0DFB');
$this->addSql('ALTER TABLE collaboration DROP FOREIGN KEY FK_DA3AE3239393F8FE');
$this->addSql('ALTER TABLE deal DROP FOREIGN KEY FK_E3FEC1165CC80994');
$this->addSql('ALTER TABLE deal DROP FOREIGN KEY FK_E3FEC11652B9472E');
$this->addSql('ALTER TABLE partner DROP FOREIGN KEY FK_312B3E166BF700BD');
$this->addSql('ALTER TABLE deal DROP FOREIGN KEY FK_E3FEC1169C81C6EB');
$this->addSql('ALTER TABLE partner DROP FOREIGN KEY FK_312B3E16A76ED395');
$this->addSql('DROP TABLE agency');
$this->addSql('DROP TABLE business_unit');
$this->addSql('DROP TABLE collaboration');
$this->addSql('DROP TABLE deal');
$this->addSql('DROP TABLE deal_rooms');
$this->addSql('DROP TABLE deal_status');
$this->addSql('DROP TABLE mandate');
$this->addSql('DROP TABLE mandate_type');
$this->addSql('DROP TABLE mandate_type_research');
$this->addSql('DROP TABLE mandate_type_sales');
$this->addSql('DROP TABLE partner');
$this->addSql('DROP TABLE partner_status');
$this->addSql('DROP TABLE property_type');
$this->addSql('DROP TABLE user');
$this->addSql('DROP TABLE messenger_messages');
}
}