🙋♂️
Laravel初心者が学んだこと - マイグレーション編
PHPのフレームワークでは、cakePHPを少し触ったことがありますが、今回初めてフレームワークを体系的に学ぶということでLaravelを触ってみました。その際にメモしたことを簡単にまとめてみました。
今回はその第一弾ということで『マイグレーション』についてのまとめです!
そもそもマイグレーションとは?
- 何かを他の環境に移行すること
- ここではDBの話
- 自分が定義したDBを他人がすぐ使えるようにする
- PHPファイルでDBを管理
マイグレーションが必要な理由
新機能の開発に伴って、データベースの形が変わることはよくあること。
例えば、Usersテーブルにageカラムを追加した場合、他の人がソースコードを取り込んだ時、マイグレーションない場合、追加したカラムがないのでエラーが発生してしまう。
→ そのためPHPファイルでLaravelと一緒に管理することによって、スムーズに移行できる。GitHubにマイグレーションファイルを追加しておく。
DBマイグレーションがあれば、機能の追加とともにDBの整合性もとれる
マイグレーションでできること
- テーブルの作成・削除
- カラムの追加・削除
- テーブル・カラムの変更
マイグレーションの使い方
- 実例
php artisan make:migration create_tags_table --create=tags
- オプション
- --create(同時にテーブル作成)
- --table(変更テーブル指定)
コマンドを実行すると、マイグレーションファイルが作成されるので、そのファイル内容を書き換えることで自分の思い通りのテーブルを作成できる。
テーブルの追加実行
php artisan migrate
実行すると、マイグレーションファイルの内容に実際のDBが変更される
テーブルの変更(カラム追加)
php artisan make:migration add_tag_id_memos_table --table=memos
マイグレーションでよく使う命令
-
->change()
: カラム変更 -
->nullable()
: NULL許可カラム -
->default(値)
: 絡むのデフォルト値を指定 -
->unsigned()
: 符号なしカラム(+や-が付かない) -
->after(ターゲットカラム)
: カラムを作る位置を指定 -
->comment(コメント)
: DBにコメントを書く機能
まとめと重要ポイント
- マイグレーションはDBを他人に共有するための仕組み
- チーム開発においては必須
- インターネット公開サーバを構築するなら必須
- マイグレーションファイルを使うとあらゆるDB操作ができる
次回はLaravelの「モデル」についてまとめてみようと思います!
引き続き学習を進めていきます!
Discussion