<?php

use Phalcon\Mvc\Model\Migration;
class RumahSakitOnlineMigration_457 extends Migration {
    public function up()
    {
        self::$connection->execute("
            CREATE TABLE IF NOT EXISTS jaga.rumah_sakit_online (
                kode character varying(15) NOT NULL PRIMARY KEY,
                nama character varying(255) NOT NULL,
                jenis character varying(109),
                kelas character varying(50),
                telepon character varying(15),
                website character varying(108),
                status_blu character varying(50),
                no_surat_ijin_operasional character varying(100),
                tanggal_surat_ijin_operasional date,
                direktur character varying(255),
                ketersediaan_simrs character varying(104),
                luas_tanah character varying(101),
                luas_bangunan character varying(102),
                kepemilikan character varying(103),
                url_tarif character varying(255),
                status_validasi_tarif character varying(105),
                alamat character varying(255),
                provinsi_id character varying(2),
                provinsi_nama character varying(106),
                kab_kota_id character varying(4),
                kab_kota_nama character varying(107),
                longitude float(6),
                latitude float(6),
                status_aktivasi smallint,
                url_foto_depan character varying(255),
                modified_at date
            );

            CREATE INDEX IF NOT EXISTS idx_rumah_sakit_online_kode ON rumah_sakit_online USING btree (kode);
            CREATE INDEX IF NOT EXISTS idx_rumah_sakit_online_nama ON rumah_sakit_online USING btree (nama);
            CREATE INDEX IF NOT EXISTS idx_rumah_sakit_online_provinsi_id ON rumah_sakit_online USING btree (provinsi_id);
            CREATE INDEX IF NOT EXISTS idx_rumah_sakit_online_kab_kota_id ON rumah_sakit_online USING btree (kab_kota_id);
        ");

        self::$connection->execute("
            CREATE TABLE IF NOT EXISTS jaga.rumah_sakit_online_ketersediaantt (
                id bigserial not null primary key,
                kode_rs character varying(15),
                nama_rs character varying(100),
                tt character varying(100),
                ruang character varying(255),
                jumlah integer ,
                terpakai integer ,
                kosong integer,
                antrian integer,
                tgl_update date
            );

            CREATE INDEX IF NOT EXISTS idx_rumah_sakit_online_ketersediaantt_kode_rs ON rumah_sakit_online_ketersediaantt USING btree (kode_rs);
            CREATE INDEX IF NOT EXISTS idx_rumah_sakit_online_ketersediaantt_nama_rs ON rumah_sakit_online_ketersediaantt USING btree (nama_rs);
        ");

        self::$connection->execute("ALTER TABLE jaga.api_tracker ADD COLUMN IF NOT EXISTS last_processed_value character varying(255);");
        self::$connection->execute("ALTER TABLE jaga.api_tracker ADD COLUMN IF NOT EXISTS last_error text;");
    }

    public function down()
    {
        self::$connection->execute("DROP TABLE IF EXISTS jaga.rumah_sakit_online;");
        self::$connection->execute("DROP TABLE IF EXISTS jaga.rumah_sakit_online_ketersediaantt;");
        self::$connection->execute("ALTER TABLE jaga.api_tracker DROP COLUMN IF EXISTS last_processed_value;");
        self::$connection->execute("ALTER TABLE jaga.api_tracker DROP COLUMN IF EXISTS last_error;");
    }
}
