はじめに
今回も自分用のメモとしてアウトプットします。
###・カラムの追加
1.migrationファイルの作成
例:postsテーブルにtagというカラムを追加したい場合
$ php artisan make:migration add_tag_to_posts_table --table=posts
上記の
add_tag_to_posts_tableの部分は任意の命名で大丈夫です。
ですが、マイグレーションファイル名がそのままクラス名として生成されるので、できるだけわかりやすい名前をつけた方が良いです。
--table=postsの部分では、カラムを追加するテーブルの指定を行なっています。
1のコマンドをターミナルで実行するとマイグレーションファイルが作成されます。
2.migrationファイルに記述の追加
upメソッドに追加の処理を記述します。
public function up()
{
Schema::table('posts', function (Blueprint $table) {
$table->string('tag');
});
}
上記のような感じですね。
3.migrationの実行
$ php artisan migrate
こちらでテーブルにカラムの追加ができます。
・カラムの削除
こちらもカラムの追加と流れは似ています。
1.まずは、composer で “doctrine/dbal” パッケージを追加する必要があります。
$ composer require doctrine/dbal
2.migrationファイルの作成
例:postsテーブルのtagというカラムを削除したい場合
$ php artisan make:migration drop_column_tag_column --table=posts
こちらもカラムの追加と同様に、任意のファイル名とカラムを削除したいテーブルの指定をします。
3.migrationファイルに記述の追加
upメソッドに削除の処理を記述します。
public function up()
{
Schema::table('posts', function (Blueprint $table) {
$table->dropColumn('tag');
});
}
public function down()
{
Schema::table('posts', function (Blueprint $table) {
// カラム作成時のコードを記述
});
}
カラムを削除するには、スキーマビルダのdropColumnメソッドを使用します。
tagの部分は、削除したいカラム名に変更をお願いします。
また、downメソッドにカラム作成時に書いたコードを記述しておくと、ロールバック時に消したカラムを元に戻すことができます。もしそれが不要の場合は記述は無しでも大丈夫です。
4.migrationの実行
$ php artisan migrate
これでテーブルからカラムの削除ができます。
さいごに
初歩的ではありますが、自分の為にもアウトプットしました。
今回の記事で誤字、脱字等ありましたらお手数ですがご指摘をお願い致します。また、最後まで見て頂きありがとうございました!!