Laravel Sail 起動時のエラーと対応
発生したエラー
./vendor/bin/sail up -d
を実行した際に、以下のエラーが発生。
これは、Laravel の sessions
テーブルがデータベースに存在しないため発生している。
マイグレーションの実行
エラーを解決するため、以下のコマンドを実行。
./vendor/bin/sail artisan migrate
を実行したところ以下のようになった。
migrate を実行した際に、以下のエラーが発生した。
SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'image'
これは、posts テーブルに image カラムを追加しようとしたが、すでに存在している ために発生しているようだ。
そこで
直前の変更を取り消しするために
./vendor/bin/sail artisan migrate:rollback --step=1
./vendor/bin/sail artisan migrate
を実行し、マイグレーションファイル (2025_03_11_085257_add_image_to_posts_table.php) を開いて
image カラムがすでに存在している場合は追加しないように変更した。
public function up()
{
Schema::table('posts', function (Blueprint $table) {
if (!Schema::hasColumn('posts', 'image')) {
$table->string('image')->nullable();
}
});
}
./vendor/bin/sail artisan migrate
を実行して無事エラーは解決。