@kaxa3201

Как выполнить правильно миграцию Laravel?

Есть написанная миграция
public function up()
    {
        Schema::create('auto', function (Blueprint $table) {
            $table->increments('id');
            $table->string('auto');
            $table->string('uri');
            $table->string('model');
            $table->string('number');
            $table->timestamps();
        });
    }
    public function down()
    {
        Schema::dropIfExists('auto');
    }


я изменил некоторые поля, добавил одно поле и удалил одно поле.
Как мне обновить конкретно эту таблицу, не трогая остальные?
php artisan migrate:refresh создаёт заново всю БД
А мне нужно конкретно обновить миграцию CreateAutoTable
  • Вопрос задан
  • 1335 просмотров
Решения вопроса 1
Ruless
@Ruless
Frontend development
Лучше, создай новую миграцию и сделай в ней те изменения которые тебе нужно, уже созданную миграцию лучше не менять, но бывают разные случаи. Вот посмотри тут
qaru.site/questions/90505/rollback-one-specific-migration-in-laravel
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
batyrserseri
@batyrserseri
Создай новую миграцию и возпользуйся методом change
Schema::table('users', function (Blueprint $table) {
    $table->string('name', 50)->change();
});

https://laravel.com/docs/5.8/migrations#columns
Ответ написан
Комментировать
@jazzus
Изменения в миграцию вносить нельзя. Нужно создать новую.
// удаляем поле
Schema::table('auto', function (Blueprint $table) {
    $table->dropColumn('remove_field');
});

// добавляем поле
Schema::table('auto', function (Blueprint $table) {
    $table->integer('add_field')->nullable();
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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