Giới thiệu Migrations
Migrations là một loại điều khiển giám sát phiên bản cơ sở dữ liệu. Nó cho phép chỉnh sửa lược đồ cơ sở dữ liệu (database scheme) và cập nhật trạng thái hiện tại của lược đồ.
Cấu hình cơ sở dữ liệu
Để có thể sử dụng được Migrations, trước hết chúng ta phải cấu hình các thông tin cần thiết để Laravel biết cách kết nối đến cơ sở dữ liệu.
Laravel 5.0 cung cấp cho ta hai tập tin cấu hình như sau:
Ø laravel_demo\.env.example: sử dụng ở localhost trong quá trình phát triển.
Ø laravel_demo\config\database.php: cấu hình để kết nối đến cơ sở dữ liệu thực sự chạy ở Database server.
Các bước cấu hình trong database.php:
Bước 1: Mở file laravel_demo\config\database.php
Bước 2: Tại dòng 29, cần chỉ định hệ quản trị cơ sở dữ liệu sẽ tương tác bằng cách thay đổi nội dung thay thế giá trị ‘mysql’ trong 'default' => 'mysql' thành loại hệ quản trị cơ sở dữ liệu mong muốn.
Bước 3: Thiết lập các thông số cần thiết để kết nối đến cơ sở dữ liệu, trong trường hợp này là các thông số cho hệ quản trị cơ sở dữ liệu MySQL.
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', <Tên host>),
'database' => env('DB_DATABASE', <Tên cơ sở dữ liệu>),
'username' => env('DB_USERNAME', <Tài khoản>),
'password' => env('DB_PASSWORD', <Mật khẩu>),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
Trong phần này, cần khai báo cho Laravel biết các thông số:
- <Tên host>: tên host sử dụng hoặc localhost.
- <Tên cơ sở dữ liệu>: chỉ định tên cơ sở dữ liệu.
- <Tài khoản> : tài khoản đăng nhập vào cơ sở dữ liệu
- <Mật khẩu> : mật khẩu của tài khoản đăng nhập vào cơ sở dữ liệu.
Sử dụng Migrations
Trước hết chúng ta cần kiểm tra xem tính năng Migration đã hoạt động tốt trong Laravel chưa. Trong Windows, mở cửa sổ dòng lệnh cmd bằng cách bấm tổ hợp phím Win + r để mở của sổ Run, nhập vào cmd rồi Enter. Chuyển đến thư mục chứa code Laravel và thực hiện lệnh sau:
php artisan migrate
Nếu có thông báo Migration table created successfully nghĩa là đã cấu hình kết nối cơ sở dữ liệu thành công, ngược lại cần kiểm tra các thông số đã thiết lập để kết nối cơ sở dữ liệu.
Sau khi thực hiện lệnh trên thì Laravel cũng đồng thời thực thi hai tập tin trong thư mục laravel_demo\database\migrations
và tạo ra hai bảng users và password_resets trong cơ sở dữ liệu. Xem qua một chút nội dung của hai file trên, chúng ta sẽ thấy hai hàm up() và down(). Hàm up() thường được sử dụng để tạo bảng, ngược lại hàm down() thường được sử dụng để xóa bảng trả lại trạng thái ban đầu cho cơ sở dữ liệu khi chưa tạo bảng với lệnh sau:
php artisan migrate:rollback
Tạo một Migrations
Để tạo một migrations, sử dụng lệnh make:migration
php artisan make:migration create_users_table
Các tùy chọn – –table hoặc – – create cũng có thể được sử dụng để chỉ định tên bảng hoặc cho biết migration sẽ tạo ra một bảng mới.
php artisan make:migration add_votes_to_users_table --table=users
php artisan make:migration create_users_table --create=users