Tóm Tắt
Sửa bảng với Migration Laravel 8
Trình duyệt của bạn không tương hỗ nghe audio .
Bài này chúng ta sẽ học các sửa bảng với Migration Laravel 8 cụ thể là cách thêm ,sửa các trường trong bảng với migration nhé.
Cách dùng Migration để sửa bảng (table) trong Laravel 8
Xét lại ví dụ trước chúng ta đã tạo được bảng news với các trường sau id, tentruyen,tacgia,chap bây giờ chúng ta muốn chỉnh sửa bảng này thì làm thế nào. Các bạn hãy xem ví dụ dưới để biết cách nhé!
Bạn đang đọc: Sửa bảng với Migration Laravel 8
Chúng ta cần tạo một Migration mới dành riêng cho việc sửa đổi bảng như sau: tạo file Migration edit_news_table.php bằng lệnh
php artisanmake:migration edit_news_table --table=news
Lúc này file Migration 2021_01 _22_092354_edit_news_table. php đã được tạo bên trong thư mục / database / migrations / với nội dung sau :
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table(‘news’, function (Blueprint $table) {
//
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table(‘news’, function (Blueprint $table) {
//
});
}
}Ta thấy nội dung tương tự như như tạo file create_news_table. php, nhưng 2 function up ( ) và down ( ) đang là rỗng .
2.1 Thêm cột dữ liệu
Để thêm cột mới (VD như cột gioithieu) vào bảng news, ta điều chỉnh file edit_news_table.php vừa tạo như sau:
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table(‘news’, function (Blueprint $table) {
$table->string(‘gioithieu’);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table(‘news’, function (Blueprint $table) {
//
});
}
}
Chạy lại lệnh php artisan migrate
php artisan migrate
hiển thị kết quả sau đây là thành công:
Kiểm tra lại bảng news trên phpMyAdmin tất cả chúng ta thấy một cột mới gioithieu đã được thêm vào
2.2 Thay đổi cột dữ liệu
Để biến hóa được tài liệu trên bảng ví dụ đổi khác tên cột, thứ nhất ta cần phải cài thêm thư viện Doctrine / dbal vào Laravel, nếu chưa có thì những bạn chạy dòng lệnh sau tại thư mục project laravel
composer require doctrine/dbal
Giả sử giờ đây tất cả chúng ta cần đổi khác tên cột gioithieu thành mota, và cần thêm một cột mới là nguyetphieu, ta thực thi biến hóa file edit_news_table. php như sau :
public function up() { Schema::table('news', function (Blueprint $table) { $table->renameColumn('gioithieu', 'mota'); $table->string('nguyetphieu'); }); }
Lúc này nếu bạn chạy
php artisan migrate
thì sẽ nhận được thông tin ” Nothing to migrate ” nguyên do là là do bên trong table migrations đã sống sót tên migration
2021_01_22_092354_edit_news_table
Để xử lý yếu tố này, ta cần xóa dữ liệu 2021_01 _22_092354_edit_news_table này đi là đượcsau đó chạy lại lệnh
php artisan migration
Table news sẽ được update .
2.3 Xóa cột dữ liệu
Vào file edit_news_table. php sửa lại như sau
public function up() { Schema::table('news', function (Blueprint $table){
$table->dropColumn('nguyetphieu'); }); }
Tương tự như trường hợp đổi khác cột, khi chạy lệnh php artisan migration nếu Open thông tin ” Nothing to migrate. “do đó ta cũng giải quyết và xử lý tựa như như trên :
Lời kết:
Vậy là chúng ta đã biết cách sử dụng Migration 8 để sửa bảng (table) trong Laravel rồi đấy, đơn giản phải không nào. Chúc các bạn học tốt!
Source: https://final-blade.com
Category: Kiến thức Internet