Tutorial Cara Menambahkan Kolom Baru Pada Tabel Menggunakan Migrasi Laravel

Tutorial Cara Menambahkan Kolom Baru Pada Tabel Menggunakan Migrasi Laravel

Assalamualaikum, wr. wb. Langsung saja, buat kalian yang sedang mencari cara untuk Menambahkan Kolom Baru Pada Tabel Menggunakan Migrasi Laravel, selamat datang di tutorial ini.

Kenapa melalui migrasi? salah satunya, agar kita mudah untuk memanajemen ketika atau saat terjadi perubahan pada database, baik saat mau menambah kolom, atau merubah kolom, dll. Dan disini akan dijelaskan cara menambah kolom baru pada suatu tabel yang sudah ada. Ketika tutorial ini dibuat, kita menggunakan laravel versi 8. Buat kalian yang menggunakan versi di atasnya, silahkan dicoba dulu, kalau gak bisa, silahkan cek di dokumentasi resmi Laravelnya, siapa tahu ada update terbaru.

Oke langsung saja, silahkan buat file migrasi dengan mengetikkan perintah berikut

php artisan make:migration add_position_to_users_table --table=users


Untuk penamaan sebaiknya dibuat sesuai yang kita lakukan, misal pada contoh di atas jika diartikan maksudnya kita menambahkan kolom position ke tabel users, maka dari itu penamaannya seperti itu.
Jika sudah, cek file migrasi tersebut, kemudian edit seperti berikut.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateAddPositionIdToUsersTable extends Migration
{

    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->integer('position');
        });
    }


    public function down()
    {
        Schema::table('users', function($table) {
            $table->dropColumn('position');
        });
    }
}

Penjelasan:

Kita memiliki dua fungsi up() dan down(), pada fungsi up() kita isi dengan kolom yang ingin kita tambahkan, (jangan lupa tipe data kolom tersebut). Dan pada fungsi down() kita akan menghapus kolom jika kolom yang mau kita tambahkan ternyata sudah ada (ini untuk jaga-jaga saja misal ternyata kolom tersebut sudah ada, agar tidak error). Jangan lupa pada fungsi down() menggunakan fungsi dropColumn.

Terakhir jalankan perintah migrasi


php artisan migrate


NB: Jika terjadi error 'table already exists ...' biasanya kita menulisnya Scheme::create padahal harusnya Scheme::table.



Sekian semoga bermanfaat, mohon maaf jika ada penjalasan yang kurang jelas atau ada salah kata. Silahkan komen dibawah jika ada pertanyaan, terimakasih Wassalamualaikum wr. wb.

Posting Komentar

2 Komentar

  1. command untuk migrasi salah gan,
    harusnya
    php artisan migrate

    BalasHapus
    Balasan
    1. terimakasih gan koreksinya, sudah di update, hehehehe

      Hapus