Laravel7 マイグレーション(migration)を使用してカラム名を変更する手順
Laravel7でマイグレーションを使用してテーブルのカラム名を変更する手順を記述してます。
環境
- OS windows10 pro 64bit
- Composer 1.10.5
- PHP 7.4.5
- MariaDB 10.4.12
- Laravel Framework 7.6.2
※windows10に Laravel のインストールはこちら
※windows10に Composer のインストールはこちら
※windows10に PHP のインストールはこちら
※windows10に MariaDB のインストールはこちら
パッケージインストール
Laravel7では、デフォルトではカラム名の変更ができないので、まずはパッケージをインストールします。
composer require doctrine/dbal
変更用マイグレーション作成
カラム名を変更するためのマイグレーションを作成します。
php artisan make:migration change_tasks_table --table tasks
マイグレーション編集
ここではtasksテーブルにある「due_date」というカラムの名称を変更します。
テーブル名 | カラム名 | 型 |
tasks | due_date | DATE |
↓変更
テーブル名 | カラム名 | 型 |
tasks | complete_date | DATE |
database\migrations\2020_05_09_085445_change_tasks_table.phpを下記の通りに編集して、カラム名を変更します。
※downには元の名前に戻すためロールバック用のコードを記述してます。
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeTasksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('tasks', function (Blueprint $table) {
$table->renameColumn('due_date','complete_date')->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('tasks', function (Blueprint $table) {
$table->renameColumn('complete_date','due_date')->change();
});
}
}
実行します。
php artisan migrate
DBを確認すると名称が変更されていることが確認できます。
変更前
変更後
型を変更する場合は、下記となります。
Schema::table('tasks', function (Blueprint $table) {
$table->string('complete_date')->change();
});
型が変更されたことが確認できます。
-
前の記事
Nuxt.js ライブラリ「vue-card-stacke」を使用してスワイプ可能なカードを実装する 2020.06.08
-
次の記事
webサーバー「OpenLiteSpeed」のデフォルトのドキュメントルートの場所 2020.06.09
コメントを書く