Php Laravel-将字段添加到表中

Php Laravel-将字段添加到表中,php,laravel,Php,Laravel,我使用的是Laravel5.6,我来自Symfony开发和ORM 向表中添加字段的方法是什么?我想在用户表中添加一些字段。因此,我创建了一个迁移: php artisan make:migration add_data_users --table=users 我在迁移中添加了字段。但当我尝试迁移时,出现了以下错误: 基本表或视图已存在:1050表“权限”已存在 此表已迁移,但迁移似乎重建了所有模式?!。在Symfony中,我只向实体添加字段,在这里,我必须创建迁移吗?那么,如何只应用新的迁移呢

我使用的是Laravel5.6,我来自Symfony开发和ORM

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

php artisan make:migration add_data_users --table=users
我在迁移中添加了字段。但当我尝试迁移时,出现了以下错误:

基本表或视图已存在:1050表“权限”已存在

此表已迁移,但迁移似乎重建了所有模式?!。在Symfony中,我只向实体添加字段,在这里,我必须创建迁移吗?那么,如何只应用新的迁移呢?我试图将迁移的名称添加到命令中,但没有成功

编辑


似乎我有两次迁移涉及权限表,请仔细查看您的迁移,我删除了第二个迁移文件,并且成功了。

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

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);
        });
    }

php artisan make:migration添加_data_用户并将此代码放入方法`Schema::table'users',函数蓝图$table{$table->string'data'->在'password'之后;}`您有一些迁移问题。您的迁移表怎么样?看起来它试图在权限表仍然存在时再次对其运行迁移。这与您添加的新迁移文件无关。命令看起来不错;在我的迁移表中,我有关于权限表2018_06_09_213829_create_permission_表的迁移。该表已被迁移,因为该表已创建,并且我将其放在迁移表中,批处理=1@VincentDecaux您是在开发环境中还是在生产环境中?在开发环境中。这就是我所做的,但是我不能只迁移上次创建的迁移?如果你读了这个问题,这显然不是问题所在。迁移是正确的,但有另一个迁移抛出错误。还要注意,在down方法中删除一个表是非常糟糕的,因为在up方法中只添加了一列。down方法应该只删除该列,而不是整个表。@VincentDecaux:请尝试为特定表运行迁移,因此请检查我的表中的备注answer@AddWebSolutionPvtLtd如果运行php artisan migrate但出现问题,则表明您在工作流中的某个地方出错。运行一次迁移是一种绕过,不能解决问题。它只是创建了一个更加困难的工作流。修复错误,而不是绕过它。我同意@DouwedeHaan,我认为我只需要运行php artisan migrate,因为我的其他表已经迁移了。我只是不明白为什么它会尝试运行以前的迁移。
php artisan migrate --path=database/migrations/test/