migrations/2021/03/Version20210312225808.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 Version20210312225808 extends AbstractMigration
  7. {
  8.     public function up(Schema $schema): void
  9.     {
  10.         $this->addSql('CREATE TABLE app_offer (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', supplier_id BINARY(16) NOT NULL COMMENT \'(DC2Type:contact_id)\', customer_id BINARY(16) NOT NULL COMMENT \'(DC2Type:contact_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', valid_from DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', valid_to DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', number INT NOT NULL, currency VARCHAR(3) NOT NULL, status SMALLINT NOT NULL COMMENT \'(DC2Type:offer_status)\', notes LONGTEXT DEFAULT 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) DEFAULT NULL, supplier_phone VARCHAR(255) DEFAULT 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) DEFAULT NULL, customer_address_city VARCHAR(255) DEFAULT NULL, customer_address_zip VARCHAR(255) DEFAULT NULL, customer_address_country VARCHAR(2) DEFAULT NULL, customer_email VARCHAR(255) DEFAULT NULL, customer_phone VARCHAR(255) DEFAULT NULL, items_net_total BIGINT NOT NULL, items_gross_total BIGINT NOT NULL, INDEX IDX_FF050AF3B03A8386 (created_by_id), INDEX IDX_FF050AF32ADD6D8C (supplier_id), INDEX IDX_FF050AF39395C3F3 (customer_id), UNIQUE INDEX offer_number_unique (supplier_id, number), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  11.         $this->addSql('CREATE TABLE app_offer_draft (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', deleted_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', supplier_id BINARY(16) NOT NULL COMMENT \'(DC2Type:contact_id)\', customer_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', deleted_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', valid_from DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', valid_to DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', name VARCHAR(255) DEFAULT NULL, currency VARCHAR(3) DEFAULT NULL, notes LONGTEXT DEFAULT NULL, items_net_total BIGINT NOT NULL, items_gross_total BIGINT NOT NULL, INDEX IDX_9CB4CDC1B03A8386 (created_by_id), INDEX IDX_9CB4CDC1896DBBDE (updated_by_id), INDEX IDX_9CB4CDC1C76F1F52 (deleted_by_id), INDEX IDX_9CB4CDC12ADD6D8C (supplier_id), INDEX IDX_9CB4CDC19395C3F3 (customer_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  12.         $this->addSql('CREATE TABLE app_offer_draft_email (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_email_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', offer_draft_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', sent_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', recipients LONGTEXT NOT NULL COMMENT \'(DC2Type:simple_array)\', recipients_cc LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', recipients_bcc LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', message LONGTEXT NOT NULL, INDEX IDX_C082E9CAB03A8386 (created_by_id), INDEX IDX_C082E9CA9B8E75B3 (offer_draft_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  13.         $this->addSql('CREATE TABLE app_offer_draft_email_attachment (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_email_attachment_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', email_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_email_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', filename VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, INDEX IDX_A0E01472B03A8386 (created_by_id), INDEX IDX_A0E01472A832C1C9 (email_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  14.         $this->addSql('CREATE TABLE app_offer_draft_email_draft (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_email_draft_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', offer_draft_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', recipients LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', recipients_cc LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', recipients_bcc LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', message LONGTEXT DEFAULT NULL, INDEX IDX_8F0C0A84B03A8386 (created_by_id), INDEX IDX_8F0C0A84896DBBDE (updated_by_id), INDEX IDX_8F0C0A849B8E75B3 (offer_draft_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  15.         $this->addSql('CREATE TABLE app_offer_draft_email_draft_attachment (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_email_draft_attachment_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', email_draft_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_email_draft_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', filename VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, INDEX IDX_A6219B75B03A8386 (created_by_id), INDEX IDX_A6219B75E995DA98 (email_draft_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  16.         $this->addSql('CREATE TABLE app_offer_draft_item (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_item_id)\', offer_draft_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_draft_id)\', sequence SMALLINT NOT NULL, description VARCHAR(255) DEFAULT NULL, quantity INT DEFAULT NULL, unit_price INT DEFAULT NULL, vat INT DEFAULT NULL, INDEX IDX_DCF316F9B8E75B3 (offer_draft_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  17.         $this->addSql('CREATE TABLE app_offer_email (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_email_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', offer_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', sent_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', recipients LONGTEXT NOT NULL COMMENT \'(DC2Type:simple_array)\', recipients_cc LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', recipients_bcc LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', message LONGTEXT NOT NULL, INDEX IDX_3D5A2721B03A8386 (created_by_id), INDEX IDX_3D5A272153C674EE (offer_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  18.         $this->addSql('CREATE TABLE app_offer_email_attachment (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_email_attachment_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', email_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_email_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', filename VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, INDEX IDX_933EC39B03A8386 (created_by_id), INDEX IDX_933EC39A832C1C9 (email_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE app_offer_email_draft (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_email_draft_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', updated_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', offer_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', recipients LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', recipients_cc LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', recipients_bcc LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:simple_array)\', message LONGTEXT DEFAULT NULL, INDEX IDX_FB56C68AB03A8386 (created_by_id), INDEX IDX_FB56C68A896DBBDE (updated_by_id), INDEX IDX_FB56C68A53C674EE (offer_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE app_offer_email_draft_attachment (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_email_draft_attachment_id)\', created_by_id BINARY(16) DEFAULT NULL COMMENT \'(DC2Type:contact_id)\', email_draft_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_email_draft_id)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', filename VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, INDEX IDX_59B20ADEB03A8386 (created_by_id), INDEX IDX_59B20ADEE995DA98 (email_draft_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE app_offer_item (id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_item_id)\', offer_id BINARY(16) NOT NULL COMMENT \'(DC2Type:offer_id)\', sequence SMALLINT NOT NULL, description VARCHAR(255) NOT NULL, quantity INT NOT NULL, unit_price INT NOT NULL, vat INT NOT NULL, INDEX IDX_B7F8A07553C674EE (offer_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('ALTER TABLE app_offer ADD CONSTRAINT FK_FF050AF3B03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  23.         $this->addSql('ALTER TABLE app_offer ADD CONSTRAINT FK_FF050AF32ADD6D8C FOREIGN KEY (supplier_id) REFERENCES contact (id)');
  24.         $this->addSql('ALTER TABLE app_offer ADD CONSTRAINT FK_FF050AF39395C3F3 FOREIGN KEY (customer_id) REFERENCES contact (id)');
  25.         $this->addSql('ALTER TABLE app_offer_draft ADD CONSTRAINT FK_9CB4CDC1B03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  26.         $this->addSql('ALTER TABLE app_offer_draft ADD CONSTRAINT FK_9CB4CDC1896DBBDE FOREIGN KEY (updated_by_id) REFERENCES contact (id)');
  27.         $this->addSql('ALTER TABLE app_offer_draft ADD CONSTRAINT FK_9CB4CDC1C76F1F52 FOREIGN KEY (deleted_by_id) REFERENCES contact (id)');
  28.         $this->addSql('ALTER TABLE app_offer_draft ADD CONSTRAINT FK_9CB4CDC12ADD6D8C FOREIGN KEY (supplier_id) REFERENCES contact (id)');
  29.         $this->addSql('ALTER TABLE app_offer_draft ADD CONSTRAINT FK_9CB4CDC19395C3F3 FOREIGN KEY (customer_id) REFERENCES contact (id)');
  30.         $this->addSql('ALTER TABLE app_offer_draft_email ADD CONSTRAINT FK_C082E9CAB03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  31.         $this->addSql('ALTER TABLE app_offer_draft_email ADD CONSTRAINT FK_C082E9CA9B8E75B3 FOREIGN KEY (offer_draft_id) REFERENCES app_offer_draft (id)');
  32.         $this->addSql('ALTER TABLE app_offer_draft_email_attachment ADD CONSTRAINT FK_A0E01472B03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  33.         $this->addSql('ALTER TABLE app_offer_draft_email_attachment ADD CONSTRAINT FK_A0E01472A832C1C9 FOREIGN KEY (email_id) REFERENCES app_offer_draft_email (id)');
  34.         $this->addSql('ALTER TABLE app_offer_draft_email_draft ADD CONSTRAINT FK_8F0C0A84B03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  35.         $this->addSql('ALTER TABLE app_offer_draft_email_draft ADD CONSTRAINT FK_8F0C0A84896DBBDE FOREIGN KEY (updated_by_id) REFERENCES contact (id)');
  36.         $this->addSql('ALTER TABLE app_offer_draft_email_draft ADD CONSTRAINT FK_8F0C0A849B8E75B3 FOREIGN KEY (offer_draft_id) REFERENCES app_offer_draft (id)');
  37.         $this->addSql('ALTER TABLE app_offer_draft_email_draft_attachment ADD CONSTRAINT FK_A6219B75B03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  38.         $this->addSql('ALTER TABLE app_offer_draft_email_draft_attachment ADD CONSTRAINT FK_A6219B75E995DA98 FOREIGN KEY (email_draft_id) REFERENCES app_offer_draft_email_draft (id)');
  39.         $this->addSql('ALTER TABLE app_offer_draft_item ADD CONSTRAINT FK_DCF316F9B8E75B3 FOREIGN KEY (offer_draft_id) REFERENCES app_offer_draft (id)');
  40.         $this->addSql('ALTER TABLE app_offer_email ADD CONSTRAINT FK_3D5A2721B03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  41.         $this->addSql('ALTER TABLE app_offer_email ADD CONSTRAINT FK_3D5A272153C674EE FOREIGN KEY (offer_id) REFERENCES app_offer (id)');
  42.         $this->addSql('ALTER TABLE app_offer_email_attachment ADD CONSTRAINT FK_933EC39B03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  43.         $this->addSql('ALTER TABLE app_offer_email_attachment ADD CONSTRAINT FK_933EC39A832C1C9 FOREIGN KEY (email_id) REFERENCES app_offer_email (id)');
  44.         $this->addSql('ALTER TABLE app_offer_email_draft ADD CONSTRAINT FK_FB56C68AB03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  45.         $this->addSql('ALTER TABLE app_offer_email_draft ADD CONSTRAINT FK_FB56C68A896DBBDE FOREIGN KEY (updated_by_id) REFERENCES contact (id)');
  46.         $this->addSql('ALTER TABLE app_offer_email_draft ADD CONSTRAINT FK_FB56C68A53C674EE FOREIGN KEY (offer_id) REFERENCES app_offer (id)');
  47.         $this->addSql('ALTER TABLE app_offer_email_draft_attachment ADD CONSTRAINT FK_59B20ADEB03A8386 FOREIGN KEY (created_by_id) REFERENCES contact (id)');
  48.         $this->addSql('ALTER TABLE app_offer_email_draft_attachment ADD CONSTRAINT FK_59B20ADEE995DA98 FOREIGN KEY (email_draft_id) REFERENCES app_offer_email_draft (id)');
  49.         $this->addSql('ALTER TABLE app_offer_item ADD CONSTRAINT FK_B7F8A07553C674EE FOREIGN KEY (offer_id) REFERENCES app_offer (id)');
  50.     }
  51.     public function down(Schema $schema): void
  52.     {
  53.         $this->addSql('ALTER TABLE app_offer_email DROP FOREIGN KEY FK_3D5A272153C674EE');
  54.         $this->addSql('ALTER TABLE app_offer_email_draft DROP FOREIGN KEY FK_FB56C68A53C674EE');
  55.         $this->addSql('ALTER TABLE app_offer_item DROP FOREIGN KEY FK_B7F8A07553C674EE');
  56.         $this->addSql('ALTER TABLE app_offer_draft_email DROP FOREIGN KEY FK_C082E9CA9B8E75B3');
  57.         $this->addSql('ALTER TABLE app_offer_draft_email_draft DROP FOREIGN KEY FK_8F0C0A849B8E75B3');
  58.         $this->addSql('ALTER TABLE app_offer_draft_item DROP FOREIGN KEY FK_DCF316F9B8E75B3');
  59.         $this->addSql('ALTER TABLE app_offer_draft_email_attachment DROP FOREIGN KEY FK_A0E01472A832C1C9');
  60.         $this->addSql('ALTER TABLE app_offer_draft_email_draft_attachment DROP FOREIGN KEY FK_A6219B75E995DA98');
  61.         $this->addSql('ALTER TABLE app_offer_email_attachment DROP FOREIGN KEY FK_933EC39A832C1C9');
  62.         $this->addSql('ALTER TABLE app_offer_email_draft_attachment DROP FOREIGN KEY FK_59B20ADEE995DA98');
  63.         $this->addSql('DROP TABLE app_offer');
  64.         $this->addSql('DROP TABLE app_offer_draft');
  65.         $this->addSql('DROP TABLE app_offer_draft_email');
  66.         $this->addSql('DROP TABLE app_offer_draft_email_attachment');
  67.         $this->addSql('DROP TABLE app_offer_draft_email_draft');
  68.         $this->addSql('DROP TABLE app_offer_draft_email_draft_attachment');
  69.         $this->addSql('DROP TABLE app_offer_draft_item');
  70.         $this->addSql('DROP TABLE app_offer_email');
  71.         $this->addSql('DROP TABLE app_offer_email_attachment');
  72.         $this->addSql('DROP TABLE app_offer_email_draft');
  73.         $this->addSql('DROP TABLE app_offer_email_draft_attachment');
  74.         $this->addSql('DROP TABLE app_offer_item');
  75.     }
  76. }