繁体   English   中英

Laravel-将字段添加到表

[英]Laravel - add fields to table

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

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

php artisan make:migration add_data_users --table=users

我在迁移中添加了字段。 但是当我尝试迁移时,出现此错误:

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

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

编辑

似乎我有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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM