Database Migration

Pembahasan kita saat ini adalah tentang database migration, mungkin beberapa orang bertanya buat apa sih database migration, trus apa sih gunanya. Mari kita bahas disini tentang Migrasi, pada umumnya setiap developer atau programmer baik perorangan maupun group lebih sering suka membuat database dan table langsung baik pada sql manager, phpmyadmin, squirellsql, navicat dll.

Memang lebih enak menggunakannya sebab langsung melakukan perubahan di DBMS itu sendiri tetapi jika si A (programmer) melakukan perubahan code program dan si B (Analis yang terperangkap sebagai Implementasi program) tersebut di suatu perusahaan C tidak mengetahui bahwa A telah ada penambahan field pada suatu table maka jika A lupa memberitahukan si B bahwa ada penambahan field di table itu maka apa yang terjadi ? pasti program tersebut pasti tidak akan jalan dengan semestinya.

Di Codeigniter (CI)  memiliki class migration bisa buka link disini, class ini bertanggung jawab untuk menghandle segala bentuk migrasi


defined('BASEPATH') OR exit('No direct script access allowed');

class Migration_Add_blog extends CI_Migration {

public function up()
{
$this->dbforge->add_field(array(
'blog_id' => array(
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'blog_title' => array(
'type' => 'VARCHAR',
'constraint' => '100',
),
'blog_description' => array(
'type' => 'TEXT',
'null' => TRUE,
),
));

$this->dbforge->create_table('blog');
}

public function down()
{
$this->dbforge->drop_table('blog');
}

 

Contoh diatas adalah class dari penggunaan class migration dan class database forge yang berguna untuk membuat table blog. Kalau anda bertanya bagaimana cara menggunakan database migration ini berikut langkah2nya

  1. Buat folder migration didalam folder application
  2. Setiap kali kita akan membuat class yang berfungsi membuat table misalnya table blog maka penamaan file tersebut adalah 001_Add_Blog.php dan untuk versi migrasi selanjutnya 002_Add_News.php dan 003_Nama_File.php dan seterus nya jadi nama file itu berupa penomeran dari dari versi yang akan kita buat.
  3. Penamaan class harus mengikuti kaidahnya misal di file 001_Add_Blog.php maka penamaan class nya Migration_Add_Blog
  4. Membuat Controller untuk mengjalankan perintah migrasi ke versi tertentu buat nama file controller yang bernama migrate nanti isinya seperti ini
    
    class migrate extends CI_Controller {
    
    //put your code here
    public function ver($ver) {
    $this->load->library('migration');
    
    if (!$this->migration->version($ver)):
    show_error($this->migration->error_string());
    else:
    echo 'migration success -'.$ver.br();
    endif;
    
    
    }
    
    }
    
  5. Jalankan class migrate ini di browser sesuai dengan migrasi yang anda buat

Mengapa saya mengulas tentang database migration ini adalah untuk membuka mata para developer atau programer agar lebih rapih lagi dalam membuat suatu program yang nanti nya akan berguna bagi diri kita dan tidak menyulitkan bagi orang lain, jika anda masih bingung tentang ulasan ini anda bisa mengisi komen dibawah ini ya