Laravel 5.5 錯誤處理:針對多次遷移解決「基底表或視圖已存在」
執行多個Laravel 遷移時,開發者可能會遇到“基底表或視圖已存在”錯誤。當一個或多個遷移檔案嘗試建立資料庫中已存在的資料表時,可能會發生這種情況。
問題描述:
如所提供的問題中所述,嘗試使用php artisan migrate 遷移「users」表導致錯誤,而「lists」表仍未創建。
故障排除步驟:
解決方案:
在這種特定情況下,提供的解決方案涉及修改create_users_table.php 遷移文件,如下所示:
<code class="php"><?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::dropIfExists('users'); Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } }</code>
透過明確指示在create()之前遷移到dropIfExists(),解決了重複表錯誤,允許「users」表成功遷移。此外,遷移的運行順序可以透過檔案名稱來控制。例如,將遷移檔案重新命名為 2023_08_29_100000_create_users_table.php 將導致其在 2023_08_29_100000_create_lists_table.php 之前執行。
以上是如何解決 Laravel 5.5 多重遷移中的「基底表或視圖已存在」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!