📜  laravel 迁移更改列默认值 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:16.617000             🧑  作者: Mango

Laravel 迁移更改列默认值

Laravel 迁移是一个非常重要的功能,它可以让你轻松地管理数据库模式,而不需要手动操作数据库。在 Laravel 中,迁移有很多可用的选项,包括更改列的默认值。

本文将向你介绍如何使用 Laravel 迁移来更改表列的默认值。

准备工作

在开始本教程之前,你需要确保已经安装并正在运行 Laravel 应用程序。如果你还没有安装 Laravel,请按照官方文档进行安装。

此外,你应该还需要一些基本的数据库知识,如如何在 Laravel 中创建迁移、如何运行迁移、如何在 Laravel 中创建模型等。

更改列的默认值

要更改表列的默认值,你需要通过迁移来修改数据库模式。

假设我们有一个表叫做 "users",其中有一个名为 "active" 的布尔类型列,我们想要将其默认值更改为 "true",而不是 "false"。

我们可以通过以下步骤来完成此操作:

  1. 创建一个新的迁移。

使用 make:migration Artisan 命令创建新的迁移。你可以使用以下代码创建一个名为 "change_default_value_of_active_column_in_users_table" 的迁移:

php artisan make:migration change_default_value_of_active_column_in_users_table --table=users
  1. 在迁移文件中添加代码

在迁移文件中,我们将使用 default() 方法来更改列的默认值。在 up() 方法中,我们将执行以下代码:

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class ChangeDefaultValueOfActiveColumnInUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->boolean('active')->default(true)->change();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->boolean('active')->default(false)->change();
        });
    }
}

在上面的代码中,我们使用了 change() 方法来更改列的默认值。在此之前,我们首先调用 boolean() 方法来指定要更改的列。

我们将默认值指定为 true,这将更改 active 列的默认值。如果你想更改其他列的默认值,只需将上面的代码更改为你需要更改的列即可。

  1. 运行迁移

当你完成了上述步骤之后,运行 migrate Artisan 命令即可将更改应用到数据库中。

php artisan migrate

如果你需要撤消此更改,可以运行以下命令:

php artisan migrate:rollback
总结

在本文中,我们介绍了如何使用 Laravel 迁移来更改表列的默认值。要更改默认值,你需要创建新的迁移,然后使用 default() 方法来更改列的默认值。

如果你遇到了任何问题或有任何建议,请随时在评论区中向我们提出。