2015-09-05 6 views
1

Я пытался создать новую таблицу, но когда я добавлял часть Schema::create(), я копировал/вставлял ее из пользователей, так что и моя таблица моих пользователей, и моя новая таблица мигрировали как Schema::create('users'), и она столкнулась с проблема, так как было 2 таблицы с одинаковым именем. Когда я понял проблему, я исправил ее, но поскольку теперь я не могу отказаться от таблиц с php artisan migrate:reset и php artisan migrate:refresh, потому что уже есть две таблицы с тем же именем. (Таким образом, я тоже не могу откат).Laravel 5.1 - Ошибка миграции

Мое имя БД - Усадьба как оригинальная.

Ошибки я получаю:

[Осветите \ Database \ QueryException] SQLSTATE [42S02]: Базовая таблица или представление не найдено: 1051 Unknown таблица 'homestead.users' (SQL: падение таблицы users)

[PDOException] SQLSTATE [42S02]: Базовая таблица или представление не найдено: 1051 неизвестная таблица 'homestead.users'

И я не уверен, если я беспорядок все , если я вручную войти в vagrant ssh и падение & создавать таблицы вручную:

mysql> drop database Homestead;

mysql> create database Homestead;

+1

Вы можете просто «отбросить базу данных базы данных» и «создать базу данных базы данных», а затем запустить «php artisan migrate» еще раз. – Jamesking56

+0

Ответ jamesking56 отсортирован. благодаря – senty

ответ

2

После @ комментарий Jamesking56, я использовал:

mysql> drop database homestead; 

mysql> create database homestead; 

php artisan migrate 

и это решает мою проблему.

1

В вашей функции down() вашей миграции введите этот код.

Schema::dropIfExists('users'); 

Затем выполните следующие команды из командной строки.

php artisan migrate:rollback 

php artisan migrate 

ВАЖНО: Это приведет к таблице пользователей, если таблица пользователей существует. если таблица не существует, ничего не произойдет, и никакая ошибка не будет давать, поскольку MySQL преобразует ошибку в предупреждение.

0

Удалите все таблицы из своей базы данных, включая таблицу миграций. После удаления таблиц вы можете перенести свою базу данных по-прежнему.