<?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 Version20260109085728 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 export_documentation (id INT AUTO_INCREMENT NOT NULL, export_process_id INT NOT NULL, proforma_status VARCHAR(50) DEFAULT NULL, packing_list_status VARCHAR(50) DEFAULT NULL, declaration_number VARCHAR(255) DEFAULT NULL, original_docs_sent_date DATETIME DEFAULT NULL, courier_tracking_number VARCHAR(255) DEFAULT NULL, created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, u_date INT DEFAULT NULL, UNIQUE INDEX UNIQ_DFE34EC8B52E40BE (export_process_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE export_process (id INT AUTO_INCREMENT NOT NULL, purchase_order_id INT NOT NULL, supplier_id INT NOT NULL, status VARCHAR(50) NOT NULL, termin_date DATETIME DEFAULT NULL, payment_method VARCHAR(255) DEFAULT NULL, selection_details LONGTEXT DEFAULT NULL, created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, u_date INT DEFAULT NULL, UNIQUE INDEX UNIQ_16D0359EA45D7E6A (purchase_order_id), INDEX IDX_16D0359E2ADD6D8C (supplier_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE lashing_operation (id INT AUTO_INCREMENT NOT NULL, export_process_id INT NOT NULL, is_lashed TINYINT(1) NOT NULL, is_fumigated TINYINT(1) NOT NULL, inspector_name VARCHAR(255) DEFAULT NULL, operation_notes LONGTEXT DEFAULT NULL, created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, u_date INT DEFAULT NULL, UNIQUE INDEX UNIQ_96E37023B52E40BE (export_process_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE product_supplier (product_id INT NOT NULL, supplier_id INT NOT NULL, INDEX IDX_509A06E94584665A (product_id), INDEX IDX_509A06E92ADD6D8C (supplier_id), PRIMARY KEY(product_id, supplier_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE production_tracking (id INT AUTO_INCREMENT NOT NULL, export_process_id INT NOT NULL, quality_control_status VARCHAR(50) DEFAULT NULL, production_deadline DATETIME DEFAULT NULL, is_completed TINYINT(1) NOT NULL, tonnage_calculation NUMERIC(10, 2) DEFAULT NULL, internal_transport_info LONGTEXT DEFAULT NULL, created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, u_date INT DEFAULT NULL, UNIQUE INDEX UNIQ_500BD9F8B52E40BE (export_process_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE purchase_order (id INT AUTO_INCREMENT NOT NULL, supplier_id INT NOT NULL, warehouse_id INT NOT NULL, po_number VARCHAR(255) NOT NULL, status VARCHAR(50) NOT NULL, order_date DATETIME NOT NULL, expected_date DATETIME DEFAULT NULL, total_amount NUMERIC(15, 2) NOT NULL, note LONGTEXT DEFAULT NULL, created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, u_date INT DEFAULT NULL, UNIQUE INDEX UNIQ_21E210B2EDAE42C5 (po_number), INDEX IDX_21E210B22ADD6D8C (supplier_id), INDEX IDX_21E210B25080ECDE (warehouse_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE purchase_order_user (purchase_order_id INT NOT NULL, user_id INT NOT NULL, INDEX IDX_CC51BB94A45D7E6A (purchase_order_id), INDEX IDX_CC51BB94A76ED395 (user_id), PRIMARY KEY(purchase_order_id, user_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE purchase_order_item (id INT AUTO_INCREMENT NOT NULL, purchase_order_id INT NOT NULL, product_id INT NOT NULL, quantity DOUBLE PRECISION NOT NULL, received_quantity DOUBLE PRECISION NOT NULL, unit_price NUMERIC(15, 2) NOT NULL, total_price NUMERIC(15, 2) NOT NULL, created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, u_date INT DEFAULT NULL, INDEX IDX_5ED948C3A45D7E6A (purchase_order_id), INDEX IDX_5ED948C34584665A (product_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE purchase_order_note (id INT AUTO_INCREMENT NOT NULL, purchase_order_id INT NOT NULL, creator_id INT DEFAULT NULL, content LONGTEXT NOT NULL, image VARCHAR(255) DEFAULT NULL, is_system_log TINYINT(1) NOT NULL, attachments JSON DEFAULT NULL, created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, u_date INT DEFAULT NULL, INDEX IDX_8E7F97C9A45D7E6A (purchase_order_id), INDEX IDX_8E7F97C961220EA6 (creator_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE shipment_booking (id INT AUTO_INCREMENT NOT NULL, export_process_id INT NOT NULL, ship_name VARCHAR(255) DEFAULT NULL, booking_number VARCHAR(255) DEFAULT NULL, container_number VARCHAR(255) DEFAULT NULL, agency_name VARCHAR(255) DEFAULT NULL, created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, u_date INT DEFAULT NULL, UNIQUE INDEX UNIQ_BA4EB7BB52E40BE (export_process_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE supplier (id INT AUTO_INCREMENT NOT NULL, company_name VARCHAR(255) NOT NULL, contact_person VARCHAR(255) DEFAULT NULL, email VARCHAR(255) DEFAULT NULL, phone VARCHAR(50) DEFAULT NULL, address LONGTEXT DEFAULT NULL, tax_number VARCHAR(50) DEFAULT NULL, tax_office VARCHAR(100) DEFAULT NULL, is_active TINYINT(1) NOT NULL, logo VARCHAR(255) DEFAULT NULL, contacts JSON DEFAULT NULL, created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, u_date INT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE export_documentation ADD CONSTRAINT FK_DFE34EC8B52E40BE FOREIGN KEY (export_process_id) REFERENCES export_process (id)');
$this->addSql('ALTER TABLE export_process ADD CONSTRAINT FK_16D0359EA45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id)');
$this->addSql('ALTER TABLE export_process ADD CONSTRAINT FK_16D0359E2ADD6D8C FOREIGN KEY (supplier_id) REFERENCES supplier (id)');
$this->addSql('ALTER TABLE lashing_operation ADD CONSTRAINT FK_96E37023B52E40BE FOREIGN KEY (export_process_id) REFERENCES export_process (id)');
$this->addSql('ALTER TABLE product_supplier ADD CONSTRAINT FK_509A06E94584665A FOREIGN KEY (product_id) REFERENCES product (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE product_supplier ADD CONSTRAINT FK_509A06E92ADD6D8C FOREIGN KEY (supplier_id) REFERENCES supplier (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE production_tracking ADD CONSTRAINT FK_500BD9F8B52E40BE FOREIGN KEY (export_process_id) REFERENCES export_process (id)');
$this->addSql('ALTER TABLE purchase_order ADD CONSTRAINT FK_21E210B22ADD6D8C FOREIGN KEY (supplier_id) REFERENCES supplier (id)');
$this->addSql('ALTER TABLE purchase_order ADD CONSTRAINT FK_21E210B25080ECDE FOREIGN KEY (warehouse_id) REFERENCES warehouse (id)');
$this->addSql('ALTER TABLE purchase_order_user ADD CONSTRAINT FK_CC51BB94A45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE purchase_order_user ADD CONSTRAINT FK_CC51BB94A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE purchase_order_item ADD CONSTRAINT FK_5ED948C3A45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id)');
$this->addSql('ALTER TABLE purchase_order_item ADD CONSTRAINT FK_5ED948C34584665A FOREIGN KEY (product_id) REFERENCES product (id)');
$this->addSql('ALTER TABLE purchase_order_note ADD CONSTRAINT FK_8E7F97C9A45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id)');
$this->addSql('ALTER TABLE purchase_order_note ADD CONSTRAINT FK_8E7F97C961220EA6 FOREIGN KEY (creator_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE shipment_booking ADD CONSTRAINT FK_BA4EB7BB52E40BE FOREIGN KEY (export_process_id) REFERENCES export_process (id)');
$this->addSql('ALTER TABLE gift_certificate DROP updated_at, DROP updated_by, DROP u_date, CHANGE created_at created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', CHANGE created_by created_by INT NOT NULL');
$this->addSql('ALTER TABLE gift_certificate ADD CONSTRAINT FK_16E9107DDE12AB56 FOREIGN KEY (created_by) REFERENCES user (id)');
$this->addSql('CREATE INDEX IDX_16E9107DDE12AB56 ON gift_certificate (created_by)');
$this->addSql('ALTER TABLE sales ADD deleted TINYINT(1) DEFAULT NULL');
$this->addSql('ALTER TABLE stock_take_products ADD price_fob DOUBLE PRECISION DEFAULT NULL, ADD price_navlun DOUBLE PRECISION DEFAULT NULL');
$this->addSql('ALTER TABLE stock_transfer DROP stock, DROP stock_transfer_containers');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE export_documentation DROP FOREIGN KEY FK_DFE34EC8B52E40BE');
$this->addSql('ALTER TABLE export_process DROP FOREIGN KEY FK_16D0359EA45D7E6A');
$this->addSql('ALTER TABLE export_process DROP FOREIGN KEY FK_16D0359E2ADD6D8C');
$this->addSql('ALTER TABLE lashing_operation DROP FOREIGN KEY FK_96E37023B52E40BE');
$this->addSql('ALTER TABLE product_supplier DROP FOREIGN KEY FK_509A06E94584665A');
$this->addSql('ALTER TABLE product_supplier DROP FOREIGN KEY FK_509A06E92ADD6D8C');
$this->addSql('ALTER TABLE production_tracking DROP FOREIGN KEY FK_500BD9F8B52E40BE');
$this->addSql('ALTER TABLE purchase_order DROP FOREIGN KEY FK_21E210B22ADD6D8C');
$this->addSql('ALTER TABLE purchase_order DROP FOREIGN KEY FK_21E210B25080ECDE');
$this->addSql('ALTER TABLE purchase_order_user DROP FOREIGN KEY FK_CC51BB94A45D7E6A');
$this->addSql('ALTER TABLE purchase_order_user DROP FOREIGN KEY FK_CC51BB94A76ED395');
$this->addSql('ALTER TABLE purchase_order_item DROP FOREIGN KEY FK_5ED948C3A45D7E6A');
$this->addSql('ALTER TABLE purchase_order_item DROP FOREIGN KEY FK_5ED948C34584665A');
$this->addSql('ALTER TABLE purchase_order_note DROP FOREIGN KEY FK_8E7F97C9A45D7E6A');
$this->addSql('ALTER TABLE purchase_order_note DROP FOREIGN KEY FK_8E7F97C961220EA6');
$this->addSql('ALTER TABLE shipment_booking DROP FOREIGN KEY FK_BA4EB7BB52E40BE');
$this->addSql('DROP TABLE export_documentation');
$this->addSql('DROP TABLE export_process');
$this->addSql('DROP TABLE lashing_operation');
$this->addSql('DROP TABLE product_supplier');
$this->addSql('DROP TABLE production_tracking');
$this->addSql('DROP TABLE purchase_order');
$this->addSql('DROP TABLE purchase_order_user');
$this->addSql('DROP TABLE purchase_order_item');
$this->addSql('DROP TABLE purchase_order_note');
$this->addSql('DROP TABLE shipment_booking');
$this->addSql('DROP TABLE supplier');
$this->addSql('ALTER TABLE gift_certificate DROP FOREIGN KEY FK_16E9107DDE12AB56');
$this->addSql('DROP INDEX IDX_16E9107DDE12AB56 ON gift_certificate');
$this->addSql('ALTER TABLE gift_certificate ADD updated_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', ADD updated_by VARCHAR(255) DEFAULT NULL, ADD u_date INT DEFAULT NULL, CHANGE created_by created_by VARCHAR(255) DEFAULT NULL, CHANGE created_at created_at DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\'');
$this->addSql('ALTER TABLE sales DROP deleted');
$this->addSql('ALTER TABLE stock_take_products DROP price_fob, DROP price_navlun');
$this->addSql('ALTER TABLE stock_transfer ADD stock VARCHAR(255) DEFAULT NULL, ADD stock_transfer_containers VARCHAR(255) DEFAULT NULL');
}
}