今回はLaravel(バージョン8~)のmigrationを用いて、既存のDBテーブルにカラムを追加・更新する方法を解説していきます。
流れ
- 更新用のmigrationフォルダを作る
- migrationフォルダに変更したいカラムの処理を書く
- php artisan migrateで反映
目次
1 更新用のmigrationフォルダを作る
artisanコマンドでmigrationファイルを作ります。
php artisan migration テーブル名 --table=テーブル名
既存のテーブルに変更を加える場合は--table=テーブル名
で既存のテーブル名を指定。
migrationファイルのテーブル名も具体的な方が良いです。
例)
php artisan make:migration add_user_id_to_lecture_table --table=lecture
2 migrationフォルダに変更したいカラムの処理を書く
カラムを追加する場合
例)
Schema::table('users', function (Blueprint $table) {
$table->string('email'); //カラム追加
});
既存のカラムを変更する場合
既存のカラムを変更する場合はchange()を使います。
例)
//name列のサイズ変更
Schema::table('users', function (Blueprint $table) {
$table->string('name', 50)->change();
});
//nameをnull許容に変更
Schema::table('users', function (Blueprint $table) {
$table->string('name', 50)->nullable()->change();
});
3 php artisan migrate
最後にphp artisan migrate
しましょう。
DBを確認して反映されていたらOKです。