Menambahkan Kolom ke Tabel Menggunakan Migrasi di Laravel 8
Laravel menyediakan cara yang mudah dan terstruktur untuk mengelola basis data Anda melalui sistem migrasi. Migrasi memungkinkan Anda untuk melacak perubahan skema basis data Anda dan dengan mudah mengulanginya di berbagai lingkungan. Artikel ini akan memandu Anda melalui proses menambahkan kolom ke tabel yang ada menggunakan migrasi di Laravel 8.
1. Buat Migrasi Baru
Pertama, buat migrasi baru menggunakan perintah Artisan:
php artisan make:migration add_column_to_table --table=your_table_name
Ganti your_table_name
dengan nama tabel tempat Anda ingin menambahkan kolom. Perintah ini akan menghasilkan file migrasi baru di direktori database/migrations
. File tersebut akan berisi dua metode: up
dan down
. Metode up
akan berisi kode yang akan dijalankan saat migrasi dijalankan, sementara metode down
akan berisi kode yang akan dijalankan saat migrasi dibatalkan.
2. Tambahkan Kolom di Metode up
Di dalam metode up
dari file migrasi Anda, tambahkan kolom baru ke tabel menggunakan metode addColumn
dari kelas Schema
. Berikut adalah contoh menambahkan kolom description
bertipe text
ke tabel posts
:
text('description')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('posts', function (Blueprint $table) {
$table->dropColumn('description');
});
}
}
3. Jalankan Migrasi
Setelah menambahkan kolom di file migrasi, jalankan migrasi menggunakan perintah Artisan:
php artisan migrate
Perintah ini akan menjalankan semua migrasi yang belum dijalankan, termasuk migrasi baru yang Anda buat.
4. Reverse Migrasi
Jika Anda ingin membatalkan migrasi, gunakan perintah rollback
Artisan:
php artisan migrate:rollback
Perintah ini akan membatalkan migrasi terbaru yang dijalankan, menghapus kolom yang baru saja Anda tambahkan.
Kesimpulan
Dengan menggunakan sistem migrasi Laravel, Anda dapat menambahkan kolom ke tabel Anda dengan mudah dan terstruktur. File migrasi memungkinkan Anda untuk melacak perubahan skema basis data Anda dan dengan mudah mengulanginya di berbagai lingkungan.