Я пытаюсь использовать Laravel Migration для создания таблиц SQL, но это не позволит мне.
Вот ошибка:
SQLSTATE [42S01]: базовая таблица или представление уже существуют: 1050 Таблица «mytable» уже существует
Вот мой код:
Schema::create('mytable', function (Blueprint $table) { $table->increments('id'); $table->foreign('othertable_id') ->references('id')->on('othertable') ->onDelete('cascade'); $table->string('variable'); $table->timestamps(); }); } { Schema::drop('mytable'); }
Я также проверил, что другие миграции называются «mytable», но это не так, поэтому я не уверен, откуда это взялось.
Я попробовал следующее:
Первый
php artisan migrate:refresh
Который дал мне ошибку
И затем я удалил всю базу данных altogheter и использовал:
php artisan migrate
И все еще получил ошибку
сделать composer dump
, удалить таблицу вручную из базы данных, а также удалить запись миграции для таблицы, которую вы хотите удалить из таблицы миграции, и снова запустить миграцию, чтобы узнать, что произойдет.
В laravel 5.5 и> вы можете использовать:
$ php artisan migrate:fresh // ( not migrate:refresh wich is a different command)
Эта команда сначала отбрасывает все таблицы, а затем повторно запускает все миграции
Ошибка говорит, что таблица mytable
уже существует в БД. Вы должны отменить миграцию:
php artisan migrate:rollback
И снова мигрируйте:
php artisan migrate