Laravel миграции в laravel, исправление ошибки

Николка

Новичок
Всем здрасти, поможите пожалуйста, поправил миграцию, добавив столбик, запустил рефреш, по причине синтаксической ощибки моей вставки, слетела одна табличка, теперь migrate ни взад ни в перед, ни rollback ни reset ни refresh просит как раз ту табличку, как это исправить подскажите, ничего не понимаю, как восстановить былой лоск табличек???
 
Темы нормально называем.

Найди у себя в БД таблицу с миграциями и почисти ее. Потом накати все снова.
 
@Yuriy_S, правда думаешь, что его допустили бы до продакшна?
 
  • Like
Реакции: WMix
С нормальной базой данных - оборачивать миграцию в DB::transaction.
С mysql - страдать, зачищать руками и ждать еще лет 20, пока в mysql системные словари таки не станут версионными.
 
Спасибо за совет, пафос канешна у ребят нармальный, но я перво наперво хотел почистить миграции, но дело-то в том что тб мигратион нет инкримента, поэтому он не редактируется, поля не доступны для изменений, по поводу продакшна кодекс конечно прав, но еще не вечер, кстати на продакшне, как Вы говорите, мне проще делать обычный дамп как раз во избежание вот этой вот мега автоматизации которая призвана экономить мое время)))))) Убил 5 часов, уснул ... ща буду дальше исполнять. Подскажите пожалуйста, а где храниться информация (кроме БД) о миграциях, табличках???
 
Спасибо за совет, пафос канешна у ребят нармальный, но я перво наперво хотел почистить миграции, но дело-то в том что тб мигратион нет инкримента, поэтому он не редактируется, поля не доступны для изменений, по поводу продакшна кодекс конечно прав, но еще не вечер, кстати на продакшне, как Вы говорите, мне проще делать обычный дамп как раз во избежание вот этой вот мега автоматизации которая призвана экономить мое время)))))) Убил 5 часов, уснул ... ща буду дальше исполнять. Подскажите пожалуйста, а где храниться информация (кроме БД) о миграциях, табличках???
Сохрани таблицы с данными (если где-то уже есть полезные данные), очисти таблицу с миграциями с помощью команды TRUNCATE table_name и сделай php artisan migrate.
 
Не получается, в базе таблица одна, migration, она пустая, в папке с миграциями лежат файлы миграций, но при попытке php artisan migrate ВОТ ЭТО:
[PDOException]
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'DB.categories' doesn't exist,
таблички categories давно нет, мне не понятно, где храниться информация о таблицах давно минувших дней и на кой хрен так все завязано, снес если я по собственному желанию, что теперь приложение заново пересобирать, не понимаю, не понимаю, помогите а?? Хочу ведь понимать.
 
Я уже тупо на новом пакете устанавливал эти миграции в другую базу, делал оттуда дамп, вонзал его в свою, чтоб таблички были слово в слово, но один фиг тоже самое подавай ему эти categories и все тут, пробовал composer dumpautoload -o, вылязят ошибки про то что в папке с миграциями нет файлов, а они там есть и имена одинаковые, подскажите, пожалуйста, что почитать, в мануалах laravel, только про то какая эта волшебная и необычайная штука миграции, а про то что это все не у самого продвинутого деятеля все слететь может на раз и как это залечить ни слова, и даже не понимаю как устроена работа с этими версиями, получается инфа не в бд, не по именам файлов миграций, а как?? ХДЕ?? Я подавлен...
 
Либо ты плохо (или не туда) смотришь и таблица migrations не пустая, либо у тебя в первой же миграции делается alter table categories. Одно из двух. Чудес не бывает.

(Еще маловероятный сценарий, что какой-нибудь идиот переименовал файлы миграций).
 
Последнее редактирование:
Этим идиотом мог быть только я)))))), но я перепроверил, все гуд, вставил дамп из другой базы, где миграции выполнились через консоль, вставил, заработало, только вот теперь такая вот штука

[Symfony\Component\Debug\Exception\FatalErrorException]
Cannot redeclare class CreateUsersTable

А так вроде заработало, спасибо огромное за помощь
 
А все таки, если все делать не через черный ход, как очистить табличку migrations??? Она в phpMyAdmin не редактируемая

Данная таблица не содержит уникального столбца. Изменение сетки, выставление галочки, редактирование, копирование и удаление не доступно.
 
Есть такой язык, SQL называется.

Впрочем, даже в phpmyadmin-е этом вашем наверняка есть truncate table
 
Сверху