migrations/2019/10/Version20191017132916.php line 1

  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. final class Version20191017132916 extends AbstractMigration
  7. {
  8.     public function up(Schema $schema): void
  9.     {
  10.         $this->addSql('CREATE TABLE invoice (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid_binary)\', created_by_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid_binary)\', supplier_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid_binary)\', customer_id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid_binary)\', credited_invoice_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:uuid_binary)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', invoice_date DATE NOT NULL COMMENT \'(DC2Type:date_immutable)\', due_date DATE NOT NULL COMMENT \'(DC2Type:date_immutable)\', number INT NOT NULL, currency VARCHAR(3) NOT NULL, status SMALLINT NOT NULL, supplier_name VARCHAR(255) NOT NULL, supplier_registration_number VARCHAR(255) NOT NULL, supplier_vatin VARCHAR(255) DEFAULT NULL, supplier_tin VARCHAR(255) DEFAULT NULL, supplier_address_line_1 VARCHAR(255) NOT NULL, supplier_address_city VARCHAR(255) NOT NULL, supplier_address_zip VARCHAR(255) NOT NULL, supplier_address_country VARCHAR(2) NOT NULL, supplier_email VARCHAR(255) NOT NULL, supplier_phone VARCHAR(255) NOT NULL, supplier_bank_iban VARCHAR(34) NOT NULL, supplier_bank_bic VARCHAR(11) NOT NULL, customer_first_name VARCHAR(255) DEFAULT NULL, customer_last_name VARCHAR(255) NOT NULL, customer_registration_number VARCHAR(255) DEFAULT NULL, customer_vatin VARCHAR(255) DEFAULT NULL, customer_tin VARCHAR(255) DEFAULT NULL, customer_address_line_1 VARCHAR(255) NOT NULL, customer_address_city VARCHAR(255) NOT NULL, customer_address_zip VARCHAR(255) NOT NULL, customer_address_country VARCHAR(2) NOT NULL, customer_email VARCHAR(255) NOT NULL, customer_phone VARCHAR(255) NOT NULL, customer_bank_iban VARCHAR(34) NOT NULL, customer_bank_bic VARCHAR(11) NOT NULL, items_total BIGINT NOT NULL, INDEX IDX_90651744B03A8386 (created_by_id), INDEX IDX_906517442ADD6D8C (supplier_id), INDEX IDX_906517449395C3F3 (customer_id), INDEX IDX_906517446A17B032 (credited_invoice_id), UNIQUE INDEX invoice_number_unique_id (supplier_id, number), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
  11.         $this->addSql('ALTER TABLE invoice ADD CONSTRAINT FK_90651744B03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  12.         $this->addSql('ALTER TABLE invoice ADD CONSTRAINT FK_906517442ADD6D8C FOREIGN KEY (supplier_id) REFERENCES contact (id)');
  13.         $this->addSql('ALTER TABLE invoice ADD CONSTRAINT FK_906517449395C3F3 FOREIGN KEY (customer_id) REFERENCES contact (id)');
  14.         $this->addSql('ALTER TABLE invoice ADD CONSTRAINT FK_906517446A17B032 FOREIGN KEY (credited_invoice_id) REFERENCES invoice (id)');
  15.     }
  16.     public function down(Schema $schema): void
  17.     {
  18.         $this->addSql('ALTER TABLE invoice DROP FOREIGN KEY FK_906517446A17B032');
  19.         $this->addSql('DROP TABLE invoice');
  20.     }
  21. }