<?php

use Phalcon\Mvc\Model\Migration;

class PakQuestionnaireCategoryMigration_313 extends Migration
{
    public function up()
    {
        $this->down();

        //NOTE: Create Table Questionnaire Category
        self::$connection->execute("
            CREATE TABLE jaga.pak_questionnaire_category
            (
                id bigserial NOT NULL,
                uuid character varying(100) DEFAULT uuid_generate_v4(),
            	title character varying (255) NOT NULL,
            	views_order integer,
            	created_at timestamp(6) DEFAULT now(),
            	
                PRIMARY KEY (id)
            )
            WITH (
                OIDS = FALSE
            );
        ");

        //NOTE: Insert Data Quest Category
        self::$connection->execute("
        INSERT INTO jaga.pak_questionnaire_category(title, views_order) VALUES ('Regulasi', 1);
        INSERT INTO jaga.pak_questionnaire_category(title, views_order) VALUES ('Rencana Kerja', 2);
        INSERT INTO jaga.pak_questionnaire_category(title, views_order) VALUES ('Pelaksanaan', 3);
        INSERT INTO jaga.pak_questionnaire_category(title, views_order) VALUES ('Evaluasi', 4);
        ");

        //NOTE: Add column `questionnaire_category_id` pada table `pak_questionnaire`
        self::$connection->execute("
        ALTER TABLE jaga.pak_questionnaire ADD COLUMN questionnaire_category_id bigint;
        ");

        //NOTE: Remove column `type` pada table `topik_dikusi_bansos`
        self::$connection->execute("
        ALTER TABLE jaga.pak_questionnaire DROP COLUMN IF EXISTS views_order;
        ");
    }


    public function down()
    {
        //NOTE: Add column `views_order` pada table `pak_questionnaire`
        self::$connection->execute("
        ALTER TABLE jaga.pak_questionnaire ADD COLUMN IF NOT EXISTS views_order smallint;
        ");

        //NOTE: UPDATE columns `views_order` set all as 1
        self::$connection->execute("
        UPDATE pak_questionnaire SET views_order = 1;
        ");

        //NOTE: Remove column `views_order` pada table `pak_questionnaire`
        self::$connection->execute("
        ALTER TABLE jaga.pak_questionnaire DROP COLUMN IF EXISTS questionnaire_category_id;
        ");

        self::$connection->execute("
            DROP TABLE IF EXISTS jaga.pak_questionnaire_category;
        ");
    }
}

