📜  laravel 迁移表列可为空 - PHP (1)

📅  最后修改于: 2023-12-03 14:43:50.244000             🧑  作者: Mango

Laravel 迁移表列可为空 - PHP

在 Laravel 中创建/修改数据库表的最佳实践是使用迁移。迁移允许您通过编写类来定义数据库表的结构,并且可以将这些定义记录在版本控制系统中,以便您可以随时查询旧表结构并进行还原。

在 Laravel 的迁移中,您可以定义列的 nullability,这意味着该列是否可以具有空值。默认情况下,列不可以为 null,但是您可以使用 $table->nullable() 方法明确地定义该列可以为空。示例如下:

Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('email')->unique();
    $table->timestamp('email_verified_at')->nullable();
    $table->string('password');
    $table->rememberToken();
    $table->timestamps();
});

在上面的示例中,我们在 email_verified_at 列上使用了 ->nullable(),这意味着该列可以具有空值。而其他列则未使用该方法,因此它们不可以具有空值。

您还可以使用 $table->nullable('column_name') 方法在修改表时将列更改为可空,示例如下:

Schema::table('users', function (Blueprint $table) {
    $table->string('phone')->nullable()->change();
});

在上面的示例中,我们使用 ->change() 方法将 phone 列更改为可空。

在 Laravel 中,创建和修改表的迁移是非常灵活的。通过使用 nullable()change() 方法,您可以轻松地将列更改为 nullability。