Rate this post

Trong chủ đề trước, chúng ta đã có được kiến ​​thức về các phép migrations đã có trong dự án laravel. Bây giờ, chúng ta sẽ học cách tạo ra quá trình migrations của riêng mình.

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

Các bước để tạo migrations

Sau đây là các bước để tạo migrations:

  • Mở cửa sổ Git bash và nhập lệnh dưới đây: ‘

php artisan make:migration create_posts_table – -create=”posts”

Kết quả trên cho thấy bảng migrations đã được tạo với tên “create_posts_table”. ‘-Create = “posts”‘ Là cờ tạo bảng với tên “posts”. Chúng tôi tuân theo quy tắc tương tự để đặt tên cho bảng migrations như laravel đã làm với bảng migrations mặc định.

Để xem bảng migrations, hãy mở thư mục “C: \ xampp \ htdocs \ firstprojectproject \ database \ migrations”.

Kết quả trên cho thấy rằng bảng migrations với tên “create_posts_table” đã được tạo thành công.

  • Mở tệp migrations, cấu trúc của tệp này được đưa ra dưới đây:

Đoạn mã trên là lớp mới được tạo có 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 () triển khai phương thức create () có chứa hai tham số, tức là tên của bảng (các bài đăng) và hàm đóng. Hàm đóng chứa lớp Blueprint với đối tượng $ table của nó làm tham số. Hai cột được tạo bởi Laravel; cột đầu tiên là cột tự động tăng dần với tên ‘id’ và cột thứ hai là loại dấu thời gian.

Giả sử tôi đã thêm hai cột nữa được hiển thị trong đoạn mã dưới đây:

Bây giờ chúng ta sẽ thực hiện việc migrations để chạy đoạn mã trên. Mở cửa sổ Git bash để chạy lệnh migrations.

Lệnh trên tạo bảng migrations trong cơ sở dữ liệu.

Mở phpmyadmin để xem bảng migrations.

Kết quả ở trên cho thấy rằng quá trình migrations đã được tạo và cả bảng ‘bài đăng’.

Cấu trúc của bảng ‘bài viết’ được hiển thị bên dưới:

Thêm cột vào bảng hiện có bằng cách sử dụng migrations

Tôi muốn thêm các cột mới trong bảng đã được tạo. Tôi không muốn quay lại tệp đã tạo bảng đó, bỏ bảng, sau đó tạo lại bảng và migrations lại nó. Vì vậy, tôi sẽ tạo một tệp migrations mới để thêm các cột mới vào bảng hiện có.

Sau đây là các bước để thêm cột vào bảng hiện có:

  • Mở cửa sổ Git bash và nhập lệnh dưới đây:

php Artian make :igration add_column_admin_is_to_table -table = “posts” trong đó add_column_admin_is_to_table là tên của tệp migrations và -table = “posts” là cờ báo cho laravel biết rằng chúng ta đang làm việc với bảng post.

  • Tệp migrations được tạo trong thư mục xampp / htdocs / firstproject / database / migrations, trong đó firstproject là tên của dự án laravel.
  • Mở tệp migrations và cấu trúc của tệp migrations mới tạo được cung cấp bên dưới:
  • Chúng tôi thêm đoạn mã sau vào phương thức up ():

Đoạn mã trên cho thấy rằng chúng tôi đang thêm cột mới, tức là is_admin vào bảng bài đăng.

  • Nhập lệnh migrations trong cửa sổ Git bash, tức là migrations nghệ nhân php.
  • Mở phpMyAdmin để xem cấu trúc của bảng ‘bài viết’.

Trong kết quả đầu ra ở trên, chúng ta quan sát thấy rằng cột mới, tức là is_admin, được tạo và kiểu của số nguyên là không có dấu. Số nguyên không dấu có nghĩa là cột này không chứa bất kỳ số âm nào.

  • Nếu chúng ta muốn áp dụng một số sửa đổi cho cột này, thì trước tiên, chúng ta cần khôi phục quá trình migrations. Lệnh là php Artian migrate: rollback.
  • Khi chúng tôi quay lại quá trình migrations, thì cấu trúc của cấu trúc ‘bài viết’ sẽ giống như sau:

Kết quả trên cho thấy cột is_admin đã bị xóa khỏi bảng.

  • Giả sử tôi muốn cung cấp giá trị mặc định cho cột is_admin, thì nó có thể được thực hiện như sau:
  • Để thêm lại cột is_admin vào bảng bài viết với giá trị mặc định là 0, hãy chạy lệnh migrations.
  • Mở phpMyAdmin.

Kết quả ở trên cho thấy cột is_admin được thêm vào bảng bài viết với giá trị mặc định là 0.

Leave a Reply

Call now
%d bloggers like this: