Migration trong trong Laravel

Tram Ho

1. Migration.

  • Migration có thể được hiểu như một phiên bản database của bạn tại một thời điểm nào đó vậy.
  • Nó giúp cho việc chia sẻ lược đồ database của bạn khi làm việc nhóm trở nên dễ dàng hơn.
  • Chỉ cần chạy migration là bạn có thể sinh ra một lược đồ giống như bạn đã định nghĩa.
  • Và tất nhiên là bạn cũng có thể sửa được các cột trong database rồi.

2 Tạo migration.

  • Để tạo ra một migration trong laravel thì bạn chỉ cần chạy lệnh sau trong terminal:

  • Kết quả sau khi chạy lệnh là bạn nhận được một file migration ở trong thư mục database/migrations
  • Về phần --create hay --table là để chỉ ra tên của bảng và việc migration có tạo bảng mới hay không.
  • Mỗi file migration được đặt tên bao gồm timestamp + tên để xác định thứ tự migartion với nhau.

3 File migration.

  • Trong file này có 2 funtion là updown.
  • Về cơ bản thì function up sẽ chạy khi bạn thực thi câu lệnh php artisan migrate còn function down sẽ được chạy khi bạn thực thi câu lệnh php artisan migrate:rollback.
  • Tất nhiên là khi function up được thực thi thì nó sẽ sinh ra một bảng uers trong database của bạn còn function down sẽ xóa bảng đó đi.

4 Chạy migration

  • Như ở trên mình có nói thì để thực thi các file migration thi bạn chỉ cần chạy lệnh:

  • Và để quay trở lại trạng thái trước đó thì chạy lệnh:

  • Ngoài ra bạn cũng có thể xác định số bước khôi phục bằng lựa chọn --step .

  • Laravel cũng cung cấp cho bạn một cách để bạn không cần phải chạy lại migrate mỗi khi rollback đó là

5. Schema

  • Bạn có thể hiểu Schema dùng để tạo, sửa, xóa,.. những thứ liên quan đến table trong database.

  • Bạn cũng có thể kiểm tra xem bảng hoặc cột đó có tồn tại hay không bằng cách

  • Tạo cột:

  • Bạn có thể tham khảo các kiểu dữ liệu ở đây: tại đây

6. Foreign Key Constraints

  • Để tạo các rằng buộc cho các bảng, chúng ta có thể sử dụng cú pháp sau để rằng buộc cho 2 bảng:

Kết luận

  • Trên đây là những điều cơ bản về migration mình muốn giới thiệu tới các bạn. Mong rằng nó sẽ giúp được các bạn.
  • Phần sau mình sẽ giới thiệu cho các bạn về models trong Laravel.
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo