Membuat CRUD CodeIgniter 4 #2: Migration & Database

Buat Database & Migration

Sebelumnya kita udah membuat CRUD CodeIgniter 4 sesi persiapan awal. 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 ini:

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 ini 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 App\Database\Migrations;

use CodeIgniter\Database\Migration;

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:

[CodeIgniter\Database\Exceptions\DatabaseException]

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_App\Database\Migrations\Users
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).

Posting Komentar

Komentar anda sedang di moderasi oleh Admin. Mohon tunggu. Terima kasih.

Lebih baru Lebih lama

Formulir Kontak