44 lines
1.5 KiB
PHP
44 lines
1.5 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
use Phinx\Migration\AbstractMigration;
|
|
|
|
final class AddOrderMovementLinking extends AbstractMigration
|
|
{
|
|
public function up(): void
|
|
{
|
|
if ($this->getEnvironment() == "thetool") {
|
|
// Add columns to WarehouseOrder for linking to movements and delivery note files
|
|
$orderTable = $this->table('WarehouseOrder');
|
|
$orderTable
|
|
->addColumn('linkedMovementIds', 'text', ['null' => true, 'after' => 'note'])
|
|
->addColumn('deliveryNoteFileIds', 'text', ['null' => true, 'after' => 'linkedMovementIds'])
|
|
->update();
|
|
|
|
// Add column to WarehouseMovement for linking back to orders
|
|
$movementTable = $this->table('WarehouseMovement');
|
|
$movementTable
|
|
->addColumn('linkedOrderId', 'integer', ['null' => true, 'signed' => false, 'after' => 'note'])
|
|
->addIndex(['linkedOrderId'], ['name' => 'idx_linkedOrderId'])
|
|
->update();
|
|
}
|
|
}
|
|
|
|
public function down(): void
|
|
{
|
|
if ($this->getEnvironment() == "thetool") {
|
|
$orderTable = $this->table('WarehouseOrder');
|
|
$orderTable
|
|
->removeColumn('linkedMovementIds')
|
|
->removeColumn('deliveryNoteFileIds')
|
|
->update();
|
|
|
|
$movementTable = $this->table('WarehouseMovement');
|
|
$movementTable
|
|
->removeIndex(['linkedOrderId'])
|
|
->removeColumn('linkedOrderId')
|
|
->update();
|
|
}
|
|
}
|
|
}
|