Laravel 7.X (cũng hoạt động ở 8X): Giải pháp đơn giản .
Lựa chọn 1:
php artisan db:wipe
Cập nhật các giá trị này (Bên dưới) của mảng mysql trong /config/database.php
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
Và sau đó
php artisan migrate
Xong rôi! Bảng di chuyển sẽ được tạo thành công .
Lựa chọn 2:
Sử dụng php artisan db:wipe
hoặc xóa / bỏ tất cả các bảng trong cơ sở dữ liệu của bạn theo cách thủ công.
Cập nhật AppServiceProvider.php của bạn [ Nằm trong app / Providers /AppServiceProvider.php ]
use Illuminate\Support\Facades\Schema;
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
Và sau đó
php artisan migrate
Xong rôi!
Cạm bẫy: Tôi muốn đề cập đến bình luận của @shock_gone_wild
Hãy cẩn thận về giải pháp này (Tùy chọn-2). Ví dụ: nếu bạn lập chỉ mục các trường email, các email được lưu trữ chỉ có thể có độ dài tối đa là 191 ký tự. Đây là ít hơn các trạng thái RFC chính thức.
Theo tùy chọn, tôi đã thử những cách khả thi này (như bên dưới) nhưng không hiệu quả .
php artisan config:cache
php artisan migrate:fresh
php artisan migrate:reset