目的
- マイグレーションを管理しているテーブルの確認方法を説明する。
実施環境
- ハードウェア環境
項目 | 情報 |
---|---|
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」の数字が同じマイグレーションファイルは一緒にロールバックが行われる。