データベースの扱い方のメモになるよう備忘録的な記事になってます!
- この記事はこんな人におすすめ
- マイグレーションファイルを作成したい
- テーブルを作成したい
- カラム追加、変更、削除がしたい
今回はこのようにmigrationファイルの作成に悩んでる方へむけて解説していきます!
データベースの取り扱いに悩んでる方は、ぜひ参考にしてみてください。
忙しい方のために!
基本的にテーブルの作成、カラムの追加、変更、削除をする際は必ず全てにmigrationファイルを作成しmigrateを実行します!
テーブルの作成 | php artisan make:migration create_users_table | |
カラム | 追加 | php artisan make:migration add_email_to_users_table –table=users |
変更 | php artisan make:migration change_email_column_in_users_table –table=users | |
削除 | php artisan make:migration remove_email_from_users_table –table=users |
接頭辞に処理名をつけておくとわかりやすいです
migrationのやり方
1:テーブルの作成
Step1:migrationファイルの作成
migration作成コマンド | php artisan make:migration 任意のファイル名 |
- ターミナルを開き、プロジェクトのルートディレクトリに移動します。
- 以下のコマンドを実行してマイグレーションファイルを作成します
※migrationを始めるには、まずmigrationファイルを作成する必要があります。
php artisan make:migration create_users_table
するとdatabase/migrations
ディレクトリに下記のような新しいファイルが作成されます。
※このmigrationファイルにカラムの情報を記載します。
migrationファイルの書き方は下記記事を参考にしてください。(随時更新します)
Step2:migrateの実行
migrateコマンド | php artisan migrate |
必要なカラム情報をmigrationファイルに記載したらmigration(migrationファイルを適用)を行いテーブルを作成します!
下記のコマンドを実行してください!
php artisan migrate
2:カラムの追加
migration作成コマンド | php artisan make:migration 任意のファイル名 –table=カラムを追加したいテーブル名 |
1,コマンドの実行
php artisan make:migration add_email_to_users_table --table=users
上記のようにカラム追加用のmigrationファイルを作成すると下記のようなファイルが作成されます!
up
メソッド内に以下のコードを記述します
$table->string('email')->nullable()->after('id');
down
メソッドには以下のコードを記述します
$table->dropInExsist('email');
すると下記のようなファイルになります!
upにはmigrateが実行された時の処理を書きます!
downにはテーブルが削除された時の処理を書きます!
- マイグレーションを実行します
php artisan migrate
3:カラムの変更
既存のカラムを変更するにはcomposer.json
ファイルに doctrine/dbal
パッケージを追加してください
migration作成コマンド | php artisan make:migration 任意のファイル名 –table=カラムを変更したいテーブル名 |
1,コマンドの実行
php artisan make:migration change_email_column_in_users_table --table=users
上記を実行するとカラム追加と同じようなファイルが作成されます!
2,up
メソッド内に以下のコードを記述します
$table->string('email', 20)->change();
3,down メソッド内に以下のコードを記述します
$table->string('email')->change();
4,マイグレーションを実行します
php artisan migrate
カラムの削除
migration作成コマンド | php artisan make:migration 任意のファイル名 –table=カラムを変更したいテーブル名 |
1,コマンドの実行
php artisan make:migration remove_email_from_users_table --table=users
上記を実行するとカラム追加と同じようなファイルが作成されます!
2,up
メソッド内に以下のコードを記述します
$table->dropColumn('phone');
3,down
メソッド内に以下のコードを記述します
$table->string('email')->nullable()->after('id');
4,マイグレーションを実行します。
php artisan migrate
4. まとめ
以上、、データベースのテーブル作成からカラムの追加・変更・削除までの手順を解説しました!
以上太郎でしたー!
コメント