ホームページ >データベース >mysql チュートリアル >Laravel 5.5の複数の移行における「ベーステーブルまたはビューはすでに存在します」エラーを解決するにはどうすればよいですか?
Laravel 5.5 エラー処理: 複数の移行での「ベース テーブルまたはビューがすでに存在します」への対処
複数の Laravel 移行を実行する場合、開発者は次のような問題に遭遇する可能性があります。 「ベーステーブルまたはビューはすでに存在します」エラー。これは、1 つ以上の移行ファイルがデータベースにすでに存在するテーブルを作成しようとした場合に発生する可能性があります。
問題の説明:
提供された問題で概説されているように、 php 職人移行を使用して「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 中国語 Web サイトの他の関連記事を参照してください。