現在、テーブル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');
});
}