Mengapa Saya Mendapat Ralat \'Kunci Unik Terlalu Panjang\' Semasa Migrasi Laravel?

Barbara Streisand
Lepaskan: 2024-10-31 04:39:30
asal
861 orang telah melayarinya

Why Am I Getting a

Menyelesaikan Masalah Ralat Migrasi Laravel: "Kunci Unik Terlalu Panjang"

Semasa cuba memindahkan jadual pengguna dalam Laravel, anda mungkin menghadapi ralat: "[IlluminateDatabaseQueryException] ... Kunci yang ditentukan terlalu panjang; panjang kunci maks ialah 767 bait." Ralat ini timbul apabila kunci unik yang anda tentukan melebihi panjang maksimum yang dibenarkan.

Memahami Isu

Panjang rentetan lalai dalam Laravel untuk lajur seperti e-mel ialah 255 watak. Apabila anda cuba mencipta kunci unik pada lajur dengan panjang rentetan yang lebih panjang (dalam kes ini, 320 aksara untuk lajur e-mel), penghijrahan gagal.

Membetulkan Ralat

  1. Kurangkan Panjang Rentetan E-mel: Tentukan panjang yang lebih pendek untuk lajur e-mel dalam anda migrasi:
<code class="php">$table->string('email', 250);</code>
Salin selepas log masuk
  1. Gunakan Panjang Rentetan Lalai: Gunakan panjang rentetan lalai untuk lajur e-mel:
<code class="php">$table->string('email');</code>
Salin selepas log masuk
  1. Tetapkan Panjang Rentetan Lalai dalam AppServiceProvider (Laravel 5.4 dan Ke Atas):

Dalam fail AppServiceProvider.php, dalam kaedah but, tetapkan panjang rentetan lalai untuk semua migrasi:

<code class="php">use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Kunci Unik Terlalu Panjang\' Semasa Migrasi Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!