PHPバージョン:7.1.14
Laravelバージョン:5.7.9
前回の続きです!
Migrationファイルは、作成するだけでは実行されません!
今回はMigrationの実行(migrate)を行い、
実際にデータベースにテーブルとカラムが出来ているのかを確認したいと思います!
Migrationの実行
Migrationの実行は簡単です!
$ php artisan migrate
Migrationファイルがある状態でこのartisanコマンドを実行することで、
Migration処理は行われます!
実行結果
$ php artisan migrate Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_table Migrating: 2018_11_05_053713_create_articles_table Migrated: 2018_11_05_053713_create_articles_table
前回作成したのはcreate_articles_tableだけですが、
デフォルトでcreate_users_tableとcreate_password_resets_tableという
Migrationファイルがdatabase>migrationsディレクトリにあるので実行されます。
それではMySQLにアクセスして
結果を確認してみましょう!
mysql> show columns from articles; +------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | title | varchar(255) | NO | | NULL | | | created_at | timestamp | YES | | NULL | | | updated_at | timestamp | YES | | NULL | | +------------+------------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
id, titleとtimestamp(created_atとupdated_at)が登録された
articlesテーブルが無事作成されていました!
Migrationのロールバック
それでは続いてロールバック(マイグレーションを実行する前の状態に戻す処理)を見てみましょう!
$ php artisan migrate:rollback
こちらのコマンドを実行すればロールバックされます。
実行結果
$ php artisan migrate:rollback Rolling back: 2018_11_05_053713_create_articles_table Rolled back: 2018_11_05_053713_create_articles_table Rolling back: 2014_10_12_100000_create_password_resets_table Rolled back: 2014_10_12_100000_create_password_resets_table Rolling back: 2014_10_12_000000_create_users_table Rolled back: 2014_10_12_000000_create_users_table
それではMySQLで確認してみましょう。
mysql> show tables; +-----------------------+ | Tables_in_hiyotama_db | +-----------------------+ | migrations | +-----------------------+ 1 row in set (0.00 sec)
articlesというテーブルが消滅しました。
ロールバック成功です。
ちなみにmigrationsというテーブルにはMigrationの進行状況が記録されます。
create_articles_tableのマイグレーションを実行した結果
mysql> select * from migrations; +----+------------------------------------------------+-------+ | id | migration | batch | +----+------------------------------------------------+-------+ | 4 | 2014_10_12_000000_create_users_table | 1 | | 5 | 2014_10_12_100000_create_password_resets_table | 1 | | 6 | 2018_10_24_030135_create_articles_table | 1 | +----+------------------------------------------------+-------+
今回はここまでです、ありがとうございました〜