Как обновить один столбец при миграция в laravel?

Изучаю лару и миграции базы данных в ней. Столкнулся с проблемой обновления столбцов в базе (ALTER TABLE)

Скажем у меня есть миграция blog

в function up простая таблица

Schema::create('blog', function (Blueprint $table) {
            $table->id();
            $table->char('title', 150);
            $table->timestamps();
});


Далее делаю
php artisan migrate

После я заполнил таблицу данными и вдруг мне приспичило добавить столбец, скажем description

Вопрос: как это сделать?

Пробовал путем "table" в function up(){}, после create
Schema::table('blog', function (Blueprint $table) {
            $table->text('description');
});


Но не выходит. Как же правильней сделать ALTER TABLE не потеряв все данные?
Так как использовав php artisan migrate:refresh он потрет все(

PS. Вычитал что можно создать еще одну миграцию и в ней уже делать только правку (через Schema::table()) таблицы blog

Просто я думал что правильная структура миграций это одна таблица = одна миграция. Если нет, то как не запутаться тогда в всех миграциях. Не зазывать же их blog_add_desc и тд
  • Вопрос задан
  • 502 просмотра
Решения вопроса 1
JhaoDa
@JhaoDa
LaravelRUS Team
Вычитал что можно создать еще одну миграцию и в ней уже делать только правку таблицы blog
Не можно, а нужно.

Просто я думал что правильная структура миграций это одна таблица = одна миграция
Нет.

Не зазывать же их blog_add_desc и тд
Примерно так и называть.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы