Xóa tables, types và views sử dụng wipe artisan command trong Laravel Chuyên mục PHP và Laravel 2023-07-28 507 Lượt xem 49 Lượt thích 0 Bình luận

Nếu bạn đang tìm kiếm một cách nhanh chóng để xóa bỏ tất cả các tables, types và views của chúng và nếu bạn đang sử dụng Laravel 6.x, bạn có thể sử dụng lệnh thủ công nhỏ này có tên là db:wipe để làm điều tương tự.
php artisan db:wipe {--database=} {--drop-views} {--drop-types} {--force}
Dưới đây là giải thích về những gì mỗi tùy chọn sẽ làm.
- database - Kết nối cơ sở dữ liệu để sử dụng
- drop-views - Xóa tất cả các tables và views
- drop-types - Bỏ tất cả các bảng và loại (chỉ dành cho Postgres DB)
- force - Buộc hoạt động chạy khi trên production
Điều này có thể hữu ích trong các tình huống mà bạn cần một cách nhanh chóng để loại bỏ tất cả tables, types và views. Điển hình là trong các tình huống mà bạn đã tự động hóa quá trình backup và migration. Nó ngăn ngừa hỏng cơ sở dữ liệu do khóa ngoại và cho phép thực hiện backup sao lưu toàn bộ ở cấp ứng dụng.
Bạn có thể nói rằng có một lệnh migration:reset. Đúng vậy, nhưng nó rất chậm đối với nhiều migrations vì nó lặp qua bảng migrations và thực thi phương thức down cho mỗi migration. Nhưng điều quan trọng hơn là phương pháp down có thể bị thiếu nếu quá trình migrations được thiết kế để chỉ đi up method hoặc không có khóa ngoại trong chúng. Reset progress sẽ bị hỏng và cơ sở dữ liệu bị hỏng. Bạn sẽ không thể chạy lại migration:reset và bạn sẽ buộc phải xóa tất cả các bảng, tables & types trực tiếp trong cơ sở dữ liệu.
Bây giờ bạn có thể dùng db:wipe và sau run cmd migrate. thế là xong rồi !
Bình luận (0)