Menambah Kolom Table Pada Laravel

Adlinux - Menambah atribut atau kolom table database pada laravel dibutuhkan sebuah file migration. Migration digunakan untuk memodifikasi struktur database, seperti menambah kolom baru (hero), mengubah tabel, atau menghapus kolom dari tabel yang sudah ada. Kode ini tidak diletakkan di file model Post, tetapi di file migration khusus di direktori database/migrations.


Langkah-langkah Menempatkan Kode Migration:
  • Buat Migration Baru Untuk menambahkan atribut baru (hero) pada tabel posts, kamu perlu membuat migration baru. Jalankan perintah artisan di terminal:

    php artisan make:migration add_hero_to_posts_table --table=posts

    Ini akan membuat file migration baru di dalam direktori database/migrations. Nama file migration akan terlihat seperti 2024_XX_XX_XXXXXX_add_hero_to_posts_table.php, di mana tanggal dan waktu akan bervariasi tergantung kapan migration dibuat.
  • Letakkan Kode Migration Buka file migration yang baru saja dibuat di database/migrations dan ganti isinya dengan kode yang kamu berikan di atas. Kode tersebut akan menambahkan kolom hero ke dalam tabel posts untuk menyimpan informasi gambar utama (hero image). Berikut contoh bagaimana migration-nya akan terlihat:
    use Illuminate\Database\Migrations\Migration;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Support\Facades\Schema;

    return new class extends Migration
    {
    /**
    * Run the migrations.
    *
    * @return void
    */
    public function up()
    {
    Schema::table('posts', function (Blueprint $table) {
    $table->string('hero')->nullable(); // Tambahkan kolom hero
    });
    }
    /**
    * Reverse the migrations.
    *
    * @return void
    */
    public function down()
    {
    Schema::table('posts', function (Blueprint $table) {
    $table->dropColumn('hero'); // Hapus kolom hero jika migration di-rollback
    });
    }
    };

    Jalankan Migration Setelah kode tersebut diletakkan di dalam file migration, jalankan perintah berikut untuk menerapkan perubahan pada struktur tabel posts:

    php artisan migrate

    Ini akan menambahkan kolom hero ke tabel posts di database kamu.

      Penjelasan Detail:

  • Migration adalah mekanisme di Laravel yang digunakan untuk mengubah struktur tabel di database (menambah kolom, menghapus kolom, membuat tabel, dsb.).
  • Kode di atas membuat kolom baru hero di tabel posts yang bisa menyimpan path atau URL dari file gambar yang diunggah.
  • Nullable berarti kolom tersebut boleh kosong (tidak wajib diisi).
  • Jika suatu saat kamu ingin menghapus kolom hero dari tabel posts, kamu bisa menjalankan rollback menggunakan perintah:
php artisan migrate:rollback

Ini akan menghapus kolom hero karena bagian down() dari migration akan dijalankan.
Lebih baru Lebih lama