|
Server : LiteSpeed System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : elvh3918 ( 1528) PHP Version : 8.2.31 Disable Function : mail Directory : /home/elvh3918/public_html/tenant/database/migrations/ |
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\DB;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
DB::unprepared('DROP VIEW IF EXISTS vw_permission_views');
DB::unprepared(
"CREATE VIEW vw_permission_views AS
SELECT
project, module, unit, program,
MAX(CASE WHEN permission = 'view' THEN id ELSE
CASE WHEN project = 'admin' THEN id ELSE 0 END
END) AS view,
MAX(CASE WHEN permission = 'create' THEN id ELSE 0 END) AS 'create',
MAX(CASE WHEN permission = 'edit' THEN id ELSE 0 END) AS edit,
MAX(CASE WHEN permission = 'delete' THEN id ELSE 0 END) AS 'delete',
MAX(CASE WHEN permission = 'print' THEN id ELSE 0 END) AS print,
MAX(is_active) AS is_active
FROM
vw_permissions
GROUP BY project, module, unit, program
ORDER BY project, module, unit, program
;
");
}
/**
* Reverse the migrations.
*/
public function down(): void
{
DB::unprepared('DROP VIEW IF EXISTS vw_permission_views');
}
};