【Laravel】 DBのカラムを追加・編集・削除をする方法
今回は、LaravelでDBのカラムを追加や編集、削除を行う方法を簡単にまとめてみます。
使用環境
Laravel 6.2
MySQL 8.0
前提
hogeテーブルを作っているとします。
class CreateHogeTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('hoge', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('hoge');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('hoge', function (Blueprint $table) {
//
});
}
}
カラムを追加
すでにあるテーブルにカラムを追加します。
以下を実行します。
php artisan make:migration add_hoge_id_to_hoge_table --table=hoge
ここのadd_hoge_id_to_hoge_table
は任意の名前です。
後に確認したときに何をどのテーブルに追加するか
と明記した方がわかりやすいかなと思います。
ここで重要なのが--tableオプション
です。このオプションの後はテーブル名を記載しましょう。
実行するとmigrationファイルが生成されます。
追加したいカラムを記載します。
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('hoge', function (Blueprint $table) {
$table->string('hoge_id'); //追加したいカラム
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('hoge', function (Blueprint $table) {
//
});
}
}
後は、migrateをすれば追加完了です!
php artisan migrate
カラムを編集する
次は、カラムを編集します。
先ほど追加したカラムをnullを許容するように設定します。
migrationファイルを作成する前に、ライブラリをインストールしないとできません。
以下を実行してインストールしましょう。
composer require doctrine/dbal
次にmigrationファイルを作成します。
php artisan make:migration change_hoge_id_to_nullable_on_hoge_table --table=hoge
生成されたファイルに記載していきます。
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('hoge', function (Blueprint $table) {
$table->string('hoge_id')->nullable()->change(); //編集したいカラム
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('hoge', function (Blueprint $table) {
//
});
}
}
後は、migrateをすれば編集完了です!
php artisan migrate
カラムの削除
先ほど追加、編集したカラムを削除します。
php artisan make:migration drop_column_hoge_id_column --table=hoge
生成されたファイルに記載していきます。
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('hoge', function (Blueprint $table) {
$table->dropColumn('hoge_id'); //削除したいカラム
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('hoge', function (Blueprint $table) {
//
});
}
}
後は、migrateをすれば削除完了です!
php artisan migrate
以上が、カラムの追加、編集、削除の方法でした。
参考文献
https://qiita.com/usaginooheso/items/6f307a15b5f7d5dd981f
https://qiita.com/kambe0331/items/1fe65fc001b958efb6d0
ありがとうございました!
Author And Source
この問題について(【Laravel】 DBのカラムを追加・編集・削除をする方法), 我々は、より多くの情報をここで見つけました https://qiita.com/Yuichi-Iizuka/items/d5f2137e0d4b60c5e5ae著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .