Giới thiệu migration

Migration trong Laravel là một công cụ hỗ trợ cho phép người dùng tạo và quản lý cơ sở dữ liệu của ứng dụng. Migration cho phép người dùng tạo các phiên bản của cơ sở dữ liệu, mỗi phiên bản đại diện cho một thay đổi của cơ sở dữ liệu như tạo bảng mới, thêm cột mới vào bảng, thay đổi tên bảng hoặc cột, và nhiều hơn nữa.

Mỗi phiên bản migration sẽ được Laravel lưu trữ trong thư mục database/migrations và sẽ có tên theo định dạng YYYY_MM_DD_HHMMSS_create_table_name.php, trong đó YYYY_MM_DD_HHMMSS là thời gian tạo phiên bản migration và table_name là tên bảng được tạo hoặc thay đổi trong phiên bản đó.

Migration được sử dụng bằng cách sử dụng Artisan CLI của Laravel. Ví dụ, để tạo một migration mới, bạn có thể chạy lệnh sau trong dòng lệnh:

goCopy codephp artisan make:migration create_users_table

Lệnh này sẽ tạo ra một file migration mới với tên YYYY_MM_DD_HHMMSS_create_users_table.php trong thư mục database/migrations.

Sau khi tạo migration, bạn có thể sử dụng các phương thức của Laravel Schema Builder để tạo, sửa đổi hoặc xóa các bảng và cột trong cơ sở dữ liệu. Ví dụ:

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

Sau khi hoàn tất, bạn có thể chạy migration bằng cách chạy lệnh sau trong dòng lệnh:

php artisan migrate

Lệnh này sẽ chạy tất cả các migration chưa được thực thi trước đó và thực hiện các thay đổi tương ứng trong cơ sở dữ liệu của ứng dụng.