Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день.
Недавно начал использовать laravel, столкнулся с проблемой.
Хочу изменить таблицу users в бд, добавить поле table.
Для этого создал миграцию ChangeUsersTable, но при попытке миграции пишет мол таблица уже существует.
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'portfolios' already exists
Эта миграцию пока в другую папку перенести что-ли, выполнить и потом обратно перенести в папку миграции пока меняю таблицу users или как?
Не в сети
Покажи код создания миграции
Изменено Morry (03.04.2019 11:04:46)
Не в сети
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('login');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
//
});
}
}
Не в сети
Я вижу, что ты хочешь добавить поле login
Не в сети
Да, в этом и проблема, или мне другой код миграции скинуть?
Не в сети
У меня нормально, только что провери. Где-то ты сделал ошибку. А другие миграции работают?
Не в сети
Да, они уже в базе.
То что скинул это последняя миграция, а остальные я давно уже применил и все работало.
Не в сети
Так модет в таблице users такое поле уже есть?
Не в сети
Нету, как я понял он ругается то что таблица "portfolios" уже существует.
Так мне миграцию "portfolios" удалить что ли, и потом только применять миграцию "ChangeUsersTable"?
Не в сети
Попробуй
Не в сети
В общем, перенес все миграции в другую папку, принял миграцию для добавления поля "login", потом все вернул на место, все вроде норм.
Не в сети
А если опять нужно будет миграцию создавать? Снова будешь перекидывать их? Ищи ошибку
Не в сети
Ошибок что то не нашел.
Не в сети
Выяснялось то что таблица "migrations" в БД пустая, похоже из-за этого и были проблемы.
Как это можно исправить?
Не в сети
Удали все миграции кроме первых двую, что ларавель создает и сделай заново
Не в сети
Где удалить? В БД? Она и так пустая http://prntscr.com/n79hmf
Не в сети
В папке database/migrations
Не в сети
Есть другой метод?)
Миграции много, неохота все заново создавать)
Не в сети
Не в сети
"Nothing to rollback." - пишет
Не в сети
Страницы 1