Laravelで一つのマイグレーションファイルでカラムの追加と削除を行うにはどうすればいいんだろう…
こんな疑問を解決します。
カラムの追加と削除のマイグレーションファイルを別々に作成するのは面倒ですよね。
この記事を最後まで読めば、一つのマイグレーションファイルでカラムの追加と削除を行う方法がわかります。
リンク
ココナラと似てるサイト比較11選!【2023年最新版】
この記事ではココナラに似てる副業サイトを11こ紹介しています。 今すぐスキルをお金にするなら、記事で気になったサービスに登録してみましょう。 本記事のゴール ココ…
転職におすすめなサイト11選【リモート・フリーランスも対象】
転職におすすめなサイトが知りたいなぁ… 転職エージェントによって相性があります! この記事では、フリーランスの方でも利用できる転職におすすめなサイトを紹介しま…
休日で空いた時間の暇つぶしを探せるアプリを公開しています。
companiesテーブルの構造
companiesテーブルに以下のカラムを追加
- company_edit_flg
- company_update_flg
- company_delete_flg
companiesテーブルに以下のカラムを削除
- book_index_flg
- book_create_flg
- book_store_flg
上記を1つのマイグレーションファイルで書く方法について解説します。
まずは、マイグレーションファイルを作成します。
php artisan make:migration add_drop_columns_to_companies_table --table=companies
マイグレーションファイルを編集します。
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddDropColumnsToCompaniesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('companies', function (Blueprint $table) {
$table->integer('company_edit_flg')->after('company_store_flg');
$table->integer('company_update_flg')->after('company_edit_flg');
$table->integer('company_delete_flg')->after('company_update_flg');
});
Schema::table('companies', function (Blueprint $table) {
$table->dropColumn('book_index_flg');
$table->dropColumn('book_create_flg');
$table->dropColumn('book_store_flg');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('companies', function (Blueprint $table) {
$table->integer('book_index_flg')->after('company_store_flg');
$table->integer('book_create_flg')->after('book_index_flg');
$table->integer('book_store_flg')->after('book_create_flg');
});
Schema::table('companies', function (Blueprint $table) {
$table->dropColumn('company_edit_flg');
$table->dropColumn('company_update_flg');
$table->dropColumn('company_delete_flg');
});
}
}
上記のようにカラム追加・削除のSchema::tableを記述するだけです。
upにはカラム追加・削除のSchema::tableを書きます。
そして、downにはrollbackした時の処理を書くので、Schema::tableの1つ目はbook_index_flgたちを追加し、Schema::table2つ目には追加したcompany_edit_flgたちを削除します。
Contents
【まとめ】カラムの追加と削除を同じマイグレーションファイルで行う
一つのマイグレーションファイルでカラムを追加・削除する方法を解説しました。
ぜひ身につけて、マイグレーションに強くなってくださいね!
このブログでは他にも実務で役立つLaravelの記事を書いているので、ぜひ合わせてチェックしてください。
PHP・Laravelのおすすめ書籍
ココナラと似てるサイト比較11選!【2023年最新版】
この記事ではココナラに似てる副業サイトを11こ紹介しています。 今すぐスキルをお金にするなら、記事で気になったサービスに登録してみましょう。 本記事のゴール ココ…
転職におすすめなサイト11選【リモート・フリーランスも対象】
転職におすすめなサイトが知りたいなぁ… 転職エージェントによって相性があります! この記事では、フリーランスの方でも利用できる転職におすすめなサイトを紹介しま…
休日で空いた時間の暇つぶしを探せるアプリを公開しています。
コメント