migrations/Delete/Version20241210130245_InventoryMaterial.php line 1

  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations\Delete;
  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 Version20241210130245_InventoryMaterial extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'Add inventory material table';
  14.     }
  15.     public function up(Schema $schema) : void
  16.     {
  17.         $this->addSql('CREATE TABLE inventory_x_material (
  18.             id                          SERIAL PRIMARY KEY,
  19.             slug                        CHARACTER VARYING NOT NULL,
  20.             order_number                CHARACTER VARYING NOT NULL,
  21.             item_number                 CHARACTER VARYING NOT NULL,
  22.             material_number             CHARACTER VARYING NOT NULL,
  23.             supplier_part_number        CHARACTER VARYING,
  24.             description                 CHARACTER VARYING NOT NULL,
  25.             supplier                    CHARACTER VARYING NOT NULL,
  26.             owner                       CHARACTER VARYING,
  27.             preservation                CHARACTER VARYING,
  28.             Searchable                  CHARACTER VARYING,
  29.             quantity                    INTEGER           NOT NULL,
  30.             unit_price                  DECIMAL(18, 2)    NOT NULL,
  31.             value                       DECIMAL(18, 2)    NOT NULL,
  32.             currency                    CHARACTER VARYING(3),
  33.             spfr                        CHARACTER VARYING,
  34.             
  35.             degrouped                   BOOLEAN,
  36.             certified                   BOOLEAN,
  37.             fat_required                BOOLEAN           NOT NULL DEFAULT false,
  38.             retired                     BOOLEAN           NOT NULL DEFAULT false,
  39.             
  40.             expeditable                 BOOLEAN,
  41.             dangerous                   BOOLEAN,
  42.             prohibited                  BOOLEAN,
  43.             created_by                  INTEGER                              REFERENCES public.user (id),
  44.             updated_by                  INTEGER                              REFERENCES public.user (id),
  45.             created_at                  TIMESTAMP(0) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
  46.             updated_at                  TIMESTAMP(0) WITH TIME ZONE,
  47.             deleted_at                  TIMESTAMP(0) WITH TIME ZONE,
  48.             
  49.             CONSTRAINT inventory_x_material_slug_key UNIQUE (slug)
  50.         )');
  51.         $this->addSql("CREATE INDEX inventory_x_material_created_by_idx ON inventory_x_material (created_by)");
  52.         $this->addSql("CREATE INDEX inventory_x_material_updated_by_idx ON inventory_x_material (updated_by)");
  53.     }
  54.     public function down(Schema $schema) : void
  55.     {
  56.         $this->addSql('DROP TABLE IF EXISTS inventory_x_material');
  57.     }
  58. }