土. 10月 8th, 2022

はじめに

laravelのmigration機能を使ってcreate tableを行う。

 デフォルトの設定

laravelのmigrationファイルは以下の通り

“` database/migrations “` 配下にファイルが存在している。

database/migrations/
合計 12
-rw-rw-r--. 1 coco nginx 746 11月 26 04:18 2014_10_12_000000_create_users_table.php
-rw-rw-r--. 1 coco nginx 683 11月 26 04:18 2014_10_12_100000_create_password_resets_table.php

テーブルを追加する

migrationファイルの追加

php artisan make:migration create_hogehoge_table --create="hoge"

hogehogeというファイル名のintegration fileが作成され、hogeテーブル作成のphpファイルが作成される。

カラムを追加する

viで追加したいカラムを追加する

laravelで使うことができるメソッドは以下の公式ドキュメントに書いてある

https://laravel.com/docs/5.8/migrations

例えば、stringであればvarcharに置き換えられる

動作確認

migrate前にテーブルを確認する

mysql> show tables;
+-------------------+
| Tables_in_laravel |
+-------------------+
| migrations        |
| password_resets   |
| users             |
+-------------------+
3 rows in set (0.00 sec)

デフォルトのusersテーブルと、残り2つはmigrationを実施する際に作成されるテーブル

migrateを実施する

php artisan migrate

問題なければ以下のようにテーブルが新規でhogeテーブルが作成される

mysql> show tables;
+-------------------+
| Tables_in_laravel |
+-------------------+
| hoge              |
| migrations        |
| password_resets   |
| users             |
+-------------------+
4 rows in set (0.00 sec)

mysql> 

 状況確認

migrationの状況を確認するには “` migrate:status “` を実行する。

[coco@instance-2 cms]$ php artisan migrate:status 
+------+------------------------------------------------+
| Ran? | Migration                                      |
+------+------------------------------------------------+
| Y    | 2014_10_12_000000_create_users_table           |
| Y    | 2014_10_12_100000_create_password_resets_table |
| Y    | 2019_11_28_161446_create_hogehoge_table        |
+------+------------------------------------------------+
[coco@instance-2 cms]$ 

RunがYの場合は、migrationが完了しているものになる。