Files
thetool/db/migrations/20260117150000_add_order_movement_linking.php
2026-01-17 12:48:08 +00:00

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();
}
}
}