<?php

namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;

class AddModulFieldColumnsToLearningDeviceModuls extends Migration
{
    public function up()
    {
        $this->forge->addColumn('learning_device_moduls', [
            // I. INFORMASI UMUM
            'kompetensi_awal' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'topic',
            ],
            'sarana_prasarana' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'kompetensi_awal',
            ],
            'target_peserta_didik' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'sarana_prasarana',
            ],
            'model_pembelajaran' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'target_peserta_didik',
            ],
            // II. KOMPONEN INTI
            'pemahaman_bermakna' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'model_pembelajaran',
            ],
            'pertanyaan_pemantik' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'pemahaman_bermakna',
            ],
            'materi_esensial' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'pertanyaan_pemantik',
            ],
            // III. SKENARIO PEMBELAJARAN
            'skenario_pembelajaran' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'materi_esensial',
            ],
            // IV. ASESMEN
            'asesmen_diagnostik' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'skenario_pembelajaran',
            ],
            'asesmen_formatif' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'asesmen_diagnostik',
            ],
            'asesmen_sumatif' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'asesmen_formatif',
            ],
            // V. PENGAYAAN & REMEDIAL
            'pengayaan' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'asesmen_sumatif',
            ],
            'remedial' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'pengayaan',
            ],
            // VI. LAMPIRAN
            'lkpd' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'remedial',
            ],
            'glosarium' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'lkpd',
            ],
            'daftar_pustaka' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'glosarium',
            ],
            // Metadata
            'jumlah_pertemuan' => [
                'type' => 'INT',
                'constraint' => 11,
                'unsigned' => true,
                'default' => 0,
                'after' => 'daftar_pustaka',
            ],
            'field_status' => [
                'type' => 'TEXT',
                'null' => true,
                'after' => 'jumlah_pertemuan',
            ],
        ]);
    }

    public function down()
    {
        $this->forge->dropColumn('learning_device_moduls', [
            'kompetensi_awal',
            'sarana_prasarana',
            'target_peserta_didik',
            'model_pembelajaran',
            'pemahaman_bermakna',
            'pertanyaan_pemantik',
            'materi_esensial',
            'skenario_pembelajaran',
            'asesmen_diagnostik',
            'asesmen_formatif',
            'asesmen_sumatif',
            'pengayaan',
            'remedial',
            'lkpd',
            'glosarium',
            'daftar_pustaka',
            'jumlah_pertemuan',
            'field_status',
        ]);
    }
}
