Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat 'Migrasi Laravel: Kunci Unik Terlalu Panjang'?

Bagaimana untuk Membetulkan Ralat 'Migrasi Laravel: Kunci Unik Terlalu Panjang'?

Linda Hamilton
Linda Hamiltonasal
2024-12-15 15:55:11249semak imbas

How to Fix the

Mengatasi Isu "Migrasi Laravel: Kunci Unik Terlalu Panjang"

Apabila memindahkan jadual pengguna Laravel, pembangun mungkin menghadapi ralat yang menunjukkan bahawa kunci unik yang ditentukan adalah terlalu panjang. Walaupun secara eksplisit menyatakan parameter kedua dalam kaedah unique(), seperti yang dicadangkan oleh urutan isu Laravel, ralat berterusan.

Isu asas berkisar pada panjang lajur e-mel. Panjang lalai Laravel untuk lajur rentetan ialah 255 aksara, yang mungkin tidak mencukupi untuk alamat e-mel.

Penyelesaian

Untuk menyelesaikan isu ini, nyatakan panjang yang lebih kecil untuk lajur e-mel . Panjang lalai yang disyorkan ialah 250 aksara:

$table->string('email', 250);

Walau bagaimanapun, perlu diingat bahawa isu ini telah ditangani dalam Laravel 5.4. Untuk menggunakan penyelesaian untuk versi ini:

Untuk Laravel 5.4 dan Kemudian

  1. Edit fail AppServiceProvider.php.
  2. Tambahkan kod berikut pada boot() kaedah:
use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}

Ini menetapkan panjang rentetan lalai sebanyak 191 aksara untuk lajur rentetan, yang menghapuskan keperluan untuk menentukan panjang lajur secara manual.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Migrasi Laravel: Kunci Unik Terlalu Panjang'?. 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