Как изменить столбцы с нулевым значением на значения по умолчанию в Laravel?

#laravel #migration #nullable #default-value #doctrine-dbal

#laravel #миграция #nullable #значение по умолчанию #doctrine-dbal

Вопрос:

Я хочу изменить некоторые столбцы таблицы в Laravel с null на значения по умолчанию. Я установил doctrine / dbal и создал новую миграцию со следующими столбцами, которые я хочу изменить (ранее с нулевым значением):

 public function up()
    {
        Schema::table('movies', function (Blueprint $table) {
            $table->string('movieDirector')->default('')->change();
            $table->string('movieGenre')->default('')->change();
            $table->string('movieCast')->default('')->change();
        });
    }
  

Однако, похоже, это ничего не дало. Возможно ли это сделать? Спасибо!

Ответ №1:

Вам нужно создать новую миграцию с помощью команды:

 php artisan make:migration update_movies_table
  

Затем в этом созданном классе миграции добавьте эту строку, используя change метод, подобный этому :

 public function up()
    {
        Schema::table('movies', function (Blueprint $table) {
            $table->string('movieDirector')->default('test')->change();
            $table->string('movieGenre')->default('test')->change();
            $table->string('movieCast')->default('test')->change();
        });
    }
  

Чтобы внести эти изменения и запустить миграцию, используйте команду:

 php artisan migrate