Files
accounting_dev_v2/application/migrations/20260905000400_simplify_supplier_invoice_status.php
2026-09-11 16:03:00 +07:00

25 lines
1.5 KiB
PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Migration_Simplify_supplier_invoice_status extends CI_Migration
{
public function up()
{
if(!$this->db->table_exists('supplier_invoices'))return;
$this->db->query("ALTER TABLE supplier_invoices MODIFY status ENUM('draft','submitted','approved','verified','posted','partial','paid','cancelled','reversed') NOT NULL DEFAULT 'verified'");
$this->db->query("UPDATE supplier_invoices SET status='verified' WHERE status IN('draft','submitted','approved')");
$this->db->query("UPDATE supplier_invoices SET status='partial' WHERE status='posted' AND balance>0");
$this->db->query("UPDATE supplier_invoices SET status='paid',balance=0 WHERE status='posted' AND balance<=0");
$this->db->query("ALTER TABLE supplier_invoices MODIFY status ENUM('verified','partial','paid','cancelled','reversed') NOT NULL DEFAULT 'verified'");
}
public function down()
{
if(!$this->db->table_exists('supplier_invoices'))return;
$this->db->query("ALTER TABLE supplier_invoices MODIFY status ENUM('draft','submitted','approved','verified','posted','partial','paid','cancelled','reversed') NOT NULL DEFAULT 'draft'");
$this->db->query("UPDATE supplier_invoices SET status='approved' WHERE status='verified'");
$this->db->query("UPDATE supplier_invoices SET status='posted' WHERE status='partial' AND paid_amount<=0");
$this->db->query("ALTER TABLE supplier_invoices MODIFY status ENUM('draft','submitted','approved','posted','partial','paid','cancelled','reversed') NOT NULL DEFAULT 'draft'");
}
}