<?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 Version20221019101542 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('DROP SEQUENCE transaction_id_seq CASCADE');
$this->addSql('CREATE SEQUENCE abstract_transaction_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
$this->addSql('CREATE TABLE abstract_transaction (id INT NOT NULL, mandate_id INT NOT NULL, reference_transaction_status_id INT NOT NULL, reference_commission_paid_by_id INT DEFAULT NULL, input_agent_id INT NOT NULL, output_agent_id INT NOT NULL, vat_id INT DEFAULT NULL, contact_id INT DEFAULT NULL, reference_financing_mode_id INT DEFAULT NULL, reference_payment_method_id INT NOT NULL, buyer_commission DOUBLE PRECISION DEFAULT NULL, total DOUBLE PRECISION DEFAULT NULL, sell_price_with_tax DOUBLE PRECISION NOT NULL, fees_with_tax DOUBLE PRECISION DEFAULT NULL, fees_without_tax DOUBLE PRECISION DEFAULT NULL, under_comprise_at DATE NOT NULL, valide_at DATE DEFAULT NULL, recorded_at DATE DEFAULT NULL, paid_at DATE DEFAULT NULL, canceled_at DATE DEFAULT NULL, expected_date_of_compromise DATE DEFAULT NULL, invoice_number VARCHAR(255) DEFAULT NULL, invoice_date DATE DEFAULT NULL, property_value DOUBLE PRECISION NOT NULL, advance DOUBLE PRECISION DEFAULT NULL, apport DOUBLE PRECISION DEFAULT NULL, created_at DATE NOT NULL, updated_at DATE NOT NULL, type VARCHAR(12) NOT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE INDEX IDX_1071A95C6C1129CD ON abstract_transaction (mandate_id)');
$this->addSql('CREATE INDEX IDX_1071A95C56D45B74 ON abstract_transaction (reference_transaction_status_id)');
$this->addSql('CREATE INDEX IDX_1071A95C728B4176 ON abstract_transaction (reference_commission_paid_by_id)');
$this->addSql('CREATE INDEX IDX_1071A95CAF65A522 ON abstract_transaction (input_agent_id)');
$this->addSql('CREATE INDEX IDX_1071A95C7DA434C1 ON abstract_transaction (output_agent_id)');
$this->addSql('CREATE INDEX IDX_1071A95CB5B63A6B ON abstract_transaction (vat_id)');
$this->addSql('CREATE INDEX IDX_1071A95CE7A1254A ON abstract_transaction (contact_id)');
$this->addSql('CREATE INDEX IDX_1071A95C2B3320E8 ON abstract_transaction (reference_financing_mode_id)');
$this->addSql('CREATE INDEX IDX_1071A95C27EA34D7 ON abstract_transaction (reference_payment_method_id)');
$this->addSql('CREATE TABLE business_indication (id INT NOT NULL, PRIMARY KEY(id))');
$this->addSql('ALTER TABLE abstract_transaction ADD CONSTRAINT FK_1071A95C6C1129CD FOREIGN KEY (mandate_id) REFERENCES mandate (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE abstract_transaction ADD CONSTRAINT FK_1071A95C56D45B74 FOREIGN KEY (reference_transaction_status_id) REFERENCES reference_transaction_status (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE abstract_transaction ADD CONSTRAINT FK_1071A95C728B4176 FOREIGN KEY (reference_commission_paid_by_id) REFERENCES reference_transaction_fees_payment (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE abstract_transaction ADD CONSTRAINT FK_1071A95CAF65A522 FOREIGN KEY (input_agent_id) REFERENCES agent (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE abstract_transaction ADD CONSTRAINT FK_1071A95C7DA434C1 FOREIGN KEY (output_agent_id) REFERENCES agent (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE abstract_transaction ADD CONSTRAINT FK_1071A95CB5B63A6B FOREIGN KEY (vat_id) REFERENCES vat (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE abstract_transaction ADD CONSTRAINT FK_1071A95CE7A1254A FOREIGN KEY (contact_id) REFERENCES contact (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE abstract_transaction ADD CONSTRAINT FK_1071A95C2B3320E8 FOREIGN KEY (reference_financing_mode_id) REFERENCES reference_financing_mode (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE abstract_transaction ADD CONSTRAINT FK_1071A95C27EA34D7 FOREIGN KEY (reference_payment_method_id) REFERENCES reference_transaction_payment_method (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE business_indication ADD CONSTRAINT FK_11F36D7CBF396750 FOREIGN KEY (id) REFERENCES abstract_transaction (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE property ALTER created_at SET NOT NULL');
$this->addSql('ALTER TABLE property ALTER updated_at SET NOT NULL');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT fk_723705d16c1129cd');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT fk_723705d156d45b74');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT fk_723705d127ea34d7');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT fk_723705d1728b4176');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT fk_723705d1af65a522');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT fk_723705d17da434c1');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT fk_723705d1b5b63a6b');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT fk_723705d1e7a1254a');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT fk_723705d12b3320e8');
$this->addSql('DROP INDEX idx_723705d12b3320e8');
$this->addSql('DROP INDEX idx_723705d17da434c1');
$this->addSql('DROP INDEX idx_723705d1e7a1254a');
$this->addSql('DROP INDEX idx_723705d127ea34d7');
$this->addSql('DROP INDEX idx_723705d16c1129cd');
$this->addSql('DROP INDEX idx_723705d1b5b63a6b');
$this->addSql('DROP INDEX idx_723705d1af65a522');
$this->addSql('DROP INDEX idx_723705d156d45b74');
$this->addSql('DROP INDEX idx_723705d1728b4176');
$this->addSql('ALTER TABLE transaction DROP mandate_id');
$this->addSql('ALTER TABLE transaction DROP reference_transaction_status_id');
$this->addSql('ALTER TABLE transaction DROP reference_payment_method_id');
$this->addSql('ALTER TABLE transaction DROP reference_commission_paid_by_id');
$this->addSql('ALTER TABLE transaction DROP input_agent_id');
$this->addSql('ALTER TABLE transaction DROP output_agent_id');
$this->addSql('ALTER TABLE transaction DROP vat_id');
$this->addSql('ALTER TABLE transaction DROP contact_id');
$this->addSql('ALTER TABLE transaction DROP reference_financing_mode_id');
$this->addSql('ALTER TABLE transaction DROP buyer_commission');
$this->addSql('ALTER TABLE transaction DROP total');
$this->addSql('ALTER TABLE transaction DROP sell_price_with_tax');
$this->addSql('ALTER TABLE transaction DROP fees_with_tax');
$this->addSql('ALTER TABLE transaction DROP fees_without_tax');
$this->addSql('ALTER TABLE transaction DROP under_comprise_at');
$this->addSql('ALTER TABLE transaction DROP valide_at');
$this->addSql('ALTER TABLE transaction DROP recorded_at');
$this->addSql('ALTER TABLE transaction DROP paid_at');
$this->addSql('ALTER TABLE transaction DROP canceled_at');
$this->addSql('ALTER TABLE transaction DROP expected_date_of_compromise');
$this->addSql('ALTER TABLE transaction DROP invoice_number');
$this->addSql('ALTER TABLE transaction DROP invoice_date');
$this->addSql('ALTER TABLE transaction DROP property_value');
$this->addSql('ALTER TABLE transaction DROP advance');
$this->addSql('ALTER TABLE transaction DROP apport');
$this->addSql('ALTER TABLE transaction DROP created_at');
$this->addSql('ALTER TABLE transaction DROP updated_at');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT FK_723705D1BF396750 FOREIGN KEY (id) REFERENCES abstract_transaction (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE business_indication DROP CONSTRAINT FK_11F36D7CBF396750');
$this->addSql('ALTER TABLE transaction DROP CONSTRAINT FK_723705D1BF396750');
$this->addSql('DROP SEQUENCE abstract_transaction_id_seq CASCADE');
$this->addSql('CREATE SEQUENCE transaction_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
$this->addSql('DROP TABLE abstract_transaction');
$this->addSql('DROP TABLE business_indication');
$this->addSql('ALTER TABLE transaction ADD mandate_id INT NOT NULL');
$this->addSql('ALTER TABLE transaction ADD reference_transaction_status_id INT NOT NULL');
$this->addSql('ALTER TABLE transaction ADD reference_payment_method_id INT NOT NULL');
$this->addSql('ALTER TABLE transaction ADD reference_commission_paid_by_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD input_agent_id INT NOT NULL');
$this->addSql('ALTER TABLE transaction ADD output_agent_id INT NOT NULL');
$this->addSql('ALTER TABLE transaction ADD vat_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD contact_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD reference_financing_mode_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD buyer_commission DOUBLE PRECISION DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD total DOUBLE PRECISION DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD sell_price_with_tax DOUBLE PRECISION NOT NULL');
$this->addSql('ALTER TABLE transaction ADD fees_with_tax DOUBLE PRECISION DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD fees_without_tax DOUBLE PRECISION DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD under_comprise_at DATE NOT NULL');
$this->addSql('ALTER TABLE transaction ADD valide_at DATE DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD recorded_at DATE DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD paid_at DATE DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD canceled_at DATE DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD expected_date_of_compromise DATE DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD invoice_number VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD invoice_date DATE DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD property_value DOUBLE PRECISION NOT NULL');
$this->addSql('ALTER TABLE transaction ADD advance DOUBLE PRECISION DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD apport DOUBLE PRECISION DEFAULT NULL');
$this->addSql('ALTER TABLE transaction ADD created_at DATE NOT NULL');
$this->addSql('ALTER TABLE transaction ADD updated_at DATE NOT NULL');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT fk_723705d16c1129cd FOREIGN KEY (mandate_id) REFERENCES mandate (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT fk_723705d156d45b74 FOREIGN KEY (reference_transaction_status_id) REFERENCES reference_transaction_status (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT fk_723705d127ea34d7 FOREIGN KEY (reference_payment_method_id) REFERENCES reference_transaction_payment_method (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT fk_723705d1728b4176 FOREIGN KEY (reference_commission_paid_by_id) REFERENCES reference_transaction_fees_payment (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT fk_723705d1af65a522 FOREIGN KEY (input_agent_id) REFERENCES agent (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT fk_723705d17da434c1 FOREIGN KEY (output_agent_id) REFERENCES agent (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT fk_723705d1b5b63a6b FOREIGN KEY (vat_id) REFERENCES vat (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT fk_723705d1e7a1254a FOREIGN KEY (contact_id) REFERENCES contact (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE transaction ADD CONSTRAINT fk_723705d12b3320e8 FOREIGN KEY (reference_financing_mode_id) REFERENCES reference_financing_mode (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE INDEX idx_723705d12b3320e8 ON transaction (reference_financing_mode_id)');
$this->addSql('CREATE INDEX idx_723705d17da434c1 ON transaction (output_agent_id)');
$this->addSql('CREATE INDEX idx_723705d1e7a1254a ON transaction (contact_id)');
$this->addSql('CREATE INDEX idx_723705d127ea34d7 ON transaction (reference_payment_method_id)');
$this->addSql('CREATE INDEX idx_723705d16c1129cd ON transaction (mandate_id)');
$this->addSql('CREATE INDEX idx_723705d1b5b63a6b ON transaction (vat_id)');
$this->addSql('CREATE INDEX idx_723705d1af65a522 ON transaction (input_agent_id)');
$this->addSql('CREATE INDEX idx_723705d156d45b74 ON transaction (reference_transaction_status_id)');
$this->addSql('CREATE INDEX idx_723705d1728b4176 ON transaction (reference_commission_paid_by_id)');
$this->addSql('ALTER TABLE property ALTER created_at DROP NOT NULL');
$this->addSql('ALTER TABLE property ALTER updated_at DROP NOT NULL');
}
}