Tutorial CRUD CodeIgniter 4 Dengan Bootstrap #2 : Membuat Migration Table - halo teman-teman semuanya, pada artikel kali ini kita semua akan belajar bagaimana cara membuat migration di CodeIgniter 4.
Untuk teman-teman yang sebelumnya menggukan CodeIgniter 3 pasti akan sedikit bingung dan bertanya-tanya apa itu migration ?
Jadi migration itu merupakan sebuah teknik untuk membuat sebuah tabel secara terstruktur, mudah, maintenable dan tentu saja lebih cepat tanpa perlu kita membuatnya dengan manual.
Migration umumnya sudah banyak digunakan oleh PHP Framework moderen, seperti hanya Laravel, YII, Laminas, CakePHP dan masih banyak lagi.
Langkah 1 - Membuat Migration Table
Untuk membuat migration di CodeIgniter 4 ini sangat mudah, pada kesempatan kali ini kita semua akan belajar membuat tabel dengan nama posts dan memiliki 3 coloumn
, yaitu : id
, title
dan content
.
Untuk membuatnya, silahkan teman-teman jalankan perintah dibawah ini di terminal atau CMD :
php spark migrate:create post
Jika berhasil, teman-teman akan melihat message kurang lebih seperti berikut ini :
CodeIgniter CLI Tool - Version 4.0.3 - Server-Time: 2020-05-17 04:12:06am
Created file: App/Database/Migrations/2020-05-17-091206_post.php
Dari message diatas bisa lihat, kita berhasil dibuatkan sebuah file migration baru di dalam folder App/Database/Migrations/2020-05-17-091206_post.php
.
Silahkan buka file tersebut, dan ubahlah pada function up
menjadi seperti berikut ini :
public function up()
{
$this->forge->addField([
'id' => [
'type' => 'INT',
'constraint' => 11,
'unsigned' => TRUE,
'auto_increment' => TRUE
],
'title' => [
'type' => 'VARCHAR',
'constraint' => '255',
],
'content' => [
'type' => 'TEXT'
],
]);
$this->forge->addKey('id', TRUE);
$this->forge->createTable('posts');
}
Dari kode diatas, kita membuat sebuah table posts
dengan memiliki 3 coloumn
, diantaranya adalah : id
, title
, content
. Sekarang mari kita bahas satu-persatu.
COLOUMN ID
'id' => [
'type' => 'INT',
'constraint' => 11,
'unsigned' => TRUE,
'auto_increment' => TRUE
],
Jika teman-teman perhatikan untuk coloumn id
diatas, disini kita menggunakan tipe data INT
atau integer dan memiliki value 11
dan kita jadikan sebagai auto increment.
COLOUMN TITLE
'title' => [
'type' => 'VARCHAR',
'constraint' => '255',
],
Untuk coloumn title
diatas, kita menggunakan tipe data VARCHAR
dan menggunakan value 255
.
COLOUMN CONTENT
'content' => [
'type' => 'TEXT'
],
Kemudian untuk coloumn content
, disini kita menggunakan tipe data TEXT
dan kita tidak perlu menambahkan value untuk tipe data ini.
$this->forge->addKey('id', TRUE);
$this->forge->createTable('posts');
Dan untuk kode diatas ini, fungsinya coloumn ID
akan dijadikan sebagai primary key
dan kita membuat tabelnya dengan nama posts .
Langkah 2 - Menjalankan Migration
Setelah kita berhasil menambahkan beberapa coloumn di file migration kita, sekarang kita akan menjalankan migration tersebut.
Dari hasil menjalankan migration ini kita akan dibuatkan sebuah tabel dengan nama posts dan memiliki beberapa coloumn yang sudah kita buat diatas.
Jadi disni kita tidak perlu manual membuat tabelnya di PHPMyAdmin. Silahkan teman-teman jalankan perintah dibawah ini untuk menjalankan migrationnya :
php spark migrate
Jika berhasil, teman-teman akan melihat message kurang lebih seperti berikut ini :
CodeIgniter CLI Tool - Version 4.0.3 - Server-Time: 2020-05-17 04:14:18am
Running all new migrations...
Running: (App) 2020-05-17-091206_App\Database\Migrations\Post
Done
Dan sekarang jika teman-teman buka databasenya, maka teman-teman akan memiliki tabel posts, kurang lebih seperti gambar dibawah ini :
DOWNLOAD SOURCE CODE
Untuk teman-teman yang ingin mengunduh source codenya : https://github.com/maulayyacyber/CodeIgniter4-CRUD
KESIMPULAN
Pada tutorial kali ini kita semua sudah belajar bagaimana cara membuat migration baru dan kita juga belajar bagaimana cara menjalankan migration yang sudah kita buat.
Jika teman-teman ada pertanyaan atau kendala saat mencoba, silahkan teman-teman bisa bertanya melalui kolom komentar dibawah artikel ini.
Terima Kasih