当前位置: 首页 > 知识库问答 >
问题:

Laravel迁移在现有数据库表中添加列问题

邓欣可
2023-03-14

我在Laravel4.2项目中工作,现在我想在现有的表用户中添加列。现在我想添加另一列,当我运行migration命令时,我总是收到相同的消息“无需迁移”下面是我的迁移模式代码

public function up()
{
    Schema::table('users', function($table) {
        $table->string('dob')->nullable()->change();
    });
}

我在终点站跑步

 php artisan migrate --path=/database/migrations/2017_08_29_130700_add_colum_user_is_black_list.php

我还运行以下命令

php artisan migrate

但是当我运行上面的命令时,我收到以下错误

SQLSTATE[42S01]:基表或视图已经存在: 1050表'用户'已经存在

共有1个答案

董胡非
2023-03-14

您需要按照以下步骤使用laravel迁移在现有表中添加列。

Laravel 3,4

>

  • 使用CLI as进行迁移(使用特定名称以避免与现有模型冲突)

    php-artisan-migrate:make-add\u-dob\u-users\u-table--table=users

    拉维尔5号

    >

  • 使用CLI as进行迁移(使用特定名称以避免与现有模型冲突)

    php artisan make:migration向用户添加对象

    拉维尔3号

    使用Schema::table()方法(当您正在访问现有表而不是创建新表时)并添加如下列:

    public function up()
    {
        Schema::table('users', function($table) {
            $table->string('dob')->nullable()->change();
        });
    }
    

    添加回滚选项:

    public function down()
    {
        Schema::table('users', function($table) {
            $table->dropColumn('dob');
        });
    }
    

    Laravel 4,5

    使用Schema::table()方法(当您正在访问现有表而不是创建新表时)并添加如下列:

    public function up()
    {
        Schema::table('users', function(Blueprint $table) {
            $table->string('dob')->nullable()->change();
        });
    }
    

    添加回滚选项:

    public function down()
    {
        Schema::table('users', function(Blueprint $table) {
            $table->dropColumn('dob');
        });
    }
    

    拉威尔3,4,5

    最后运行迁移

    php artisan迁移

    用于创建和运行迁移的文档是

    拉维尔3号

    Laravel3模式生成器

    Laravel 3迁移

    拉威尔4,5

    Laravel架构生成器

    Laravel迁移

  •  类似资料:
    • 我想在laravel中现有的表中添加一些新列。 我已经在谷歌上搜索过了,在这些搜索之后,我已经使用命令创建了迁移。 将列添加到用户。php 创建之后,我运行这个命令。 但也犯了同样的错误: 基本表或视图已存在:1050个表“用户”已存在(SQL:create table(int unsigned not null自动递增主键,varchar(255)not null,varchar(255)not

    • 我不知道如何使用Laravel框架将新列添加到我现有的数据库表中。 我尝试使用...编辑迁移文件。 在终端中,我执行和。 如何添加新列?

    • 我不知道如何使用Laravel框架将新列添加到现有的数据库表中。 我试图使用…编辑迁移文件。。。 在终端,我执行和。 如何添加新列?

    • 当我们在Laravel框架中运行migrate:install时,migrations表是在有两列(migration,batch)的数据库中创建的,无论如何都要添加在时间戳处创建的新列。谢谢

    • 我需要在我的laravel项目中添加一个新列,这没有问题,我使用了进行了更新,一切正常。现在我需要找出这个表上有多少条记录,并用一些值进行更新。 我有表: 因此,我使用新的迁移文件创建了新字段: 现在我需要用一些值更新表中的这个字段,例如,如果表中有100条记录,那么我需要在每一行中插入值“carry-X”,其中X是一个从1到100的数字。例如: 逮捕令-1,逮捕令-2,......逮捕证-100

    • 问题内容: 我不知道如何使用Laravel框架向现有数据库表添加新列。 我试图使用…来编辑迁移文件。 在终端中,我执行和。 如何添加新列? 问题答案: 要创建迁移,您可以在Artisan CLI上使用migration:make命令。使用特定名称以避免与现有模型冲突 对于Laravel 3: 对于Laravel 5+: 然后,您需要使用该方法(在访问现有表而不是创建新表时)。您可以添加如下所示的列