migrations/Version20251226074522.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 Version20251226074522 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 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');
  19.         $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');
  20.         $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');
  21.         $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');
  22.         $this->addSql('ALTER TABLE purchase_order ADD CONSTRAINT FK_21E210B22ADD6D8C FOREIGN KEY (supplier_id) REFERENCES supplier (id)');
  23.         $this->addSql('ALTER TABLE purchase_order ADD CONSTRAINT FK_21E210B25080ECDE FOREIGN KEY (warehouse_id) REFERENCES warehouse (id)');
  24.         $this->addSql('ALTER TABLE purchase_order_user ADD CONSTRAINT FK_CC51BB94A45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id) ON DELETE CASCADE');
  25.         $this->addSql('ALTER TABLE purchase_order_user ADD CONSTRAINT FK_CC51BB94A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
  26.         $this->addSql('ALTER TABLE purchase_order_item ADD CONSTRAINT FK_5ED948C3A45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id)');
  27.         $this->addSql('ALTER TABLE purchase_order_item ADD CONSTRAINT FK_5ED948C34584665A FOREIGN KEY (product_id) REFERENCES product (id)');
  28.         $this->addSql('ALTER TABLE purchase_order_note ADD CONSTRAINT FK_8E7F97C9A45D7E6A FOREIGN KEY (purchase_order_id) REFERENCES purchase_order (id)');
  29.         $this->addSql('ALTER TABLE purchase_order_note ADD CONSTRAINT FK_8E7F97C961220EA6 FOREIGN KEY (creator_id) REFERENCES user (id)');
  30.     }
  31.     public function down(Schema $schema): void
  32.     {
  33.         // this down() migration is auto-generated, please modify it to your needs
  34.         $this->addSql('ALTER TABLE purchase_order DROP FOREIGN KEY FK_21E210B22ADD6D8C');
  35.         $this->addSql('ALTER TABLE purchase_order DROP FOREIGN KEY FK_21E210B25080ECDE');
  36.         $this->addSql('ALTER TABLE purchase_order_user DROP FOREIGN KEY FK_CC51BB94A45D7E6A');
  37.         $this->addSql('ALTER TABLE purchase_order_user DROP FOREIGN KEY FK_CC51BB94A76ED395');
  38.         $this->addSql('ALTER TABLE purchase_order_item DROP FOREIGN KEY FK_5ED948C3A45D7E6A');
  39.         $this->addSql('ALTER TABLE purchase_order_item DROP FOREIGN KEY FK_5ED948C34584665A');
  40.         $this->addSql('ALTER TABLE purchase_order_note DROP FOREIGN KEY FK_8E7F97C9A45D7E6A');
  41.         $this->addSql('ALTER TABLE purchase_order_note DROP FOREIGN KEY FK_8E7F97C961220EA6');
  42.         $this->addSql('DROP TABLE purchase_order');
  43.         $this->addSql('DROP TABLE purchase_order_user');
  44.         $this->addSql('DROP TABLE purchase_order_item');
  45.         $this->addSql('DROP TABLE purchase_order_note');
  46.     }
  47. }