Laravel, почему я не могу запустить успешную миграцию таблицы создания с немного отличающимся написанием имени таблицы?

Я пытаюсь выполнить миграцию в Laravel 4, но я продолжаю получать следующую ошибку:

[Illuminate\Database\QueryException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'ramen.categories ' doesn't exist (SQL: create table `categories` (`id` int unsigned not null auto_increment primary key) default character set utf8 collate utf8_unicode_ci) 

Как ни странно, если я изменил имя таблицы из «категорий» на «категоризацию», миграция выполняется успешно.

Это команда, которую я использовал для создания миграции:

 php artisan migrate:make create_categories_table --table=categories --create=categories 

И это фактический файл миграции:


используйте Illuminate \ Database \ Schema \ Blueprint;
используйте Illuminate \ Database \ Migrations \ Migration;

класс CreateCategoriesTable расширяет миграцию {

 /** * Run the migrations. * * @return void */ public function up() { Schema::create('categories', function(Blueprint $table) { $table->increments('id'); $table->timestamps(); $table->integer('parent')->unsigned(); $table->string('category_type'); $table->string('name'); $table->string('type'); $table->index('type'); $table->index('parent'); $table->index('name'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('categories'); } 

}

Опять же, я получаю ошибку, если я запустил эту миграцию, но если я просто изменил «категории» на «категоризацию», миграция выполняется успешно.

Раньше у меня была таблица со списками, которую я не настроил с помощью миграции. Я уронил эту таблицу. У меня также был файл модели категорий, который я удалил. Я сбросил все таблицы базы данных и перезапустил все миграции и попытался запустить composer dump-autoload (хотя я не уверен, что это могло бы иметь какое-либо отношение к этой проблеме).

Почему я получаю эту ошибку «table not found» при попытке создать таблицу категорий?

Я проверил этот поток, который похож на мою проблему, но не помог мне решить эту ошибку: Laravel 4 migrate base table not found

Оказывается, это была проблема с MYSQL, а не с Laravel. Я попытался создать таблицу «категорий» непосредственно в PHP MyAdmin и не смог этого сделать.

Создание таблицы с произвольным именем, переименование этой таблицы в «категории», а затем удаление этой таблицы, похоже, устранило проблему. Впоследствии я смог успешно выполнить миграцию.

https://stackoverflow.com/a/10925588/1043556