Tìm hiểu về Migrations trong Laravel

Post on: 2018-03-28 23:51:34 | in: Laravel
Chắc hẳn các bạn tìm hiểu về Laravel đều đã một lần nghe đến thuật ngữ Migrations. Migrations trong Laravel giống như một version control của database hôm nay chúng ta sẽ cùng tìm hiểu kỹ hơn về nó nhé.

Khái niệm Migrations trong Laravel

Migrations trong Laravel giống như một version control của database nó có tác dụng quản lý cũng như lưu trữ lại cấu trúc của database giúp cho việc sửa đổi database trở lên dễ dàng hơn.

Nó cho phép bạn chỉnh sửa, cập nhật trạng thái hiện tại của database.

Tạo Migrations

Để tạo mới migrations trong laravel bạn có thể thực hiện một trong cách câu lệnh sau:

php artisan make:migartion [ten_file] 
php artisan make:migartion [ten_file] --create=[tenbang]
php artisan make:migartion [ten_file] --table=[tenbang]

Ngoài ra bạn cũng có thể tạo file migrations khi bạn tạo mới model với câu lệnh: 

php artisan make:model [tenmodel] -m

Nếu thấy thông báo thành công file migrations mới sẽ được tạo trong thư mục database/migrations có dạng yyyy_mm_dd_xxxxxx_ten_file.php trùng tên với file bạn tạo.

Cấu trúc của file migrations

Để hiểu rõ hơn về cấu trúc file migrations bạn mở file được tạo trong thư mục  database/migrations.

Một class migration chứa hai hàm cơ bản là: up và down.
Trong đó hàm up được dùng để tạo table, cột hay index mới vào trong database, còn hàm down thì làm ngược lại so với hàm up.

migration trong laravel

Sử dụng migrations

Để sử dụng được migrations trong Laravel trước tiên cần tạo một database và cấu hình kết nối database tại file .env

Chạy lệnh: php artisan migrate để thực thi tất cả các migration trong chương trình.

Ngược lại: php artisan migrate:rollback sẽ thực hiện rollback lại thao thác migration cuối cùng được thực hiện.

Ngoài ra trong migrations còn sử dụng một số câu lệnh như:

php artisan migrate:reset 

Nó sẽ rollback toàn bộ migration của chương trình.

php artisan migrate:refresh

Nó tương đương với bạn chạy lệnh reset rồi migrate câu lệnh sẽ tái cấu trúc lại toàn bộ database.

Tống kết

Đây là tổng hợp những gì mình tìm hiểu được về migrations trong laravel nếu có thắc mắc hoặc đóng góp các bạn có thế liên hệ với mình nhé.
Thanks!
Tag: laravel PHP nâng cao