質問: ### 前提・実現したいこと まず初めに、エラーが起こった経緯を説明します。 1. `php artisan make:migration add_user_id_to_users_table --table=users`でマイグレーションファイルを生成 2. 何も記載せずに間違えて、`php artisan migrate` をしてしまいました。 3. そして、ここも間違いなのですが、既にマイグレート済みの上記のファイルに、`$table->integer('user_id');`を追加し、再度`php artisan migrate`してしまいました。 4. この結果、下記のエラーが発生しました。 ### 発生している問題・エラーメッセージ ``` [Illuminate\Database\QueryException] SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (SQL: create table `users` (`id` int unsigned not null auto_increment primary key, `name` varchar(255) not null, `email` varchar(255) not null, `password` varchar(60) not null, `rem ember_token` varchar(100) null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8 collate utf8_unicode_ci) [PDOException] SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists ``` ### 試したこと * php artisan migrate:rollback => Nothing to rollback. (Nothing to rollbackとなる理由は、こちらの記事を参考に、データベース(migrations)からマイグレートファイルを全て削除した影響かもしれません。) * php artisan migrate:reset => Nothing to rollback * php artisan migrate:refresh => SQLSTATE[42S01]エラーと同様な文章が出ます。 * ターミナルで、`mysql -u root`を入力し、mysql上で、`create database app_name_development;`を実行し、再度データベースを作って、.envファイルのデータベース指定を変えて、再度マイグレートしてみましたが、直りませんでした。 ### 補足情報(言語/FW/ツール等のバージョンなど) PHP, Laravel 5.2, ATOM, Sequel Pro
回答: 一応、自己解決欄に記載していますが、twin_birdさんのアドバイスのお陰で解決しました。 1. コマンドライン上でMYSQLにアクセス(mysql -u root)後、`drop database database_name`を実行し、データベースを削除する。 *database_nameは、任意の名前です。* 2. MYSQLにアクセスした状態で、`create database database_name`を実行し、データベースを作り直してください。 3. マイグレーションファイルの内容を確認後、通常のコマンドライン上で`php artisan migrate`を実行してください。 上記のプロセスが正しい解決方法なのか分かりませんが、自分の場合は解決できました。 twin_birdさん、アドバイスありがとうございました。