<?php

use Phalcon\Mvc\Model\Migration;

class KemenkeuAPBDMigration_259 extends Migration
{
    public function up()
    {
        self::$connection->execute('
            CREATE TABLE IF NOT EXISTS "jaga"."kemenkeu_apbd" (
                id SERIAL PRIMARY KEY,
                kab_key VARCHAR,
                kab_key_org VARCHAR,
                pemda_index VARCHAR,
                kdsatker VARCHAR,
                no INTEGER,
                uraian VARCHAR,
                th_anggaran VARCHAR,
                last_updated VARCHAR,
                pendapatan_daerah NUMERIC(18,2),
                pendapatan_asli_daerah NUMERIC(18,2),
                hasil_pajak_daerah NUMERIC(18,2),
                hasil_retribusi_daerah NUMERIC(18,2),
                hasil_pengelolaan_kekayaan_daerah_yang_dipisahkan NUMERIC(18,2),
                lainlain_pendapatan_asli_daerah_yang_sah NUMERIC(18,2),
                dana_perimbangan NUMERIC(18,2),
                bagi_hasil_pajak_bagi_hasil_bukan_pajak NUMERIC(18,2),
                dana_alokasi_umum NUMERIC(18,2),
                dana_alokasi_khusus NUMERIC(18,2),
                lainlain_pendapatan_daerah_yang_sah NUMERIC(18,2),
                pendapatan_hibah NUMERIC(18,2),
                dana_darurat NUMERIC(18,2),
                dana_bagi_hasil_pajak_dari_provinsi_dan_pemerintah_daerah_lain NUMERIC(18,2),
                dana_penyesuaian_dan_otonomi_khusus NUMERIC(18,2),
                bantuan_keuangan_dari_provinsi_atau_pemerintah_daerah_lainnya NUMERIC(18,2),
                pendapatan_lainlain NUMERIC(18,2),
                belanja_daerah NUMERIC(18,2),
                belanja_tidak_langsung NUMERIC(18,2),
                belanja_pegawai_tl NUMERIC(18,2),
                belanja_bunga NUMERIC(18,2),
                belanja_subsidi NUMERIC(18,2),
                belanja_hibah NUMERIC(18,2),
                belanja_bantuan_sosial NUMERIC(18,2),
                belanja_bagi_hasil_kepada_prokabkot_dan_pemerintah_desa NUMERIC(18,2),
                belanja_bantuan_keuangan_kepada_provkabkot_dan_pem_des NUMERIC(18,2),
                belanja_tidak_terduga NUMERIC(18,2),
                belanja_langsung NUMERIC(18,2),
                belanja_pegawai_l NUMERIC(18,2),
                belanja_barang_dan_jasa NUMERIC(18,2),
                belanja_modal NUMERIC(18,2),
                pembiayaan_daerah NUMERIC(18,2),
                penerimaan_pembiayaan_daerah NUMERIC(18,2),
                sisa_lebih_perhitungan_anggaran_tahun_anggaran_sebelumnya NUMERIC(18,2),
                pencairan_dana_cadangan NUMERIC(18,2),
                hasil_penjualan_kekayaan_daerah_yang_dipisahkan NUMERIC(18,2),
                penerimaan_pinjaman_daerah NUMERIC(18,2),
                penerimaan_kembali_pemberian_pinjaman NUMERIC(18,2),
                penerimaan_piutang_daerah NUMERIC(18,2),
                penerimaan_kembali_investasi_dana_bergulir NUMERIC(18,2),
                pengeluaran_pembiayaan_daerah NUMERIC(18,2),
                pembentukan_dana_cadangan NUMERIC(18,2),
                penyertaan_modal_investasi_pemerintah_daerah NUMERIC(18,2),
                pembayaran_pokok_utang NUMERIC(18,2),
                pemberian_pinjaman_daerah NUMERIC(18,2),
                pembayaran_kegiatan_lanjutan NUMERIC(18,2),
                pengeluaran_perhitungan_pihak_ketiga NUMERIC(18,2),
                status VARCHAR,
                created_at timestamp(6) DEFAULT now(),
                updated_at timestamp(6) DEFAULT now(),
                deleted_at timestamp(6)
            );
        ');

        $this->batchInsert('kemenkeu_apbd', [
            'id',
            'kab_key',
            'kab_key_org',
            'pemda_index',
            'kdsatker',
            'no',
            'uraian',
            'th_anggaran',
            'last_updated',
            'pendapatan_daerah',
            'pendapatan_asli_daerah',
            'hasil_pajak_daerah',
            'hasil_retribusi_daerah',
            'hasil_pengelolaan_kekayaan_daerah_yang_dipisahkan',
            'lainlain_pendapatan_asli_daerah_yang_sah',
            'dana_perimbangan',
            'bagi_hasil_pajak_bagi_hasil_bukan_pajak',
            'dana_alokasi_umum',
            'dana_alokasi_khusus',
            'lainlain_pendapatan_daerah_yang_sah',
            'pendapatan_hibah',
            'dana_darurat',
            'dana_bagi_hasil_pajak_dari_provinsi_dan_pemerintah_daerah_lain',
            'dana_penyesuaian_dan_otonomi_khusus',
            'bantuan_keuangan_dari_provinsi_atau_pemerintah_daerah_lainnya',
            'pendapatan_lainlain',
            'belanja_daerah',
            'belanja_tidak_langsung',
            'belanja_pegawai_tl',
            'belanja_bunga',
            'belanja_subsidi',
            'belanja_hibah',
            'belanja_bantuan_sosial',
            'belanja_bagi_hasil_kepada_prokabkot_dan_pemerintah_desa',
            'belanja_bantuan_keuangan_kepada_provkabkot_dan_pem_des',
            'belanja_tidak_terduga',
            'belanja_langsung',
            'belanja_pegawai_l',
            'belanja_barang_dan_jasa',
            'belanja_modal',
            'pembiayaan_daerah',
            'penerimaan_pembiayaan_daerah',
            'sisa_lebih_perhitungan_anggaran_tahun_anggaran_sebelumnya',
            'pencairan_dana_cadangan',
            'hasil_penjualan_kekayaan_daerah_yang_dipisahkan',
            'penerimaan_pinjaman_daerah',
            'penerimaan_kembali_pemberian_pinjaman',
            'penerimaan_piutang_daerah',
            'penerimaan_kembali_investasi_dana_bergulir',
            'pengeluaran_pembiayaan_daerah',
            'pembentukan_dana_cadangan',
            'penyertaan_modal_investasi_pemerintah_daerah',
            'pembayaran_pokok_utang',
            'pemberian_pinjaman_daerah',
            'pembayaran_kegiatan_lanjutan',
            'pengeluaran_perhitungan_pihak_ketiga',
            'status'
        ]);

        self::$connection->execute("SELECT setval('kemenkeu_apbd_id_seq', (SELECT MAX(id) FROM jaga.kemenkeu_apbd));");
    }
}
