Tạo và Quản lý Cơ sở dữ liệu bằng Migrations trong Laravel

Trong Laravel, migrations cung cấp một cách tiện lợi để tạo và quản lý các schema của cơ sở dữ liệu. Migrations tương tự như việc quản lý phiên bản cho cơ sở dữ liệu, cho phép bạn thay đổi cấu trúc cơ sở dữ liệu theo thời gian và theo dõi các thay đổi. Dưới đây là một hướng dẫn chi tiết về việc sử dụng migrations trong Laravel:

 

Tạo Migration

 Để tạo một migration mới, bạn có thể sử dụng lệnh Artisan make:migration. Ví dụ, để tạo migration cho việc tạo bảng "users", chạy lệnh sau:

php artisan make:migration create_users_table

 

Định nghĩa Schema

Mở file migration được tạo ra trong thư mục "database/migrations". Trong phương thức up, bạn có thể định nghĩa schema cho bảng của bạn bằng cách sử dụng Laravel schema builder. Ví dụ, để tạo bảng "users" với các cột "name" và "email", bạn có thể sử dụng phương thức create:

Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('email')->unique();
    $table->timestamps();
});

 

Chạy Migrations

Để thực thi các migrations và tạo bảng tương ứng trong cơ sở dữ liệu, sử dụng lệnh Artisan migrate:

php artisan migrate

 

Rollbacks

Nếu bạn cần hoàn tác một migration, bạn có thể sử dụng lệnh migrate:rollback. Điều này sẽ hoàn ngược lại batch migration cuối cùng:

php artisan migrate:rollback

 

Quản lý Trạng thái Migration

Laravel theo dõi các migrations đã được thực thi bằng cách sử dụng một bảng migrations trong cơ sở dữ liệu. Bạn có thể sử dụng lệnh migrate:status để xem trạng thái của mỗi migration:

php artisan migrate:status

 

Sửa đổi Bảng

Nếu bạn cần sửa đổi một bảng hiện có, bạn có thể tạo một migration mới bằng cách sử dụng lệnh make:migration và sử dụng các phương thức của schema builder như addColumn, renameColumn, hoặc dropColumn để thực hiện những thay đổi cần thiết.

 

Việc sử dụng migrations trong Laravel cung cấp một cách tổ chức và hiệu quả để tạo và quản lý schema của cơ sở dữ liệu. Bằng cách sử dụng tính năng giống như quản lý phiên bản, bạn có thể dễ dàng thay đổi cấu trúc cơ sở dữ liệu và theo dõi các thay đổi đó theo thời gian.