mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
91 lines
2.7 KiB
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');
|
|
}
|
|
}
|