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é.
- Tìm hiểu về Validation trong Laravel
- Xem trước của tài liệu PDF, DOC, EXCEL trên web bằng url của tài liệu
- Cache file JavaScript trong laravel
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] --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:
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.
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 .envChạ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ư:
Nó sẽ rollback toàn bộ migration của chương trình.
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!