<?php

namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;

class AddFeederFieldsToMahasiswaTable extends Migration
{
    public function up()
    {
        $fields = [
            'id_mahasiswa_pddikti' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true, 'after' => 'id'],
            'id_registrasi_mahasiswa' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true, 'after' => 'id_mahasiswa_pddikti'],
            'angkatan' => ['type' => 'VARCHAR', 'constraint' => 4, 'null' => true, 'after' => 'prodi_id'],
            'nisn' => ['type' => 'VARCHAR', 'constraint' => 20, 'null' => true],
            'npwp' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'jalan' => ['type' => 'VARCHAR', 'constraint' => 255, 'null' => true],
            'dusun' => ['type' => 'VARCHAR', 'constraint' => 100, 'null' => true],
            'rt' => ['type' => 'VARCHAR', 'constraint' => 10, 'null' => true],
            'rw' => ['type' => 'VARCHAR', 'constraint' => 10, 'null' => true],
            'kelurahan' => ['type' => 'VARCHAR', 'constraint' => 100, 'null' => true],
            'kode_pos' => ['type' => 'VARCHAR', 'constraint' => 10, 'null' => true],
            'kecamatan' => ['type' => 'VARCHAR', 'constraint' => 100, 'null' => true],
            'jenis_tinggal' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'telepon' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'email_pribadi' => ['type' => 'VARCHAR', 'constraint' => 100, 'null' => true],
            'penerima_kps' => ['type' => 'VARCHAR', 'constraint' => 10, 'null' => true],
            'nomor_kps' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'no_rekening' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'nama_pemilik_rekening' => ['type' => 'VARCHAR', 'constraint' => 100, 'null' => true],
            'nama_bank' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'nik_ayah' => ['type' => 'VARCHAR', 'constraint' => 20, 'null' => true],
            'nama_ayah' => ['type' => 'VARCHAR', 'constraint' => 150, 'null' => true],
            'tanggal_lahir_ayah' => ['type' => 'DATE', 'null' => true],
            'pendidikan_ayah' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'pekerjaan_ayah' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'penghasilan_ayah' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'nik_ibu' => ['type' => 'VARCHAR', 'constraint' => 20, 'null' => true],
            'nama_ibu_kandung' => ['type' => 'VARCHAR', 'constraint' => 150, 'null' => true],
            'tanggal_lahir_ibu' => ['type' => 'DATE', 'null' => true],
            'pendidikan_ibu' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'pekerjaan_ibu' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'penghasilan_ibu' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'nama_wali' => ['type' => 'VARCHAR', 'constraint' => 150, 'null' => true],
            'tanggal_lahir_wali' => ['type' => 'DATE', 'null' => true],
            'pendidikan_wali' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'pekerjaan_wali' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
            'penghasilan_wali' => ['type' => 'VARCHAR', 'constraint' => 50, 'null' => true],
        ];

        $this->forge->addColumn('mahasiswa', $fields);
    }

    public function down()
    {
        $cols = [
            'id_mahasiswa_pddikti', 'id_registrasi_mahasiswa', 'angkatan', 'nisn', 'npwp', 'jalan', 'dusun', 'rt', 'rw',
            'kelurahan', 'kode_pos', 'kecamatan', 'jenis_tinggal', 'telepon', 'email_pribadi', 'penerima_kps',
            'nomor_kps', 'no_rekening', 'nama_pemilik_rekening', 'nama_bank', 'nik_ayah', 'nama_ayah',
            'tanggal_lahir_ayah', 'pendidikan_ayah', 'pekerjaan_ayah', 'penghasilan_ayah', 'nik_ibu',
            'nama_ibu_kandung', 'tanggal_lahir_ibu', 'pendidikan_ibu', 'pekerjaan_ibu', 'penghasilan_ibu',
            'nama_wali', 'tanggal_lahir_wali', 'pendidikan_wali', 'pekerjaan_wali', 'penghasilan_wali'
        ];
        $this->forge->dropColumn('mahasiswa', $cols);
    }
}
