<?php

use Phalcon\Mvc\Model\Migration;

class SekolahDanaBos2023Migration_435 extends Migration {
    public function up()
    {
        self::$connection->execute("
            DROP TABLE IF EXISTS jaga.sekolah_dana_bos_2023;
            CREATE TABLE jaga.sekolah_dana_bos_2023 (
              id serial primary key,
              sekolah_id varchar(255),
              nama_sekolah varchar(255),
              npsn varchar(255),
              status varchar(255),
              bentuk varchar(255),
              triwulan varchar(255),
              kec varchar(255),
              kab varchar(255),
              prov varchar(255),
              komponen_1 varchar(255),
              komponen_2 varchar(255),
              komponen_3 varchar(255),
              komponen_4 varchar(255),
              komponen_5 varchar(255),
              komponen_6 varchar(255),
              komponen_7 varchar(255),
              komponen_8 varchar(255),
              komponen_9 varchar(255),
              komponen_10 varchar(255),
              komponen_11 varchar(255),
              komponen_12 varchar(255),
              komponen_13 varchar(255),
              komponen_14 varchar(255),
              komponen_15 varchar(255),
              komponen_16 varchar(255),
              komponen_17 varchar(255),
              komponen_1_a_1 varchar(255),
              komponen_1_a_2 varchar(255),
              komponen_1_b_1 varchar(255),
              komponen_1_b_2 varchar(255),
              komponen_1_c_1 varchar(255),
              komponen_1_c_2 varchar(255),
              komponen_1_d_1 varchar(255),
              komponen_1_d_2 varchar(255),
              komponen_1_e_1 varchar(255),
              komponen_1_a_3 varchar(255),
              komponen_1_b_3 varchar(255),
              komponen_1_c_3 varchar(255),
              komponen_1_d_3 varchar(255),
              last_updated timestamp(6) not null default now()
            );
        ");

        self::$connection->execute("
            CREATE TABLE IF NOT EXISTS jaga.penerima_bos(
              npsn          VARCHAR(10) NOT NULL
              ,tahun        INTEGER NOT NULL
              ,jenis_salur  VARCHAR(30) NOT NULL
            );
            CREATE INDEX IF NOT EXISTS idx_penerima_bos_npsn ON penerima_bos USING btree (npsn);
            CREATE INDEX IF NOT EXISTS idx_penerima_bos_tahun ON penerima_bos USING btree (tahun);
            CREATE INDEX IF NOT EXISTS idx_penerima_bos_jenis_salur ON penerima_bos USING btree (jenis_salur);
        ");

        $sql = file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'penerima_bos_2020_2023.sql');
        self::$connection->execute($sql);
    }

    public function down()
    {
        self::$connection->execute("
            DROP TABLE IF EXISTS jaga.sekolah_dana_bos_2023;

            DROP INDEX IF EXISTS idx_penerima_bos_npsn;
            DROP INDEX IF EXISTS idx_penerima_bos_tahun;
            DROP INDEX IF EXISTS idx_penerima_bos_jenis_salur;
            DROP TABLE IF EXISTS jaga.penerima_bos;
        ");
    }
}
