Kiến trúc Migration trong Laravel – w3seo tìm hiểu kiến trúc Migration

Rate this post

Như chúng ta biết rằng Migration là một tính năng quan trọng trong Laravel, giúp chúng ta tạo các bảng trong cơ sở dữ liệu ở chế độ có thứ tự. Chế độ có thứ tự có nghĩa là nếu chúng ta có một lớp chạy các lệnh php Artian sẽ tạo các bảng với tất cả các trường và cột.

Các bài viết liên quan:

Hãy hiểu Kiến trúc Migration trong Laravel

Bước 1: migration đến thư mục C: \ xampp \ htdocs \ laravelproject \ database \ migrations.

Ảnh chụp màn hình ở trên cho thấy rằng chúng tôi đã mở thư mục migration có chứa hai tệp php. Các tệp này là các lớp. Tên của tệp là 2014_10_12_000000_create_users_table, trong đó 2014_10_12_000000 đại diện cho thời gian và create_users_table không đại diện cho tên của bảng mà là tên của quá trình migration.

Bước 2: Nhấp đúp vào lớp, thao tác này sẽ đưa tôi đến lớp cụ thể đó mở rộng migration.

Trong đoạn mã trên, chúng ta quan sát thấy rằng lớp migration chứa hai phương thức, tức là phương thức up () và phương thức down (). Phương thức up () được sử dụng để tạo bảng mới, thêm cột hoặc chỉ mục mới vào cơ sở dữ liệu trong khi phương thức down () ngược lại với phương thức up (), tức là nó loại bỏ các trường. Lớp trên về cơ bản là tạo bảng trong cơ sở dữ liệu. Phương thức up () chạy phương thức tĩnh, tức là create () bằng cách sử dụng lớp Schema.

Trong cú pháp trên của phương thức up (), Schema là lớp và ‘create’ là hàm tĩnh của lớp Schema. Phương thức create () chứa hai tham số, tức là tên của bảng và hàm đóng. ‘Người dùng’ là tên của bảng và hàm đóng trong đó lớp Blueprint với đối tượng của nó được truyền dưới dạng tham số. Bảng $ được sử dụng để tạo các cột trong bảng người dùng.

$ table-> bigIncrements (‘id’): Có nghĩa là $ table đang triển khai phương thức increments () đang tạo cột id trong bảng người dùng và ‘id’ này được tăng tự động.

$ table-> string (‘name’): Có nghĩa là $ table thực hiện phương thức string () để tạo cột tên trong bảng người dùng.

$ table-> string (’email’) -> unique (): Có nghĩa là $ table thực hiện phương thức string () đang tạo cột email trong bảng người dùng. Nó cũng triển khai hàm unique () có nghĩa là email phải là duy nhất.

$ table-> timestamp (’email_verified_at’) -> nullable (): Có nghĩa là $ table triển khai phương thức timestamp () để tạo cột email_verified_at trong bảng người dùng. Hàm này cũng tạo hai cột, tức là create_at và updated_at, và hai trường này được cập nhật tự động khi các bản ghi mới được thêm vào hoặc cập nhật.

Mã của phương thức down () được đưa ra dưới đây:

Schema::dropIfExists(‘users’);  

Trong đoạn mã trên, chúng ta thấy rằng phương thức down () gọi hàm dropIfExists (‘users’) bằng cách sử dụng lớp Schema. Chức năng này kiểm tra xem bảng “người dùng” có tồn tại hay không, nếu “người dùng” tồn tại, thì nó sẽ loại bỏ bảng người dùng.

Lưu ý: Cho đến bây giờ, chúng ta đã tìm hiểu về bảng đã được tạo theo mặc định hoặc chỉ là Bản thiết kế. Tuy nhiên, chúng ta cũng có thể tạo bảng của riêng mình theo các chức năng của ứng dụng của chúng ta.

Để chạy mã trên, hãy làm theo các bước được cung cấp bên dưới:

  • Mở phpmyadmin, có sẵn trong xampp.

  • Nhấp vào Cơ sở dữ liệu xuất hiện trong tab.
  • Nhập tên cơ sở dữ liệu, sau đó bấm vào nút tạo.

  • Sau khi nhấp vào nút tạo, chúng ta có thể thấy laravel_cms được tạo ở phía bên trái của bảng điều khiển.

  • Mở tệp .env và thêm tên cơ sở dữ liệu mà bạn đã thêm ở bước trước.

Cập nhật tên cơ sở dữ liệu với tên mà bạn đã tạo, như được hiển thị trong ảnh chụp màn hình ở trên.

  • Mở cửa sổ Git Bash và nhập lệnh “php Artian migrate”. Đầu ra của lệnh này được hiển thị trong ảnh chụp màn hình bên dưới:

Ảnh chụp màn hình ở trên cho thấy rằng bảng migration đã được tạo.

  • Ảnh chụp màn hình bên dưới hiển thị bảng migration trong phpmyadmin.

  • Ảnh chụp màn hình dưới đây cho thấy kiến trúc của bảng ‘người dùng’.

Kết quả trên cho thấy bảng ‘người dùng’ đã được tạo sau khi chạy quá trình migration trong cửa sổ Git bash.