はじめに
テーブル(マイグレーションファイル)を作成した後に、カラムを追加したくなるときってありますよね。
私は、Laravelを学習し始めた頃、既に作成しているマイグレーションファイルにカラムを追加して、もう1回php artisan migrate
すればいいんじゃないのって思っていました。
しかし、それではrollback
するときに、downメソッドによりテーブルが削除されてしまうので、それまでにテーブルに格納していたデータがなくなってしまいます。
そこで、以下の方法でカラムを追加していきます。
カラムの追加方法
ターミナルもしくはコマンドプロンプトを起動し、
php artisan make:migration --table=[テーブル名] [マイグレーションファイル名]
を実行してマイグレーションファイルを追加します。
追加したマイグレーションファイルにカラムを追記して、php artisan migrate
を実行すると、カラムを追加することができます。
マイグレーションファイルのupメソッドの記述
・テーブル作成用
作業日時_create_users_table.php
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->text('name');
$table->timestamps();
});
}
・カラム追加用
作業日時_users_add_columns.php
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->text("mail")->nullable();
});
}