Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membetulkan Ralat Migrasi Laravel \"Kunci Unik Terlalu Panjang, Walaupun Ditentukan\"?

Bagaimana untuk Membetulkan Ralat Migrasi Laravel \"Kunci Unik Terlalu Panjang, Walaupun Ditentukan\"?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 04:48:02873semak imbas

How to Fix

Ralat Penghijrahan Laravel: "Kunci Unik Terlalu Panjang, Walaupun Dinyatakan"

Ralat migrasi Laravel boleh timbul apabila mencipta kunci unik untuk lajur yang melebihi panjang maksimum yang dibenarkan. Dalam senario yang diberikan, pengguna menghadapi isu ini semasa cuba memindahkan jadual pengguna dengan lajur e-mel yang mempunyai panjang 320 aksara.

Mesej ralat menunjukkan bahawa kunci yang ditentukan (e-mel) terlalu panjang , dengan panjang kunci maksimum 767 bait. Untuk menyelesaikan isu ini, penyelesaian yang disyorkan ialah mengurangkan panjang lajur e-mel.

Panjang lalai untuk lajur rentetan dalam Laravel ialah 250 aksara. Dengan menetapkan lajur e-mel kepada panjang ini, penghijrahan harus berjaya tanpa ralat panjang kunci unik. Sebagai alternatif, lajur e-mel boleh ditetapkan kepada panjang yang lebih kecil berdasarkan keperluan khusus aplikasi.

Untuk Laravel 5.4 dan ke atas, penyelesaian tambahan tersedia. Dengan mengedit fail AppServiceProvider.php dan menetapkan panjang rentetan lalai dalam kaedah but, panjang maksimum semua lajur rentetan boleh dilaraskan.

Dengan menetapkan Builder::defaultStringLength kepada nilai yang lebih kecil, seperti 191 , ralat harus diselesaikan dan penghijrahan boleh diteruskan dengan jayanya.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Migrasi Laravel \"Kunci Unik Terlalu Panjang, Walaupun Ditentukan\"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn