【Laravel】migrationでtableを削除する

【Laravel】migrationでtableを削除する

LaravelにはmigrationというDBを管理できる、DBのバージョン管理のようなサポート(≒機能)があります。

これはLaravelのSchemaファサードに属しており、(Laravelが対応する)全てのDBシステムに対してtableを作成・操作するため、特定のDBに依存しないサポートを提供します。

migrationは通常このFacadeを使用して、DBのtableとcolumnを作成・変更します。

この機能を使えば、全てのエンジニアが同じDBを揃えることが可能になり、わざわざ手動でDBを変更する作業を行わなくてもよくなります。

tableを削除する方法

Laravelのmigrationでは、既存のtableを削除するときにはdropまたはdropIfExistsメソッドを使います。

migrationを生成するときは以下の様にmake:migrationArtisanコマンドを使用してmigrationファイルを生成します。

先ほど挙げた通り、tableの削除はdropまたはdropIfExistsなので、恐らくファイル名は以下でok。

migrationの構造

migrationファイルには2つのメソッドが必要です。upメソッドとdownメソッド。

upメソッドはDBに新しいテーブル、カラム、またはインデックスを追加するために使用します。

downメソッドはupメソッドで実行したのと逆の操作をする。以前の状態に戻せます。

migrationの実行

以下のコマンドを実行すると、未処理のmigrationファイルをすべて実行することができます。

どのmigrationファイルが実行されているかを確認するには以下のコマンドを実行で確認できます。