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'"); } }