migrations/Delete/Version20241011145526_ExpeditingBatch.php line 1
<?php
declare(strict_types=1);
namespace DoctrineMigrations\Delete;
use App\Doctrine\Type\Expediting\TransportMode;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20241011145526_ExpeditingBatch extends AbstractMigration
{
public function getDescription(): string
{
return 'Add expediting batch';
}
public function up(Schema $schema): void
{
$transportModeType = TransportMode::getName();
$this->addSql("CREATE TABLE expediting_z_batch (
id SERIAL PRIMARY KEY,
slug CHARACTER VARYING NOT NULL,
reference CHARACTER VARYING NOT NULL,
jv BOOLEAN,
dg BOOLEAN,
transport_mode {$transportModeType} NOT NULL,
carrier CHARACTER VARYING,
vessel CHARACTER VARYING,
bill_number CHARACTER VARYING,
booking_number CHARACTER VARYING,
vector_reference CHARACTER VARYING,
place_of_loading CHARACTER VARYING,
place_of_discharge CHARACTER VARYING,
departure_country_code CHARACTER VARYING NOT NULL,
hub_country_code CHARACTER VARYING,
description CHARACTER VARYING,
buyer JSONB,
shipper JSONB,
consignee JSONB,
notify_party JSONB,
form_m CHARACTER VARYING,
ba_number CHARACTER VARYING,
weight DECIMAL(18, 2),
volume DECIMAL(18, 2),
value DECIMAL(18, 2),
pickup_cost DECIMAL(18, 5),
freight_cost DECIMAL(18, 5),
green_lit_on DATE,
booked_on DATE,
etd DATE,
atd DATE,
eta DATE,
ata DATE,
customs_on DATE,
delivered_on DATE,
metadata JSONB,
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,
CONSTRAINT expediting_z_batch_slug_key UNIQUE (slug),
CONSTRAINT expediting_z_batch_reference_key UNIQUE (reference)
)");
$this->addSql("COMMENT ON COLUMN expediting_z_batch.buyer IS '(DC2Type:json_document)'");
$this->addSql("COMMENT ON COLUMN expediting_z_batch.shipper IS '(DC2Type:json_document)'");
$this->addSql("COMMENT ON COLUMN expediting_z_batch.consignee IS '(DC2Type:json_document)'");
$this->addSql("COMMENT ON COLUMN expediting_z_batch.notify_party IS '(DC2Type:json_document)'");
$this->addSql("COMMENT ON COLUMN expediting_z_batch.metadata IS '(DC2Type:json_document)'");
$this->addSql("CREATE INDEX expediting_z_batch_created_by_idx ON expediting_z_batch (created_by)");
$this->addSql("CREATE INDEX expediting_z_batch_updated_by_idx ON expediting_z_batch (updated_by)");
}
public function down(Schema $schema): void
{
$this->addSql("DROP TABLE IF EXISTS expediting_z_batch");
}
}