article

Migration di codeigniter

Migration di codeigniter

Migration adalah fitur yang termasuk dalam kategori library, namun perlakuannya sedikit berbeda dari library pada umumnya. Fungsi utama pada fitur ini adalah untuk manajemen data atau tabel yang terdapat pada database.

Terkadang dalam pengembangan sebuah website, diperlukan penambahan kolom tabel pada database yang terlanjur kita dipakai. Tentunya akan sangat merepotkan apabila penambahan kolom tabel dilakukan secara manual, apalagi bila sebuah website dikembangkan oleh sebuah tim. Dengan adanya fitur migration, tentunya akan sangat mempermudah.

Misalkan saja sobat ingin membuat tabel baru dengan nama user tanpa membuka PHPMyAdmin.

ads
ads

Hal pertama yang terpenting dalam migrasi adalah berkas config yang telah disediakan oleh codeigniter,yang terletak pada direktori application/config dengan nama migration. Ada EMPAT item config yang harus kalian pahami.

$config['migration_enabled'] = FALSE;

Ubah menjadi:

$config['migration_enabled'] = TRUE;

Nilai bawaan adalah FALSE. Ubah nilainya menjadi TRUE, untuk mengaktifkan migrasi.

$config['migration_type'] = 'timestamp';

Ubah menjadi:

$config['migration_type'] = sequential;

Pengaturan ini dilakukan agar dapat memanggil type data berdasarkan nilai angka semisal 1.

$config['migration_version'] = 0;

Ubah menjadi:

$config['migration_version'] = 1;

Menjelaskan versi migrasi saat ini yang digunakan. Karena merupakan pertama kalinya menggunakan versi migrasi 0, kita bisa mengisi nilainya menjadi 1.

$config['migration_path']=APPPATH.'migrations/';

Seting syntax konfigurasi biarkan seperti itu.

Buat folder migrations pada folder application untuk menentukan letak bawaan berkas migrasi yang kita buat. Jika ingin tetap menggunakan nilai bawaan, kalian harus membuat direktori dengan nama migrations dalam direktori application. Berikut ini contoh skrip yang merupakan inti dari migrasi berupa penambahan kolom pada database untuk versi 1.

Pada folder migrations buatlah file 001_create_users.php yang telah sobat buat tadi dan ketikkan script seperti di bawah ini:

<!--?php>

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

class Migration_create_users extends CI_Migration {

public function up() {

        $this->dbforge->add_field(array(

            'id' => array(

                'type' => 'INT',

                'constraint' => 11,

                'unsigned' => TRUE,

                'auto_increment' => TRUE

            ),

            'email' => array(

                'type' => 'VARCHAR',

                'constraint' => '100',

            ),

            'password' => array(

                'type' => 'VARCHAR',

                'constraint' => '128',

            ),

            'name' => array(

                'type' => 'VARCHAR',

                'constraint' => '100',

            ),

        ));

        $this->dbforge->add_key('id');

        $this->dbforge->create_table('users');

    }

    public function down() {

        $this->dbforge->drop_table('users');

    }

}

 

Pada folder controllers buatlah file dengan nama Migration.php dan isikan script berikut ini:

<!--?php>

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

class Migration extends CI_Controller {

    public function __construct() {

        parent::__construct();

         $this->load->library('migration');

    }

    public function index() {

        if (!$this->migration->current()) {

            show_error($this->migration->error_string());

        } else {

            echo 'Migration worked!';

        }

    }

}

 

Cara memanggil dengan menuliskan url:

localhost/project/index.php/migration

Dan buka database project sobat maka tabel user beserta kolomnya sudah otomatis terbuat.

 

Sumber www.codeigniter.com

0
Comments (0)
Unable to Comment
You need to be logged in to be able to post a comment. Click here to login

No comments yet. Be the first to comment.

From Author
Loading…
ads
ads
ads