0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravelでテーブルのカラムを変更するための方法

Posted at

はじめに

Laravelを使ってアプリを作る際にテーブルのカラム変更が発生した場合のマイグレーションの備忘録として記録します。

(例)User Tableのカラムを変更したい場合

(注意)
テーブルの更新をする場合は、あらかじめデータのバックアップを取得しておいてください。

ユーザーテーブルを例に説明します。

(更新前)

ユーザー名 メールアドレス パスワード 作成日 更新日
Qiitaたろう taro@qiita.com qiitAbc 2024-01-01 2024-02-01

(更新後)

ユーザー名 メールアドレス パスワード 作成日 更新日 権限
Qiitaたろう taro@qiita.com qiitAbc 2024-01-01 2024-02-01 true

権限の列を増やしたい場合、Migrationしてモデルを更新する必要があります。

なので、マイグレーションファイルを作成します。

php artisan make:migration マイグレーションファイル名

php artisan migrateとするとエラーが...

マイグレーションファイルを作成して、テーブルを更新するため下記のLaravelコマンドを実行。

php artisan migrate

すると、こんなエラーが出た....↓

Base table or view already exists ~ 

ボクの場合、ユーザーテーブル以外にすでに別のテーブルも作っていたため、マイグレーションエラーが出ていました。

なので、いったんLaravelのマイグレーションフォルダから、エラーを吐いているファイルを一時退避用のフォルダに入れることで解決できました。

こんな感じで、退避用フォルダ「maigration_backup」を作って既存のマイグレーションファイルを一時的に移動させておくと、エラーは発生せずにテーブル更新することができました。

退避ごだよ.png

もっとスマートなやり方があるんだと思いますが...

どうしてもうまくいかない!といった時の力技でした...💦

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?