4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Laravelで「Cannot declare class UpdateUsersTable」ほか

Last updated at Posted at 2019-03-03

Cannot declare class UpdateUsersTable

Laravel 5.5でmake:authを使い、テーブルのカラムの変更を2回行った。
別の端末でセットアップし、php artisan migrateを実行したところ、

In 2019_03_01_183512_update_users_table.php line 29:
Cannot declare class UpdateUsersTable, because the name is already in use

というエラーメッセージが表示され、マイグレートが行われない。

2014_10_12_000000_create_users_table.php
2019_03_01_163803_update_users_table.php
2019_03_01_183512_update_users_table.php

で、エラーが起こっているのは最後のファイルである。
エラー行の29行目はファイルの最終行であり、class UpdateUsersTable extends Migration {対応の閉じ括弧の行だ。

すでにUpdateUsersTableというクラスはあるので宣言はできない、という感じだが……何か釈然としないまま、

  1. 最後のファイルのリネームを行う(.bakを付ける)
  2. migrateを実行(問題なし)
  3. リネームしたファイルを元に戻す
  4. migrateを実行(最後のファイルのみ実行される。問題なし)

とした。自動でカブらないクラス名にして貰えないものなんですかね…?

Please provide a valid cache path.

「cache」って書いてあるので、cacheディレクトリだけが足りないのか!と思ってしまいますが、同階層のviewsディレクトリがなくても同じエラーが出ます。

storage/framework/sessions
storage/framework/cache
storage/framework/views

上記のディレクトリはプロジェクト作成時に作成され、その後は自動的には作成されずエラーになるので、注意が必要です。

4
5
1

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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?