laravel 如何更改“users”表中“name”列的名称?

nue99wik  于 2023-02-05  发布在  其他
关注(0)|答案(3)|浏览(130)

我有一个带有“用户”表的Laravel应用程序。我希望它(表)有“用户名”列而不是“名称”列,即结构如下:
| 身份证|用户名|电子邮件|密码|...等等。|
| - ------|- ------|- ------|- ------|- ------|
| 1个|用户名1|email1@example.net|52号...|...|
| 第二章|用户名2|email2@example.net|dkjbg#%研发...|...|
我怎样才能在Laravel 9的帮助下做到这一点,而不会遇到表单数据验证和第三方软件包的问题?

r1zk6ea1

r1zk6ea11#

要在“users”表中将“name”列重命名为“username”,请使用以下命令:

php artisan make:migration rename_name_to_username_in_users

这将创建一个新的迁移文件,在该文件中,您可以使用表方法和renameColumn()方法:

public function up()
{
    Schema::table('users', function (Blueprint $table) {
        $table->renameColumn('name', 'username');
    });
}

最后,运行迁移。

php artisan migrate
bnlyeluc

bnlyeluc2#

注意:更改users表中的列名不是一个好主意,因为许多包都使用表的缺省名称,而您可以使用客户名称添加一个新列
例如

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

否则,您可以通过转到数据库/迁移/_创建_用户_表. php来实现此目的

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

并且您还运行了迁移

php artisan migrate

php artisan migrate:refresh
kqlmhetl

kqlmhetl3#

我刚刚在这里找到了问题的答案,谢谢大家关注这个问题。

相关问题