migrations/Version20251231084414.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20251231084414 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $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');
  19.         $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');
  20.         $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');
  21.         $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');
  22.         $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, 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');
  23.         $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');
  24.         $this->addSql('ALTER TABLE product_supplier ADD CONSTRAINT FK_509A06E94584665A FOREIGN KEY (product_id) REFERENCES product (id) ON DELETE CASCADE');
  25.         $this->addSql('ALTER TABLE product_supplier ADD CONSTRAINT FK_509A06E92ADD6D8C FOREIGN KEY (supplier_id) REFERENCES supplier (id) ON DELETE CASCADE');
  26.         $this->addSql('ALTER TABLE purchase_order ADD CONSTRAINT FK_21E210B22ADD6D8C FOREIGN KEY (supplier_id) REFERENCES supplier (id)');
  27.         $this->addSql('ALTER TABLE purchase_order ADD CONSTRAINT FK_21E210B25080ECDE FOREIGN KEY (warehouse_id) REFERENCES warehouse (id)');
  28.         $this->addSql('ALTER TABLE purchase_order_user ADD CONSTRAINT FK_CC51BB94A45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id) ON DELETE CASCADE');
  29.         $this->addSql('ALTER TABLE purchase_order_user ADD CONSTRAINT FK_CC51BB94A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
  30.         $this->addSql('ALTER TABLE purchase_order_item ADD CONSTRAINT FK_5ED948C3A45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id)');
  31.         $this->addSql('ALTER TABLE purchase_order_item ADD CONSTRAINT FK_5ED948C34584665A FOREIGN KEY (product_id) REFERENCES product (id)');
  32.         $this->addSql('ALTER TABLE purchase_order_note ADD CONSTRAINT FK_8E7F97C9A45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id)');
  33.         $this->addSql('ALTER TABLE purchase_order_note ADD CONSTRAINT FK_8E7F97C961220EA6 FOREIGN KEY (creator_id) REFERENCES user (id)');
  34.         $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');
  35.         $this->addSql('ALTER TABLE gift_certificate ADD CONSTRAINT FK_16E9107DDE12AB56 FOREIGN KEY (created_by) REFERENCES user (id)');
  36.         $this->addSql('CREATE INDEX IDX_16E9107DDE12AB56 ON gift_certificate (created_by)');
  37.         $this->addSql('ALTER TABLE sales ADD deleted TINYINT(1) DEFAULT NULL');
  38.         $this->addSql('ALTER TABLE stock_take_products ADD price_fob DOUBLE PRECISION DEFAULT NULL, ADD price_navlun DOUBLE PRECISION DEFAULT NULL');
  39.         $this->addSql('ALTER TABLE stock_transfer DROP stock, DROP stock_transfer_containers');
  40.     }
  41.     public function down(Schema $schema): void
  42.     {
  43.         // this down() migration is auto-generated, please modify it to your needs
  44.         $this->addSql('ALTER TABLE product_supplier DROP FOREIGN KEY FK_509A06E94584665A');
  45.         $this->addSql('ALTER TABLE product_supplier DROP FOREIGN KEY FK_509A06E92ADD6D8C');
  46.         $this->addSql('ALTER TABLE purchase_order DROP FOREIGN KEY FK_21E210B22ADD6D8C');
  47.         $this->addSql('ALTER TABLE purchase_order DROP FOREIGN KEY FK_21E210B25080ECDE');
  48.         $this->addSql('ALTER TABLE purchase_order_user DROP FOREIGN KEY FK_CC51BB94A45D7E6A');
  49.         $this->addSql('ALTER TABLE purchase_order_user DROP FOREIGN KEY FK_CC51BB94A76ED395');
  50.         $this->addSql('ALTER TABLE purchase_order_item DROP FOREIGN KEY FK_5ED948C3A45D7E6A');
  51.         $this->addSql('ALTER TABLE purchase_order_item DROP FOREIGN KEY FK_5ED948C34584665A');
  52.         $this->addSql('ALTER TABLE purchase_order_note DROP FOREIGN KEY FK_8E7F97C9A45D7E6A');
  53.         $this->addSql('ALTER TABLE purchase_order_note DROP FOREIGN KEY FK_8E7F97C961220EA6');
  54.         $this->addSql('DROP TABLE product_supplier');
  55.         $this->addSql('DROP TABLE purchase_order');
  56.         $this->addSql('DROP TABLE purchase_order_user');
  57.         $this->addSql('DROP TABLE purchase_order_item');
  58.         $this->addSql('DROP TABLE purchase_order_note');
  59.         $this->addSql('DROP TABLE supplier');
  60.         $this->addSql('ALTER TABLE gift_certificate DROP FOREIGN KEY FK_16E9107DDE12AB56');
  61.         $this->addSql('DROP INDEX IDX_16E9107DDE12AB56 ON gift_certificate');
  62.         $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)\'');
  63.         $this->addSql('ALTER TABLE sales DROP deleted');
  64.         $this->addSql('ALTER TABLE stock_take_products DROP price_fob, DROP price_navlun');
  65.         $this->addSql('ALTER TABLE stock_transfer ADD stock VARCHAR(255) DEFAULT NULL, ADD stock_transfer_containers VARCHAR(255) DEFAULT NULL');
  66.     }
  67. }