【Laravel 7.23.0】ログイン機能を作成する④ データベースのカラムの属性値を変更(マイグレーション)

投稿者: | 2020年8月8日
Laravelアイコン

環境
php 7.4.1
Mysql Ver 15.1 Distrib 10.4.11-MariaDB
Laravel  7.23.0
composer 1.10.9

 

前回はカラムを追加しました。

今回はカラムの属性値を変更します。

前回と手順はほぼ一緒なので前回のカラム追加ができたなら楽勝です\(^^)/

 

それではいってみましょう!

 

マイグレーションファイルを作成

add_col_Modifier_table。まずは属性値を変更するためのファイルを作成します。

とはいっても前回同様に下記の1文で自動でファイルと中身も作成してくれます。

 

make:migrationコマンド(cmd/ターミナル)

 

database\migrations

コマンドを実行すると自動で2020_08_08_015846_add_col__modifier_table.phpが作成されます。

 

upとdownの編集(change)

作成したマイグレーションファイルの編集を行います。

 

カラム追加の時と同様に変更するのは下記のfunctionのupとdownの2か所のみです。

変更箇所

①public function up()

②public function down()


$table->変更

だけの簡単な処理です。

 

①upの処理(更新処理)

$table->string(‘tel’, 100)->change();
telのvarcharを255から100に変更します

 

②downの処理(rollback巻き戻し)

$table->string(‘tel’, 255)->change();
telのvarcharを100から255に元に戻します(upの逆にすればOK)

編集が終わったら次はデータベースを更新していきます。

 

データベースのtelの属性値を更新

migrateさせて今作成したファイルを読み込ませデータベースを更新します。

 

migrateコマンド(cmd/ターミナル)

 

【エラー時】

インストール↓↓Doctrine DBALライブラリー

コマンド

 

データベースの確認

usersテーブルのtel属性値が変更されたかを確認します。

 

コマンド(cmd/ターミナル)

 

変更前

変更後

telのvarcharが255から100にきちんと変更されています。

 

まとめ

今回実行したことはたったの3つです。

①php artisan make:migration カラムの属性値を変更するためのファイル作成

②$table->カラムの属性値を変更するための処理

③php artisan migrate マイグレーションファイル実行(データベース更新)

【次回】データベースにダミーデータを挿入する(seeder と faker)

以上です。