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
というクラスはあるので宣言はできない、という感じだが……何か釈然としないまま、
- 最後のファイルのリネームを行う(.bakを付ける)
- migrateを実行(問題なし)
- リネームしたファイルを元に戻す
- migrateを実行(最後のファイルのみ実行される。問題なし)
とした。自動でカブらないクラス名にして貰えないものなんですかね…?
Please provide a valid cache path.
「cache」って書いてあるので、cacheディレクトリだけが足りないのか!と思ってしまいますが、同階層のviewsディレクトリがなくても同じエラーが出ます。
storage/framework/sessions
storage/framework/cache
storage/framework/views
上記のディレクトリはプロジェクト作成時に作成され、その後は自動的には作成されずエラーになるので、注意が必要です。