我不知道如何使用Laravel框架向现有的数据库表中添加新列。

我试图编辑迁移文件使用…

<?php

public function up()
{
    Schema::create('users', function ($table) {
        $table->integer("paid");
    });
}

在终端中,我执行了php artisan migrate:install和migrate。

如何添加新列?


当前回答

向迁移文件中添加列并运行此命令。

php artisan migrate:refresh --path=/database/migrations/your_file_name.php

其他回答

执行如下命令: PHP工匠迁移:新鲜——种子 它将删除表并重新添加它,更新添加到数据库的所有列

Laravel 7

使用cli命令创建迁移文件: PHP工匠使:迁移add_paid_to_users_table——table=用户 将在migrations文件夹中创建一个文件,在编辑器中打开它。 添加到函数up():

Schema::table('users', function (Blueprint $table) {
    // Create new column
    // You probably want to make the new column nullable
    $table->integer('paid')->nullable()->after('status');
}

添加到函数down()中,它将在迁移由于某些原因失败时运行: 表- > dropColumn(“支付”); 使用cli命令执行migration: PHP工匠迁移


如果你想在表中添加一个列来创建一个外键约束:

在上述过程的第3步中,您将使用以下代码:

$table->bigInteger('address_id')->unsigned()->nullable()->after('tel_number');

$table->foreign('address_id')->references('id')->on('addresses')->onDelete('SET NULL');

在上述过程的第4步中,您将使用以下代码:

// 1. Drop foreign key constraints
$table->dropForeign(['address_id']);
// 2. Drop the column
$table->dropColumn('address_id');

在拉拉维尔 8

php artisan make:migration add_paid_to_users_table --table=users

public function up()
 {
    Schema::table('users', function($table) {

        $table->integer('paid');

  });

}

在laravel

在现有表中添加新列

php artisan make:migration add_paid_to_users_table

如果您想创建新的迁移,那么执行下面的代码

php artisan make:migration create_users_table --create=users

如果您正在使用Laravel 5,命令将是;

php artisan make:migration add_paid_to_users

所有用于制作东西的命令(控制器、模型、迁移等)都被移动到make:命令下。

PHP工匠迁移仍然是一样的。

你能做的就是,

Schema::create('users', function ($table) {$table->integer("paid");});

写完这个写命令后,php artisan迁移或刷新 我个人更喜欢的是刷新而不是新迁移,因为如果你做新迁移,它会删除所有的数据刷新不会。

但唯一的例外是,如果你进行了刷新如果你在表中有任何外键那么它就不会重新建立关系所以你会得到这样的错误,

不能添加外键约束