Làm cách nào để thêm cột vào cơ sở dữ liệu khi di chuyển laravel?

Đôi khi cần phải thêm các cột mới trong bảng Laravel. Hôm nay tôi sẽ chỉ cho bạn cách thêm cột hoặc cột mới vào bảng hiện có trong Laravel migration

Hãy tưởng tượng rằng, bạn có một bảng tên là người dùng với cấu trúc bảng như thế này

Sau khi di chuyển và có dữ liệu vào bảng, bây giờ có thể bạn muốn thêm một cột mới vào bảng người dùng có tên là profile. Để thêm một cột mới, làm mới cơ sở dữ liệu không phải là một cách lý tưởng. Trong tình huống này, bạn có thể tạo một tệp di chuyển mới để thêm một cột mới vào bảng người dùng

Thêm một cột

Để thêm một cột mới vào bảng hiện có trong Laravel, bạn cần thêm lệnh sau vào terminal

«

Trước đó

1

/

1

Kế tiếp

»

ấu trùng 5. 5 Hướng dẫn CRUD, Giới thiệu và Tổng quan về Chương trình nghị sự, Phần đào tạo Laravel – 1 DevopsSchool

«

Trước đó

1

/

1

Kế tiếp

»

Deepak Kumar

Kỹ sư phần mềm tại Cotocus Limited

Kỹ sư phần mềm toàn diện
Email - contact@DevOpsSchool. com

Bài đăng mới nhất của Deepak Kumar [xem tất cả]

  • Lỗi NPM. Node Sass chưa hỗ trợ môi trường hiện tại của bạn - Ngày 10 tháng 11 năm 2020
  • LỖI. sh. 1. chéo env. Quyền bị từ chối - Ngày 5 tháng 11 năm 2020
  • Lỗi phiên bản gói Vue không khớp với laravel - ngày 15 tháng 9 năm 2020

Việc tạo. Migration Artisan trong Laravel [9] cho phép bạn tạo di chuyển cơ sở dữ liệu. Bạn có thể tìm thấy các tệp di chuyển kết quả là thư mục cơ sở dữ liệu/di chuyển. Sử dụng lệnh này, chúng ta có thể thêm một cột mới vào bảng [ngoài các thao tác khác]

cú pháp

Trước hết, trước tiên chúng ta hãy tạo một bảng bằng cách sử dụng make. lệnh di chuyển. Sau đây là cú pháp để tạo một bảng mới trong Laravel bằng lệnh này –

php artisan make:migration create_yourtablename_table

Ở đây, tên bảng là your_table_name. Vì vậy, chúng ta hãy tạo một bảng có tên. sinh viên

Lệnh tạo bảng sinh viên như sau

php artisan make:migration create_students_table
C:\xampp\htdocs\laraveltest>php artisan make:migration create_students_table
Created Migration: 2022_05_01_055549_create_students_table

C:\xampp\htdocs\laraveltest>

Bây giờ, nếu bạn quan sát bên trong cơ sở dữ liệu/di chuyển, bạn có thể quan sát một lớp được tạo tự động được tạo cho sinh viên như hình bên dưới –

Lớp chứa hai phương thức up[] và down[]. up[] đảm nhiệm việc giữ lược đồ cho bảng có tên là sinh viên. Theo mặc định, id và dấu thời gian được tạo và bạn có thể thêm nhiều trường hơn theo yêu cầu

Hãy để chúng tôi thêm các trường tên và email vào phương thức up[] như bên dưới -

public function up[] {
   Schema::create['students', function [Blueprint $table] {
      $table->id[];
      $table->string['name'];
      $table->string['email'];
      $table->timestamps[];
   }];
}

Bây giờ, để tạo bảng. sinh viên bên trong cơ sở dữ liệu, chúng ta cần chạy lệnh sau -

php artisan migrate
C:\xampp\htdocs\laraveltest>php artisan migrate
Migrating: 2022_05_01_055549_create_students_table
Migrated: 2022_05_01_055549_create_students_table [21.14ms]
C:\xampp\htdocs\laraveltest>

Sau khi lệnh thành công, bạn sẽ có thể thấy bảng được tạo trong MySQL dưới dạng -

Thêm một cột mới vào Bảng hiện có

Bây giờ, bảng có tên “sinh viên” đã được tạo, chúng ta hãy thêm một cột vào bảng này. Ở đây chúng tôi đang thêm một cột mới có tên là địa chỉ. Lệnh để làm như vậy sẽ như sau -

php artisan make:migration add_address_to_students --table="students" C:\xampp\htdocs\laraveltest>php artisan make:migration add_address_to_students --table="students" Created Migration: 2022_05_01_061430_add_address_to_students C:\xampp\htdocs\laraveltest>

Bây giờ, nếu bạn kiểm tra tệp bên trong cơ sở dữ liệu/di chuyển. Nội dung của tệp được tạo tự động như sau

Bên trong phương thức up[], bạn có thể thêm cột mới của mình như hình bên dưới -

public function up[] {
   Schema::table['students', function [Blueprint $table] {
      $table->text['address'];
   }];
}

Ngoài ra còn có một phương thức down[] xử lý việc loại bỏ các cột mới được tạo. Vì vậy, hãy thêm cột địa chỉ sẽ được bỏ vào bên trong phương thức down[]. Điều này hữu ích nếu lệnh di chuyển được thực hiện lại

public function down[] {
   Schema::table['students', function [Blueprint $table] {
      $table->dropColumn['address'];
   }];
}

Bây giờ, hãy để chúng tôi chạy di chuyển nghệ nhân PHP để thực hiện thay đổi trên bảng. sinh viên. Lệnh này như sau -

php artisan migrate
C:\xampp\htdocs\laraveltest>php artisan migrate
Migrating: 2022_05_01_061430_add_address_to_students
Migrated: 2022_05_01_061430_add_address_to_students [21.51ms]

C:\xampp\htdocs\laraveltest>

Bây giờ hãy nhìn vào bảng. sinh viên bên trong cơ sở dữ liệu, bạn sẽ thấy cột mới được thêm vào như hình dưới đây -

Làm cách nào để thêm cột sau cột cụ thể trong quá trình di chuyển Laravel?

Laravel cung cấp phương thức after[] dùng để đặt một cột mới sau một cột khác. Hãy tạo một di chuyển mới cho bảng người dùng và sau đó chúng tôi sẽ thêm một cột mới vào bảng mới được tạo để hiểu rõ hơn. Lệnh trên sẽ tạo một di chuyển mới trong thư mục cơ sở dữ liệu/di chuyển.

Làm cách nào để cập nhật bảng di chuyển trong Laravel 8?

Làm mới di chuyển . Navigate to database/migrations/ folder from the project root. Mở tệp di chuyển bảng mà bạn muốn chỉnh sửa. Ở đây, tôi đang mở di chuyển bảng nhân viên. Cập nhật cấu trúc bảng trong phương thức up[].

Làm cách nào để thêm di chuyển mới trong Laravel?

Để tạo một lần di chuyển mới, bạn có thể chạy make. migration Lệnh Artisan và lệnh đó sẽ khởi động một lớp mới trên ứng dụng Laravel của bạn, trong thư mục cơ sở dữ liệu/di chuyển. Lớp này sẽ chứa mã soạn sẵn mặc định.

Làm cách nào để thêm nhiều cột trong Laravel?

Sắp có Laravel vào tuần tới. Thêm nhiều cột sau một cột cụ thể. $table->string['address_line1']->after['password']; $table->string['address_line2']->after

Chủ Đề