Buat Database & Migration
Sebelumnya kita udah membuat CRUD CodeIgniter 4 sesi persiapan awal. Pada artikel ini saya akan membagikan cara untuk dapat menggunakan Crud CodeIgniter Migration dan Database.
Selanjutnya kita akan membuat databasenya. Nama database dan properti yang akan kita buat adalah sebagai berikut:
- Nama database : crud_ci4
- Nama tabel : users
- Nama field : id, name, address
Silahkan buka phpmyadmin, buat database secara manual dengan nama databasenya adalah “crud_ci4”.
Kemudian, untuk membuat tabel dan field, kita menggunakan fitur “Migration” yang dimiliki oleh codeigniter.
Kita akan membuat sebuah file migrasi dengan nama file “users”. Caranya buka terminal dan gunakan perintah:
php spark migrate:create users
Jika berhasil maka diterminal akan terlihat seperti :
neon@neon:~/Documents/Project-CI4/crud_basic$ php spark migrate:create users CodeIgniter v4.1.5 Command Line Tool - Server Time: 2021-12-06 18:44:22 UTC-06:00 File created: APPPATH/Database/Migrations/2021-12-07-004422_Users.php
Sekarang, masuk ke file users migration. File berada di app->Database->Migrations->nama file. Maka didalam file tersebut hanya ada dua function yaitu up() dan down().
Fungsi up() digunakan untuk membuat tabel ke database sedangkan fungsi down() untuk menghapus tabel.
dialam function up(), silahkan tambahkan baris berikut:
<?php
namespace AppDatabaseMigrations;
use CodeIgniterDatabaseMigration;
class Users extends Migration
{
public function up()
{
$this->forge->addField(
[
'id' => [
'type' => 'INT',
'constraint' => 11,
'unsigned' => TRUE,
'auto_increment' => TRUE
],
'name' =>[
'type' => 'VARCHAR',
'constraint' => 255
],
'address' =>[
'type' => 'TEXT',
'null' => true
]
]
);
$this->forge->addKey('id', TRUE);
$this->forge->createTable('users');
}
public function down()
{
//
}
}
Setelah itu, kita akan memerintahkan codeigniter untuk membuat tabel sesuai dengan yang telah dituliskan kedalam file migration. Buka terminal dan gunakan perintah berikut:
php spark migrate
Jika anda mendapatkan error seperti:
[CodeIgniterDatabaseExceptionsDatabaseException]
Unable to connect to the database.
Main connection [MySQLi]: No such file or directory
at SYSTEMPATH/Database/BaseConnection.php:407
Itu tandanya ada masalah saat koneksi database. Sekarang didalam folder projek anda cari file “env”. Kemudian copy dan pastekan. ubah nama file “env (hasil paste)” menjadi “.env”.
Buka file .env, kemudian sesuaikan pengaturan database. Sebagai contoh saya menggunakan aturan sebagai berikut:
#-------------------------------------------------------------------- # ENVIRONMENT #-------------------------------------------------------------------- CI_ENVIRONMENT = development #-------------------------------------------------------------------- # DATABASE #-------------------------------------------------------------------- database.default.hostname = 127.0.0.1 database.default.database = crud_ci4 database.default.username = root database.default.password = database.default.DBDriver = MySQLi database.default.DBPrefix =
Setelah itu ulangi perintah berikut di terminal:
php spark migrate
Jika berhasil, maka akan tampil sebagai berikut:
neon@neon:~/Documents/Project-CI4/crud_basic$ php spark migrate CodeIgniter v4.1.5 Command Line Tool - Server Time: 2021-12-07 19:49:05 UTC-06:00 Running all new migrations... Running: (App) 2021-12-07-004422_AppDatabaseMigrationsUsers Done migrations.
Sekarang, kita akan lihat apakah tabel berhasil dibuat di database. Buka phpmyadmin, arahkan ke database crud_ci4, maka anda akan meliat sebuah tabel yanng namanya “users”.
Langkah selanjutnya adalah isikan tabel users tersebut dengan tulisan sembarang, terserah isi dengan kata apa. Sekarang saatnya kita membuat program untuk membaca data (Read).
Semoga artikel ini bermanfaat.