X

Thursday, April 14, 2022

Membuat Database Menggunakan Fitur Migration Laravel

Migration merupakan salah satu fitur yang disediakan oleh laravel yang bertindak sebagai version control database. Fitur migration dapat digunakan untuk membuat, mengedit, menambahkan data, hingga menghapus database.

Migration sangat membantu dalam pembuatan database tanpa harus membuka PhpMyadmin. Developer yang bekerja dengan banyak tim dapat melakukan syncronisasi database dengan mudah.

Sebagai contoh misalkan dalam satu project dikerjakan oleh si A, B, dan C. Ketika si A menambahkan tabel baru ke database local miliknya otomatis B dan C juga harus menambahkan tabel tersebut. Alih-alih mengcopy database, B dan C dapat langsung mengcopy migration dari si A yang mana ketika dijalankan akan membuat tabel baru sesuai tabel yang didefinisikan oleh si A.

Lebih baik lagi apabila project tim menggunakan Git atau layanan berbasis Version Controller System lainnya. Programer hanya perlus melakukan Git Pull untuk mengambil migration yang telah di buat.

Brikut langkah membuat migration di Laravel :

1. Buka terminal/cmd kemudian ketikkan perintah "php artisan make:migration create_nama_table". Ganti nama dengan nama table yang akan dibuat, misalnya untuk pembuatan table konsumen maka ketikkan perintah "php artisan make:migration create_konsumen_table" kemudian tekan enter.

2. Akan muncul file baru di "database/migrations/tanggal_nama_migration.php". Buka file tersebut kemudian edit.

3. Copy code dibawah dan tempelkan pada class migration yang telah dibuat.
	
		    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('konsumen', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('status');
            $table->timestamps();
        });
    }
 
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('konsumen');
    }
	


Penjelasan : "Schema::create('konsumen', function (Blueprint $table) {" merupakan perintah untuk membuat tabel baru dengan nama konsumen dimana isinya berupa id, name, status, timestamps (nantinya akan membentuk 2 field yaitu created_at dan updated_at).

4. Jalankan perintah "php artisan migrate" sehingga program akan membuat table konsumen secara otomatis.

5. Untuk membatalkan guanakan perintah "php artisan migrate:rollback", sistem akan membatalkan migrate terakhir. Jika ingin membatalkan secara manual silahkan hapus table kemudian hapus pula migrate di database tabel migrations.

Kode lainnya :
Mengosongkan table
	
		DB::table('nama_tabel')->truncate();
	
Menabahkan data kedalam table
	
		DB::table('nama_tabel')->insert($this->data);
	
Menghapus satu data dalam table
	
		DB::table('nama_tabel')->where($id)->delete();
	
Mengupadate satu data dalam table
	
		DB::table('nama_tabel')->where($id)->update($data);
	
Menambahkan field atau kolom baru kedalam table
	
		Schema::table('nama_table', function (Blueprint $table) {
            $table->integer('field_baru');
        });