<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class PedidoTrackingTable extends AbstractMigration
{
    public function change(): void
    {
        $table = $this->table('pedido_tracking');
        $table
            ->addColumn('pedido_id', 'integer', ['signed' => false])
            ->addColumn('repartidor_id', 'integer', ['signed' => false])
            ->addColumn('lat', 'decimal', ['precision' => 10, 'scale' => 7])
            ->addColumn('lng', 'decimal', ['precision' => 10, 'scale' => 7])
            ->addColumn('rumbo', 'decimal', ['precision' => 6, 'scale' => 2, 'null' => true])
            ->addColumn('velocidad', 'decimal', ['precision' => 6, 'scale' => 2, 'null' => true])
            ->addColumn('created_at', 'timestamp', ['default' => 'CURRENT_TIMESTAMP'])
            ->addForeignKey('pedido_id', 'pedidos', 'id', ['delete' => 'CASCADE', 'update' => 'CASCADE'])
            ->addForeignKey('repartidor_id', 'repartidores', 'id', ['delete' => 'CASCADE', 'update' => 'CASCADE'])
            ->addIndex(['pedido_id', 'created_at'])
            ->create();
    }
}
