目的
- マイグレーションを管理しているテーブルの確認方法を説明する。
実施環境
- ハードウェア環境
| 項目 | 情報 |
|---|---|
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |
- ソフトウェア環境
| 項目 | 情報 | 備考 |
|---|---|---|
| PHP バージョン | 7.4.3 | Homwbrewを用いて導入 |
| Laravel バージョン | 7.0.8 | commposerを用いてこちらの方法で導入→Mac Laravelの環境構築を行う |
| MySQLバージョン | 8.0.19 for osx10.13 on x86_64 | Homwbrewを用いてこちらの方法で導入→Mac HomebrewでMySQLをインストールする |
前提情報
- LaravelアプリとMySQLのDBが紐付いていること。(.envファイルでDBの指定がされており、マイグレートが実行できる状態になっていること。)
詳細
-
下記コマンドを実行してMySQLにログインする。(rootユーザのパスワードがわからなくなった方はこちら→Mac ローカル環境の MySQL 8.0 のrootパスワードを忘れた時のリセット方法)
$ mysql -u root -p -
下記を実行してLaravelアプリと紐付いているDBを指定する。
mysql> use DB名; -
下記を実行してマイグレーションを管理しているテーブルの内容を確認する。
mysql> select * from migrations;
説明
-
マイグレーションを管理しているテーブルのselect文の出力例を下記に記載する。
mysql> select * from migrations; +----+--------------------------------------------------+-------+ | id | migration | batch | +----+--------------------------------------------------+-------+ | 1 | 2014_10_12_000000_create_users_table | 1 | | 2 | 2014_10_12_100000_create_password_resets_table | 1 | | 3 | 2019_08_19_000000_create_failed_jobs_table | 1 | | 4 | 2020_06_19_030827_create_admins_table | 2 | | 14 | 2020_06_22_012231_create_□□_table | 3 | | 15 | 2020_06_22_013938_create_△△_table | 3 | | 16 | 2020_06_22_014218_create_▲▲_table | 3 | | 17 | 2020_06_22_014439_create_■■_table | 3 | | 18 | 2020_06_22_060959_create_◆◆_table | 4 | +----+--------------------------------------------------+-------+ -
上記出力結果に記載されているマイグレーションファイルが現段階でマイグレートが行われているマイグレーションファイルである。
-
上記出力結果に記載未記載のマイグレーションファイルが
アプリ名ディレクトリ/databases/migrations直下に存在した上で$ php artisan migreteコマンドを実行した場合、未記載のマイグレーションファイルがマイグレートされる。 -
$ php artisan migrate:rollbackを実行した際には「batch」の数字が大きい順にロールバックが行われる。「batch」の数字が同じマイグレーションファイルは一緒にロールバックが行われる。