📅  最后修改于: 2023-12-03 14:43:50.244000             🧑  作者: Mango
在 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。