Files
accounting_dev_v2/application/migrations/20260911000700_add_technician_attachment_permission.php
T
2026-09-11 16:03:00 +07:00

28 lines
1.1 KiB
PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Migration_Add_technician_attachment_permission extends CI_Migration
{
public function up()
{
if (!$this->db->table_exists('roles')) return;
foreach ($this->db->get('roles')->result() as $role) {
$permissions = json_decode((string) $role->permissions, true);
if (!is_array($permissions) || isset($permissions['technician_attachment'])) continue;
$source = $permissions['technician_equipment'] ?? ($permissions['items'] ?? array());
if (in_array('can_view', (array) $source, true)) {
$permissions['technician_attachment'] = array('can_view');
$this->db->where('id', $role->id)->update('roles', array(
'permissions' => json_encode($permissions),
'updated_at' => date('Y-m-d H:i:s')
));
}
}
}
public function down()
{
throw new RuntimeException('Permission lampiran peralatan teknisi dipertahankan.');
}
}