[php] Laravel 마이그레이션에서 열을 nullable로 설정하십시오.

nullable지금 테이블의 특정 열을 만들기 위해 마이그레이션을 작성하고 있습니다. down 함수의 경우 물론 해당 열을not nullable 다시 . 스키마 빌더 문서를 살펴 보았지만 이를 수행하는 방법을 찾을 수 없었습니다.

어떤 도움을 주시면 감사하겠습니다.



답변

Laravel 5 이전에는 스키마 빌더를 사용하여 기존 테이블 열을 변경하는 Laravel 기본 방법이 없었습니다. 이를 위해 원시 쿼리를 사용해야합니다.

그러나 Laravel 5에서는 다음을 사용할 수 있습니다.

$table->...->nullable(false)->change();


답변

Laravel 5부터는 이것을 원래대로 되돌릴 수 있습니다. nullable ()에 인수로 false를 전달하기 만하면됩니다.

예 :

$table -> string('foo') -> nullable(false) -> change();


답변

먼저 다음을 실행하십시오.

composer require doctrine/dbal

그런 다음 다음과 같이 테이블을 변경하는 마이그레이션을 만듭니다.

php artisan make:migration fix_whatever_table_name_here

public function up()
{
    Schema::table('table_name', function (Blueprint $table) {
        $table->type('column')->nullable(false)->change();
    });
}

public function down()
{
    Schema::table('table_name', function ($table) {
        $table->dropColumn('column');
    });
}


답변

-> nullable ()없이 열을 다시 선언하고-> 변경을 사용할 수 있습니다.

public function up()
{
    Schema::table('table_name', function (Blueprint $table) {
        $table->type('column')->change();
    });
}

public function down()
{
    Schema::table('table_name', function ($table) {
        $table->type('column')->nullable()->change();
    });
}


답변