<?php

use Phalcon\Mvc\Model\Migration;

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

        self::$connection->execute("
        --create sequence
        CREATE SEQUENCE IF NOT EXISTS jaga.um_user_pk_seq START 1;

        -- Table: jaga.um_user

        CREATE TABLE IF NOT EXISTS jaga.um_user
        (
            um_id integer NOT NULL DEFAULT nextval('um_user_pk_seq'::regclass),
            um_user_name character varying(255) COLLATE pg_catalog.default,
            um_user_password character varying(255) COLLATE pg_catalog.default NOT NULL,
            um_salt_value character varying(31) COLLATE pg_catalog.default,
            um_require_change boolean DEFAULT false,
            um_changed_time timestamp without time zone NOT NULL,
            um_tenant_id integer NOT NULL DEFAULT 0,
            nama character varying COLLATE pg_catalog.default,
            tempat_lahir character varying COLLATE pg_catalog.default,
            tgl_lahir_old character varying COLLATE pg_catalog.default,
            email character varying COLLATE pg_catalog.default,
            foto character varying COLLATE pg_catalog.default,
            is_active boolean DEFAULT true,
            phone character varying COLLATE pg_catalog.default,
            wso2_id character varying COLLATE pg_catalog.default,
            oauth_id character varying COLLATE pg_catalog.default,
            twitter_id character varying COLLATE pg_catalog.default,
            facebook_id character varying COLLATE pg_catalog.default,
            google_id character varying COLLATE pg_catalog.default,
            no_ktp_sim character varying COLLATE pg_catalog.default,
            uuid_user uuid DEFAULT jaga.uuid_generate_v4(),
            tgl_lahir date,
            is_banned boolean NOT NULL DEFAULT false,
            jmlh_crt_mskn integer DEFAULT 0,
            jmlh_dukung_crt_mskn integer DEFAULT 0,
            um_user_new_password character varying(255) COLLATE pg_catalog.default,
            id_instansi integer,
            id_jabatan integer,
            sumber integer,
            migration_status integer,
            um_user_korsupgah_password character varying(255) COLLATE pg_catalog.default,
            jenis_kelamin character varying(1) COLLATE pg_catalog.default,
            apple_id character varying(255) COLLATE pg_catalog.default,
            id_sekolah integer,
            CONSTRAINT um_user_pkey PRIMARY KEY (um_id, um_tenant_id),
            CONSTRAINT um_user_um_user_name_um_tenant_id_key UNIQUE (um_user_name, um_tenant_id)
        );

        --insert data from public
        insert into jaga.um_user
        select * from public.um_user
        on conflict do nothing;

        --set sequence value
        SELECT setval('jaga.um_user_pk_seq', max(um_id)) FROM jaga.um_user;

        --alter constraint
        ALTER TABLE jaga.um_user DROP CONSTRAINT IF EXISTS um_user_pkey CASCADE;

        ALTER TABLE jaga.um_user ADD CONSTRAINT um_user_pkey PRIMARY KEY (um_id);
        ");
    }

    public function down()
    {
        
    }
}
