【PHP】Laravel にてテーブル名を変更したい!
今回のテーマ
Laravelにてマイグレーションファイル作成時に名称を間違えてしまい テーブル名を変更したい時の手順を記載します。
環境
Laravel 8.20.1
PHP 7.3.11
目次
- テーブル名変更するまで
- まとめ
テーブル名変更まで
1 まずは当然マイグレーションファイルをロールバックする
php artisan migrate:rollback
2 変更するためのマイグレーションファイルを作成する
ここではitemsという名称からcartsというテーブルに変更するように
以下のコマンドをうつ
php artisan make:migration rename_items_to_carts_table
3 作成されたマイグレーションの書き換え
作成されたマイグレーションファイルのメソッドを
Schemaクラスのrenameメソッドに書き換える。
変更前は別のメソッドの記載があるので注意
※変更前は以下のようなメソッド
Schema::table('carts', function (Blueprint $table)
use Illuminate\Support\Facades\Schema; // 中略 public function up() { Schema::rename('items','carts'); } public function down() { Schema::rename('carts','items'); } // rollbackされた場合は元の名前に戻すためupメソッドとは逆の記載になる
まとめ
新しく作成されたマイグレーションファイルのメソッドを書き換えないと
思わなくてそのままマイグレーションしてしまったので、認識しておきたいです。
以下のドキュメントを参考にしました。