Hướng dẫn dùng brake.migration trong PHP
Show Nội dung chính
I-Thế nào là migration?Ta có thể hiểu Migration như 1 version control của database. Một tính năng giúp quản lý tất cả các phiên bản của database. Cho phép bạn thay đổi database, thay đổi trạng thái database. Giúp quản lý database 1 cách dễ dàng. II-Cấu hình database.Muốn sử dụng được migration thì chúng ta phải cấu hình để Laravel có thể kết nối tới database. Laravel cung cấp 2 file cấu hình:
Sau đây mình sẽ giới thiệu qua về cách cấu hình. Để các ban nắm sơ qua và sau này có thể áp dụng khi cần thiết. 1.Cấu hình ở local.Để cấu hình database ở local. Chúng ta vào file .env và thiết lập cài đăt như sau:
2.Cấu hình production.Thiết lập cấu hình trong file config/database.php.
Trong đó tại trường 'default' => 'mysql', mysql là loại cơ sở dữ liệu bạn kết nối tới, bạn có thể thay đổi nó bằng sqlite, postgres,… Sau đó thiết lập cấu hình cho loai cơ sở dữ liệu bạn chọn. Ở đây, chúng ta sài mysql. Chúng ta phải thiết lập cấu hình cho nó như sau.
III-Sử dụng1.Cách tạo file migrationChúng ta có hai cách để tạo 1 file migration. Cách 1: Tạo thủ công bằng cách vào database/migrations tạo mới 1 file.Thông thường thì ít khi sử dụng cách này. Cách 2: Tạo bằng câu lệnh command line- Tạo migrations thông thường.
- Tạo mới migrations cho bảng.
- Tạo migrations chỉnh sửa bảng.
Ví du 1: Vậy thực tế sẽ như nào? Chúng ta cùng tạo mới 1 migration cho bảng categories với câu lệnh như sau : php artisan make:migration createcategoriestable --create=categories
Ví dụ 2: Chúng thử tạo 1 migration chỉnh sửa bảng với câu lệnh : php artisan make:migration updatecategoriestable --table=categories
Chúng ta thấy trong file migration có function up() và function down() và để ý kỹ hơn chúng ta sẽ thấy hàm Facade Schema. Vậy chức năng của chúng để làm gì ?
-Khi muốn tạo mới 1 column thì sẽ viết trong function up(). -Như chúng ta thấy trong trường hợp update 1 column thì chúng ta sư dụng hàm change() , muốn sử dụng hàm change() ta phải cài thêm package tên là doctrine/dbal.
-Trong hàm này sẽ thực thi các câu lệnh đảo ngược với function up(). -Đối với tạo mới bảng, thì mặc định function down() của nó sẽ là xóa bảng đó đi bằng lệnh : Schema::dropIfExists('table_name'). -Đối với chỉnh sửa bảng thì trong function down() phải viết các hàm ngược lại với function up().
Là hàm Facade mà Laravel hỗ trợ để thực hiện các chức năng như create, update, delete bảng. -Tạo mới bảng:
-Chỉnh sửa bảng:
-Đổi tên bảng: từ category thành categories
-Xóa bảng:
- Các câu lệnh tạo bảng hay dùng trong Migrations
- Modifier ColumnNgoài những loại cột được liệt kê ở trên, thì còn có 1 số modifier cần sử dụng trong khi thêm cột vào cơ sở dữ liệu. Ví dụ muốn cột email có giá trị là null thì ta sử dụng như sau:
Dưới đây là danh sách tất cả các thuộc tính sửa đổi cột.
2.Cách chạy file migrationSau khi tạo các migration chúng ta chạy nó bằng các câu lệnh thực thi như sau.
Lệnh trên sẽ rollback toàn bộ CSDL của bạn hay đúng hơn là chạy toàn bộ function down() trong các file migration của bạn.
Lệnh này nhằm rollback toàn bộ CSDL đồng thời chạy lại luôn toàn bộ các file migrate của bạn
Lệnh này nhằm rollback toàn bộ CSDL đồng thời chạy lại luôn toàn bộ các file migrate đồng thời chạy tấy cả các seeder.
Với lệnh này,toàn bộ file có batch mới nhất trong bảng migration sẽ chạy tất cả các function down() hay chính xác hơn là đảo ngược lại thay đổi mà nó tạo ra cho CSDL. Nếu bạn không định nghĩa nội dung cho function down thì lệnh rollback coi như không có hiệu lực đồng nghĩa với việc migration đó vẫn tồn tại trong cơ sở dữ liệu.
IV-Kết luậnĐến đây mình hy vọng các bạn đã hiểu cách hoạt động của migration, cũng như áp dụng tạo migration thành công. Hẹn gặp các bạn trong bài viết tiếp theo. Hy vọng bài viết sẽ mang lại nhiều thú vị cho mọi người. Xin cảm ơn! V-Tài liệu tham khảohttps://laravel.com/docs/5.6/migrations http://tuhocweb.com/tim-hieu-ve-migrations-trong-laravel-116.html |