EGO-LOG

40代2児の父。主にプログラム学習と開発、仮想通貨、メタバース、たまに関係ないことを綴る。

Laravel.40 テーブルカラム追加(再)

前回

tenomeuonome.hateblo.jp

言語切替を実装したかったが細部が理解できておらず、参考サイトを元に実装できていない。

 

■テーブルカラム追加

結構前にテーブルの列追加を試したが、マイグレーションファイルに追記しても反映されず、リフレッシュ的なコマンドを実行したら反映はされたがデータがクリアされてしまったことがあった。

tenomeuonome.hateblo.jp

この時は、カラム追加用のファイルは削除して元ファイルにカラムを追加した状態でマイグレーションし直したが、今回は別カラムを追加したく、再挑戦。

 

参考↓

codelikes.com

■カラム追加用のマイグレーションファイル作成

threadsテーブルにcategoryカラムを追加したい。

$php artisan make:migration add_category_to_threads_table --table=threads

Created Migration: 2022_05_03_232400_add_category_to_threads_table

ファイルが作成されたのを確認

 

マイグレーションファイル編集

ファイルのup関数にカラム情報を記述。

public function up()
 {
    Schema::table('threads', function (Blueprint $table) {
        $table->integer('category');
    });
}

 

マイグレーション実行

$php artisan migrate

Migrating: 2022_05_03_232400_add_category_to_threads_table
Migrated:  2022_05_03_232400_add_category_to_threads_table (313.86ms)

あれ?何事もなく追加された。

nebikatsu.com

記述の仕方がまずかったのかな?

出来たと喜んでいたら、カラムの属性を間違っていたことに気付く。

 

 

■カラムの属性変更

ライブラリを追加する必要があるそう。

$composer require doctrine/dbal

 

それ用のマイグレーションファイルを作成する。

$php artisan make:migration change_type_to_threads_table --table=threads

編集。

public function up()
{
    Schema::table('threads', function (Blueprint $table) {
        $table->string('category')->change();
    });
}

マイグレーション実行

$php artisan migrate

治った。

 

他にいくつかほかのテーブルにも項目追加したが問題なし。

 

続く