Files
safekat/ci4/app/Database/Migrations/2025-04-20-203000_update_envios_albaranes.php

91 lines
2.7 KiB
PHP

<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class UpdateEnviosAlbaranes extends Migration
{
public function up()
{
// 1. Quitar columnas de envios_lineas
$this->forge->dropColumn('envios_lineas', ['cajas', 'unidades_cajas']);
// 2. Añadir columna 'cajas' en envios
$this->forge->addColumn('envios', [
'cajas' => [
'type' => 'INT',
'constraint' => 11,
'default' => 0,
'after' => 'comentarios'
]
]);
// 2. Quitar columna multienvio de envios
$this->forge->dropColumn('envios', 'multienvio');
// 3. Añadir columna 'cajas' en albaranes
$this->forge->addColumn('albaranes', [
'cajas' => [
'type' => 'INT',
'constraint' => 11,
'default' => 0,
'after' => 'envio_id'
]
]);
// 4. Añadir columna 'pedido_linea_id' a albaranes_lineas
$this->forge->addColumn('albaranes_lineas', [
'pedido_linea_id' => [
'type' => 'INT',
'constraint' => 11,
'unsigned' => true,
'null' => true,
'after' => 'albaran_id'
]
]);
// 5. Foreign key a pedidos_lineas
$this->db->query("
ALTER TABLE albaranes_lineas
ADD CONSTRAINT fk_albaranes_lineas_pedido_linea
FOREIGN KEY (pedido_linea_id) REFERENCES pedidos_linea(id)
ON DELETE SET NULL ON UPDATE CASCADE
");
}
public function down()
{
// Revertir cajas en envios_lineas
$this->forge->addColumn('envios_lineas', [
'cajas' => [
'type' => 'INT',
'constraint' => 11,
'null' => true,
],
'unidades_cajas' => [
'type' => 'INT',
'constraint' => 11,
'null' => true,
]
]);
$this->forge->addColumn('envios', [
'multienvio' => [
'type' => 'TINYINT',
'constraint' => 3,
'unsigned' => true,
'default' => 0
]
]);
// Quitar columnas añadidas
$this->forge->dropColumn('envios', 'cajas');
$this->forge->dropColumn('albaranes', 'cajas');
// Quitar foreign y columna pedido_linea_id
$this->db->query("ALTER TABLE albaranes_lineas DROP FOREIGN KEY fk_albaranes_lineas_pedido_linea");
$this->forge->dropColumn('albaranes_lineas', 'pedido_linea_id');
}
}