PHP.Фреймворк laravel. Column already exists: 1060 Duplicate column name 'author_id'
Ребята!! Пишу дипломный проект, проект, как понимаете находится на локальном сервере OpenServer, использует phpmyadmin, в нем возникла ошибка в ходе неверных действий с таблицами в базе данных. Буду очень благодарен за помощь! Вот ошибки:
Illuminate\Database\QueryException : SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'author_id' (SQL: create table
posts(post_idbigint unsigned not null auto_increment primary key,author_ idbigint unsigned not null,author_idbigint unsigned not null,titlevarchar(191) not null,short_titlevarchar(191) not null,imgvarchar(191) null,descrtext not null,created_attimestamp null,updat ed_attimestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')**
Exception trace:
1.Doctrine\DBAL\Driver\PDOException::("SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'author_id'") C:\OSPanel\domains\laralove\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatement.php:119
2.PDOException::("SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'author_id'") C:\OSPanel\domains\laralove\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOStatement.php:117
Проблема появилась после команды php artisan migrate:fresh - видимо нельзя было её писать в момент того, когда таблицы уже заполнены и проект уже функционирует. После этого из базы данных удалилась одна из таблиц, о которой идет речь в самой верхней цитате.
Если понадобится что либо дополнительно для того чтобы определить в чем дело - скину! Спасибо!
Ответы (2 шт):
migrate:fresh подразумевает дроп всех таблиц и заливку всех миграций, попробуйте в ручную удалить все таблицы и проверьте все файлы миграций чтобы не было дублирования создания таблицы posts
php artisan migrate что вам говорит напишите или что выше описано это и есть ответ на миграцию, и да для более широкого понимания я бы посмотрел сами миграции. Если ушла последняя добавленая таблица можно еще попробовать сочетание php artisan migrate:rollback затем php artisan migrate при условии что в структурах миграций все в порядке должно отработать, это первой командой откатит последнии миграции, затем заного вызвать их останется.