<?php 

use Phalcon\Db\Column;
use Phalcon\Db\Index;
use Phalcon\Db\Reference;
use Phalcon\Mvc\Model\Migration;

/**
 * Class SekolahDanaBos2018Migration_134
 */
class SekolahDanaBos2018Migration_134 extends Migration
{
    /**
     * Define the table structure
     *
     * @return void
     */
    public function morph()
    {
        $this->morphTable('sekolah_dana_bos_2018', [
                'columns' => [
                    new Column(
                        'id',
                        [
                            'type' => Column::TYPE_INTEGER,
                            'notNull' => true,
                            'autoIncrement' => true,
                            'first' => 'true'
                        ]
                    ),
                    new Column(
                        'sekolah_id',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'id'
                        ]
                    ),
                    new Column(
                        'nama_sekolah',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'sekolah_id'
                        ]
                    ),
                    new Column(
                        'npsn',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'nama_sekolah'
                        ]
                    ),
                    new Column(
                        'status',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'npsn'
                        ]
                    ),
                    new Column(
                        'bentuk',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'status'
                        ]
                    ),
                    new Column(
                        'triwulan',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'bentuk'
                        ]
                    ),
                    new Column(
                        'kec',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'triwulan'
                        ]
                    ),
                    new Column(
                        'kab',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'kec'
                        ]
                    ),
                    new Column(
                        'prov',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'kab'
                        ]
                    ),
                    new Column(
                        'komponen_1',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'prov'
                        ]
                    ),
                    new Column(
                        'komponen_2',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1'
                        ]
                    ),
                    new Column(
                        'komponen_3',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_2'
                        ]
                    ),
                    new Column(
                        'komponen_4',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_3'
                        ]
                    ),
                    new Column(
                        'komponen_5',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_4'
                        ]
                    ),
                    new Column(
                        'komponen_6',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_5'
                        ]
                    ),
                    new Column(
                        'komponen_7',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_6'
                        ]
                    ),
                    new Column(
                        'komponen_8',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_7'
                        ]
                    ),
                    new Column(
                        'komponen_9',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_8'
                        ]
                    ),
                    new Column(
                        'komponen_10',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_9'
                        ]
                    ),
                    new Column(
                        'komponen_11',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_10'
                        ]
                    ),
                    new Column(
                        'komponen_12',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_11'
                        ]
                    ),
                    new Column(
                        'komponen_13',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_12'
                        ]
                    ),
                    new Column(
                        'komponen_14',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_13'
                        ]
                    ),
                    new Column(
                        'komponen_15',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_14'
                        ]
                    ),
                    new Column(
                        'komponen_16',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_15'
                        ]
                    ),
                    new Column(
                        'komponen_17',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_16'
                        ]
                    ),
                    new Column(
                        'komponen_1_a_1',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_17'
                        ]
                    ),
                    new Column(
                        'komponen_1_a_2',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_a_1'
                        ]
                    ),
                    new Column(
                        'komponen_1_b_1',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_a_2'
                        ]
                    ),
                    new Column(
                        'komponen_1_b_2',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_b_1'
                        ]
                    ),
                    new Column(
                        'komponen_1_c_1',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_b_2'
                        ]
                    ),
                    new Column(
                        'komponen_1_c_2',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_c_1'
                        ]
                    ),
                    new Column(
                        'komponen_1_d_1',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_c_2'
                        ]
                    ),
                    new Column(
                        'komponen_1_d_2',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_d_1'
                        ]
                    ),
                    new Column(
                        'komponen_1_e_1',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_d_2'
                        ]
                    ),
                    new Column(
                        'komponen_1_a_3',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_e_1'
                        ]
                    ),
                    new Column(
                        'komponen_1_b_3',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_a_3'
                        ]
                    ),
                    new Column(
                        'komponen_1_c_3',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_b_3'
                        ]
                    ),
                    new Column(
                        'komponen_1_d_3',
                        [
                            'type' => Column::TYPE_VARCHAR,
                            'size' => 255,
                            'after' => 'komponen_1_c_3'
                        ]
                    )
                ],
                'indexes' => [
                    new Index('sekolah_dana_bos_2018_pkey', ['id'], 'PRIMARY KEY'),
                    new Index('sekolah_dana_bos_2018_prov_index', ['prov'], null)
                ],
            ]
        );
    }

    /**
     * Run the migrations
     *
     * @return void
     */
    public function up()
    {
		self::$connection->execute(
			'
				ALTER TABLE jaga.sekolah_dana_bos_2018
					ADD COLUMN last_updated timestamp without time zone NOT NULL DEFAULT now();
			');
    }

    /**
     * Reverse the migrations
     *
     * @return void
     */
    public function down()
    {

    }

}
