Laravel 開発では、データベース構造を管理するために移行をよく使用します。しかし、移行を削除する必要がある場合はどうすればよいでしょうか?
この記事では、Laravel で移行を削除するいくつかの方法について説明します。
方法 1: merge:rollback
Laravel は、移行をロールバックする非常に簡単な方法を提供します。次のコマンドを使用します:
php artisan migrate:rollback
これにより、最後に実行された移行がロールバックされます。
しかし、特定の移行を削除したい場合はどうすればよいでしょうか?この場合、次のコマンドを使用してみてください:
php artisan migrate:rollback --step=1
これにより、最後に実行した移行のステップ数がロールバックされます。これらのステップは、--step=
オプションを使用して変更できます。たとえば、3 つの移行をロールバックしたい場合は、次のコマンドを実行できます:
php artisan migrate:rollback --step=3
移行をロールバックすると、データベース内の移行に対応するデータ テーブルが削除されることに注意してください。がテーブル内のデータである場合、データも削除されます。
方法 2: migration:rollback
次のコマンドを使用して移行をロールバックします。
php artisan migrate:rollback --path=/database/migrations/{specific_migration_file_name.php}
中括弧内では、代わりに特定の移行ファイル名を使用します。これにより、指定された移行がロールバックされ、移行に対応するテーブルがデータベースから削除されます。
移行をロールバックすると、データベース内の移行に対応するデータ テーブルが削除されることに注意してください。テーブルにデータが存在する場合は、そのデータも削除されます。
方法 3: 移行ファイルを削除してパス
移行ファイルを直接削除することもできますが、これを行う前に、移行テーブル内の移行ファイル レコードを削除する必要があります。そうしないと、移行コマンドを再度実行できなくなります。
次のコマンドを使用して、移行テーブルから移行ファイル レコードを削除できます。
php artisan migrate:reset
これにより、移行コマンドを再実行できるように、データベースから移行テーブル内のすべてのレコードが削除されます。
これで、特定の移行ファイルを削除してパスできます。ただし、次の点に注意する必要があります。
もちろん、移行ファイルを削除してパスすることは、最も推奨されない方法です。ロールバックできず、例外が発生しやすいためです。
要約:
これらの方法はどれも完璧ではなく、環境やニーズに応じて選択できます。圧縮パッケージに基づくプロジェクトでは、特定の移行ファイルを削除するだけで済みます。オンライン環境では、ロールバックと指定された移行の削除の違いにより、開発者は操作する前に移行テーブルをある程度理解する必要があります。いずれにせよ、削除操作には注意してデータのバックアップを作成する必要があります。
以上がLaravelの移行の削除の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。