Menambahkan Kolom Baru pada Migrasi Laravel 8
Laravel menyediakan sistem migrasi yang kuat untuk mengelola perubahan struktur database Anda. Dalam artikel ini, kita akan membahas cara menambahkan kolom baru ke tabel yang sudah ada menggunakan migrasi Laravel 8.
1. Membuat Migrasi Baru
Pertama, buat migrasi baru menggunakan perintah Artisan:
php artisan make:migration add_new_column_to_table --table=table_name
Ganti table_name
dengan nama tabel yang ingin Anda tambahkan kolomnya. Perintah ini akan membuat file migrasi baru di direktori database/migrations
.
2. Menambahkan Kolom dalam File Migrasi
Buka file migrasi yang baru dibuat dan temukan method up()
. Di dalam method up()
, tambahkan kolom baru menggunakan method addColumn()
:
addColumn('string', 'new_column_name', 255);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('table_name', function (Blueprint $table) {
$table->dropColumn('new_column_name');
});
}
}
Ganti table_name
dengan nama tabel, new_column_name
dengan nama kolom baru, dan string
dengan tipe data kolom. Ada berbagai tipe data kolom yang tersedia, seperti:
- string: Untuk menyimpan teks.
- integer: Untuk menyimpan bilangan bulat.
- decimal: Untuk menyimpan angka desimal.
- timestamp: Untuk menyimpan tanggal dan waktu.
- boolean: Untuk menyimpan nilai benar atau salah.
3. Menjalankan Migrasi
Setelah Anda menambahkan kolom baru dalam file migrasi, jalankan migrasi menggunakan perintah Artisan:
php artisan migrate
Perintah ini akan menjalankan semua migrasi yang belum dijalankan, termasuk migrasi yang baru Anda buat.
4. Membalikkan Migrasi
Jika Anda ingin membatalkan perubahan migrasi, Anda bisa menjalankan perintah migrate:rollback
:
php artisan migrate:rollback
Perintah ini akan membatalkan migrasi terakhir yang dijalankan.
5. Menghapus Kolom
Jika Anda ingin menghapus kolom yang telah Anda tambahkan, Anda bisa menggunakan method dropColumn()
:
dropColumn('new_column_name');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('table_name', function (Blueprint $table) {
$table->addColumn('string', 'new_column_name', 255);
});
}
}
6. Modifikasi Kolom
Anda juga dapat memodifikasi kolom yang sudah ada, seperti mengubah tipe data atau menambahkan constraint. Berikut contoh modifikasi kolom:
string('existing_column_name', 255)->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('table_name', function (Blueprint $table) {
// Reverting the changes is not possible.
});
}
}
Kesimpulan
Dengan menggunakan migrasi, Anda dapat dengan mudah mengelola perubahan struktur database Anda di Laravel. Anda dapat menambahkan kolom baru, menghapus kolom, memodifikasi kolom, dan bahkan membatalkan perubahan Anda jika diperlukan. Hal ini membuat pengembangan aplikasi Anda lebih terstruktur dan mudah dipelihara.