2015-05-11 3 views
1

Я пытаюсь настроить свои таблицы и не получал мои данные в таблицу и пытался делать DB:table('tableName')->insert($variable);Конфликтующие имена таблиц с Laravel

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

Так что теперь, когда я пытаюсь запустить php artisan migrate, я получаю ошибки. Я заглянул в базу данных sqlite, и я не вижу дублирующую таблицу.

Я не могу найти, как исправить эту ошибку. Я запускаю каждую команду migrate, чтобы попытаться вернуться, но ничего не работает.

Ошибки: [Illuminate\Database\QueryException] SQLSTATE[HY000]: General error: 1 table "regions" already exists (SQL: create table "regions" ("id" integer not null primary key autoincrement, "user_id" integer not null, "start" float not null, "end" float not null, "data" text not null, "created_at" datetime null, "updated_at" datetime null, "remember_token" varchar null, foreign key("user_id") references "users"("id") on delete cascade)) [PDOException] SQLSTATE[HY000]: General error: 1 table "regions" already exists

+0

Удалить таблицу вручную, а затем запустить 'Artisan migrate' – lukasgeiter

ответ

0

, чтобы исправить это я должен был

  1. переименовывать мое имя миграции таблицы (это оригинал один)
  2. введите БД SQLite из командная строка. (теперь я вижу противоречивую таблицу, я не мог раньше)
  3. отбросить таблицу регионов (таблица, вызывающая конфликт имен)
  4. изменить имя таблицы миграции. (в моем редакторе, а не в командной строке)
  5. снова введите sqlite db и переименуйте имя измененной таблицы (это оригинал, связанный с моей миграцией) обратно к исходному имени.
  6. запустить ремесленник: обновить

отредактирован, чтобы добавить больше деталей

1

Вам нужно пойти и вручную удалить эту таблицу (и/или «другие» таблицы с таким же именем

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

php artisan migrate:refresh 

чтобы добавить вещи в таблицу м anually после того как вы настройки таблицы - попытайтесь использовать семена:

php artisan db:seed 
+0

Спасибо. Это было точно, однако, если вы прочитали мой ответ, я только что добавил, я не мог видеть эту противоречивую таблицу в своем db. Появилось только одно имя, поэтому мне пришлось сделать еще пару шагов. –

Смежные вопросы