web学習日記

プログラミングやweb関係を学んだことを呟くブログ

Laravel入門

f:id:nana205:20190614012831p:plain

PHPフレームワークLaravel入門を学んでchapter5のマイグレーション部分で躓いたのでメモする

エラー発生

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (SQL: create table `users` (`id` int unsigned not null auto_in
  rement primary key, `name` varchar(191) not null, `email` varchar(191) not null, `password` varchar(191) not null, `remember_token` varchar(100) nul
  , `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci)

既にusersテーブルが作らているとのエラー文が、 途中 で php artisan migrate:resetをしてテーブルを作り直そうとしたのですが、
Nothing to rollbackでエラーを返されました。

あと、以下のエラー文もでてきました。 1050のusersテーブルは既に存在します。

base table or view already exists 1050 table 'users' already exists

原因

結果的にデータベース内にあるmigrations users people password_resets テーブルが残っていて重複したのが原因なようです。

解決

データベースのテーブルデータを全て削除して改めてphp artisan migrateしたところ解決しました。

Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table
Migrating: 2018_10_25_150834_create_users_table
Migrated:  2018_10_25_150834_create_users_table
Migrating: 2018_10_25_150855_create_people_table
Migrated:  2018_10_25_150855_create_people_table

出典 Laravel 5.5でマイグレーションのエラーが発生した場合の2つの対処法 | Minory