migrations/Delete/Version20250901151243_QualityNCR.php line 1
<?php
declare(strict_types=1);
namespace DoctrineMigrations\Delete;
use App\Doctrine\Type\Expediting\CasingMaterial;
use App\Doctrine\Type\Expediting\CasingType;
use App\Doctrine\Type\Expediting\NonConformityStatus;
use App\Doctrine\Type\Expediting\NonConformitySubject;
use App\Doctrine\Type\Expediting\NonConformityType;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20250901151243_QualityNCR extends AbstractMigration
{
public function getDescription(): string
{
return 'Add ops ncr';
}
public function up(Schema $schema): void
{
$this->addSql(NonConformitySubject::getRegistrationSQL());
$this->addSql(NonConformityType::getRegistrationSQL());
$this->addSql(NonConformityStatus::getRegistrationSQL());
$casingTypeType = CasingType::getName();
$casingMaterialType = CasingMaterial::getName();
$nonConformitySubject = NonConformitySubject::getName();
$nonConformityType = NonConformityType::getName();
$nonConformityStatus = NonConformityStatus::getName();
$this->addSql("CREATE TABLE non_conformity (
id SERIAL PRIMARY KEY,
ncr_id INTEGER REFERENCES public.non_conformity (id),
slug CHARACTER VARYING NOT NULL,
reference CHARACTER VARYING NOT NULL,
subject_reference CHARACTER VARYING,
invoices_numbers CHARACTER VARYING,
orders_numbers CHARACTER VARYING,
line_items CHARACTER VARYING,
description CHARACTER VARYING,
supplier CHARACTER VARYING,
casing_type {$casingTypeType},
casing_material {$casingMaterialType},
length DECIMAL(18, 3),
width DECIMAL(18, 3),
height DECIMAL(18, 3),
weight DECIMAL(18, 3),
subject_type {$nonConformitySubject} NOT NULL,
type {$nonConformityType} NOT NULL,
status {$nonConformityStatus} NOT NULL,
created_by INTEGER REFERENCES public.user (id),
updated_by INTEGER REFERENCES public.user (id),
created_at TIMESTAMP(0) WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP(0) WITH TIME ZONE,
deleted_at TIMESTAMP(0) WITH TIME ZONE
)");
$this->addSql("CREATE INDEX non_conformity_ncr_id_idx ON non_conformity (ncr_id)");
$this->addSql("CREATE INDEX non_conformity_created_by_idx ON non_conformity (created_by)");
$this->addSql("CREATE INDEX non_conformity_updated_by_idx ON non_conformity (updated_by)");
}
public function down(Schema $schema): void
{
$this->addSql("DROP TABLE IF EXISTS non_conformity");
$this->addSql(NonConformityStatus::getDeletionSQL());
$this->addSql(NonConformityType::getDeletionSQL());
$this->addSql(NonConformitySubject::getDeletionSQL());
}
}