
Trong quá trình làm một dự án hay như là một ứng dụng như thế nào đó, việc chỉnh sửa và biến đổi cấu trúc giỏi thuộc tính của database rất dễ dàng xảy ra. Khi thao tác làm việc nhóm việc các bạn thay đổi bất cứ thứ gì trong database cũng hầu như phải nhất quán với toàn bộ các máy của những dev cùng làm cho với chúng ta để đảm bảo nhất tiệm về DB. Việc này giả dụ làm bằng tay thì sẽ rất rất lâu chưa kể đến việc khó khăn quản lý biến đổi của DB hay là muốn rollback lại tâm trạng DB trước này cũng sẽ chạm mặt rất nhiều khó khăn. Bạn đang xem: Tìm hiểu về laravel migrations
1/ kết nối với csdl trong laravel
Trước tiên các bạn có nhu cầu sử dụng được phương tiện Migrations thì các bạn phải tạo ra project và liên kết được cùng với DB. Tiếp sau đây là cấu hình file .env liên kết với DB.

2/ tạo migrations
- Để sản xuất migrations, các bạn sửa dụng Artisan Command `make:migration`:
$ php artisan make:migration create_users_tableFile migration sẽ được tạo ở đường dẫn database/migrations. Từng tên file migration được sinh ra số đông chứa nhãn thời gian timestamp nhằm Laravel xác định được sản phẩm tự của migrations.
Tùy chọn --table với --create rất có thể được thực hiện để chỉ ra tên của bảng cùng migrations sẽ tạo nên một bảng mới.
Ví dụ:
$ php artisan make:migration create_users_table --create=users$ php artisan make:migration add_email_to_users_table --table=users
3/ kết cấu migrations
Một lớp migration cất 2 hàm up() cùng down(). Hàm up được thực hiện để tạo nên 1 bảng, cột, xuất xắc index mang đến database. Hàm down đã làm trái lại những hành động của hàm up.Ví dụ một file migration chế tác bảng users.increments("id"); $table->string("name"); $table->string("email"); $table->timestamps(); }); } /** * Reverse the migrations. * *return void */ public function down() Schema::drop("users"); }
4/ Chạy migrations
- Để chạy tất cả các migrations của bạn thì các bạn dùng câu lệnh Artisan migrate:$ php artisan migrate - Để chạy tất cả các migration theo đường truyền file thì tùy vào các bạn đó là chúng ta sử dụng câu lệnh với băng thông path mình ví dụ như sau: Nó sẽ thực hiện chạy toàn bộ các file gồm trong đường dẫn đó.
$php artisan migrate --path=app/foo/migrations
5/ Rollback migrations
- Để khôi phục lại lần tiến hành migration ngay sát nhất`, các bạn sử dụng câu lệnh rollback. Lệnh này sẽ quay lại "batch" migrations lần ở đầu cuối mà chúng ta thực hiện.$ php artisan migrate:rollback - Các bạn cũng có thể giới hạn con số migrations rollback bằng cách sử dụng tùy chọn `step`. Ví dụ như sau:
$ php artisan migrate:rollback --step=5 - Lệnh migrate:reset đã rolllback lại tất cả các migrations:
$ php artisan migrate:reset
6/ Rollback và Migrate trong 1 câu lệnh
Lệnh migrate:refresh vẫn rollback toàn bộ các migrations của chúng ta và tiến hành migrate lại trường đoản cú đầu. Để thực hiện được vấn đề đó các bạn sử dụng câu lệnh sau:$ php artisan migrate:refreshTùy lựa chọn --seed sẽ triển khai đồng thời seed lại những file seeder của các bạn sau khi refresh lại database của các bạn. Các bạn thực hiện tại và áp dụng với câu lệnh sau:$ php artisan migrate:refresh --seedTùy lựa chọn step cung cấp tùy chọn cách cho lệnh refresh như trên mình đã có trình bày về tùy lựa chọn step rồi.Ví dụ: lệnh sau sẽ rollback với migrate lại 5 migrations ngay sát nhất$ php artisan migrate:refresh --step=57/ Drop all tables cùng migrate
Câu lệnh migrate:fresh vẫn drop tất cả các bảng trong database với chạy lại migrate tự đầu:$ php artisan migrate:freshCác chúng ta có thể kèm theo tùy lựa chọn seed:$ php artisan migrate:fresh --seed8/ Database: Seeding
- Seeder trong Laravel là class mang lại phép chúng ta xử lý dữ liệu trong database. Class này đã hỗ trợ chúng ta tạo ra data test, đổi khác cập nhật dữ liệu khi đề xuất thiết. - toàn bộ các seeder vào Laravel phần đa được đặt trong folder database/seeders. Khoác định thì Laravel đã có mang sẵn cho các bạn class DatabaseSeeder ở sẵn trong folder trên. Với các bạn có thể sử dụng cách tiến hành call nhằm gọi những seeder khác khi đề xuất thiết.Tạo new Seeder.
Để tạo mới một seeder vào Laravel các chúng ta cũng có thể sử dụng command:php artisan make:seeder SeederNameTrong đó: SeederName là tên gọi của seeder các bạn muốn tạo.VD: Mình sẽ tạo một UsersSeeder.
php artisan make:seeder UsersSeederMột Seeder class mặc định chỉ đựng duy độc nhất vô nhị một thủ tục run. Cách tiến hành này sẽ tiến hành thực thi khi các bạn chạy câu lệnh db:seed. Trong cách làm này các chúng ta cũng có thể viết logic để làm việc với DB như sử dụng Query Builder hoặc dùng Eloquent model factories.VD: bản thân sẽ áp dụng Query Builder insert thêm user vào UsersSeeder vừa sinh sản ở trên.
Xem thêm: Đặt Tên Hay Con Gái 2022 Quá Hay Lại Ý Nghĩa, Đặt Tên Hay Con Gái 2022
insert(< "name" => Str::random(10), "email" => Str::random(10)."
gmail.com", "password" => Hash::make("password"), >); }}Để thực thi những seeder không giống trong seeder nào kia các chúng ta có thể sử dụng phương thức call.VD: điện thoại tư vấn UsersSeeder trong tệp tin DatabaseSeeder.
call(< UsersSeeder::class >); }}Chạy seeder.
Để thực thi những seeder trong Laravel chúng ta sử dụng câu lệnh:php artisan db:seedCâu lệnh này sẽ tiến hành DatabaseSeedersDatabaseSeeder class.
Để triển khai một seeder rõ ràng trong Laravel chúng ta truyền thêm thông số --class với seeder class các bạn có nhu cầu chạy.
VD: thực hiện UsersSeeder.
php artisan db:seed --class=UsersSeederKhi áp dụng qua ai đang ở trên production, mà các bạn chạy seeding thì Laravel vẫn hiển thị ra một prompt để xác nhận lại xem chúng ta có thực thụ muốn thực thi seeder trên production hay không. Nếu các bạn không ao ước hiển thị prompt mà mong force chạy luôn luôn seed các chúng ta cũng có thể truyền thêm thông số --force.VD:
php artisan db:seed --force