Laravel - 向表中添加字段

问题描述 投票:0回答:1

我使用的是Laravel 5.6,我来自Symfony开发和Doctrine ORM。

向表中添加字段的方法是什么?我想在用户表中添加一些字段。所以我创建了一个迁移:

php artisan make:migration add_data_users --table=users

我在迁移中添加了字段。但是当我尝试迁移时,我收到了这个错误:

基表或视图已存在:1050表'权限'已存在

此表已经迁移,但似乎迁移重建了所有模式(?!)。在Symfony中,我只向实体添加字段,在这里,我是否必须创建迁移?然后,如何仅应用新的迁移?我尝试将迁移的名称添加到命令中,但它不起作用。

编辑

我似乎有2次关于权限表的迁移,只是仔细查看您的迁移,我删除了第二个迁移文件,并且它有效。

php laravel
1个回答
-2
投票

您应该创建新的迁移,例如:

php artisan make:migration update_users_table

UpdateUsersTable.php //您的新迁移

<?php

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

class UpdateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('name', 36)->nullable()->default(null);
        });
    }

注意:请为特定表运行迁移

在迁移文件夹中创建测试文件夹之后,新创建的迁移在测试文件夹中移动/复制并在终端/ cmd中的命令下运行,如:

php artisan migrate --path=database/migrations/test/
© www.soinside.com 2019 - 2024. All rights reserved.