LoginSignup
0
1

More than 3 years have passed since last update.

Laravel で DROP TABLE したテーブルを再び migrate する方法

Last updated at Posted at 2020-10-24

一度 DROP TABLE したテーブルを再び migrate する

DROP TABLE は表構造ごと完全削除します。そのため,再びテーブルが必要になった場合はもう一度 migrate を実行する必要があります。

しかし,そのままでは migrate できないので以下に対処法を紹介します。


試しに DROP TABLE してみる。

mysql> USE mydb;
mysql> DROP TABLE my_table;

テーブルが消えた状態で migrate を実行しようとすると,migrate するものがないと言われてしまいます。

> php artisan migrate
Nothing to migrate.

migrations テーブルから, DROP したテーブルの id を確認します。

mysql> SELECT * FROM migrations;

該当するレコードを削除します。
Laravelでは migrations テーブルでマイグレーションの実行履歴を管理しています。
既にテーブルを削除していても,この履歴を消さない限り migrate は実行されません。

mysql> DELETE FROM migrations WHERE id='20';

履歴を削除したので migrate を実行します。

> php artisan migrate

無事にテーブルが作成されました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1