gpt4 book ai didi

laravel - 如何在迁移 laravel 上使用 alter table 添加字段?

转载 作者:行者123 更新时间:2023-12-02 18:53:42 32 4
gpt4 key购买 nike

我使用 Laravel 5.3

我的迁移是这样的:

<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('api_token')->nullable();
$table->string('email',100)->unique();
$table->string('password')->nullable();
$table->string('avatar',100)->nullable();
$table->string('full_name',100)->nullable();
$table->date('birth_date')->nullable();
$table->smallInteger('gender')->nullable();
$table->timestamps();
$table->softDeletes();
});
}
public function down()
{
DB::statement('SET FOREIGN_KEY_CHECKS = 0');
Schema::dropIfExists('users');
DB::statement('SET FOREIGN_KEY_CHECKS = 1');
}
}

我想添加这样的新字段:

$table->string('mobile_number',20)->nullable();

但我不想将其添加到架构中。我想使用更改表

在我的登台服务器和实时服务器上设置了自动迁移

所以如果我使用alter table,它会自动迁移。因此,如果代码合并到development或master,数据库中的表将自动添加mobile_number字段

如果我添加架构,它不会自动迁移

如何使用 alter table 添加字段?

最佳答案

您可以使用架构来更新现有表。使用 artisan 命令创建一个新的迁移,然后添加类似的内容

Schema::table('users', function (Blueprint $table) {
$table->string('mobile_number',20)->nullable();
});

如果你真的想做 RAW sql,你可以这样做

DB::statement("ALTER TABLE users .....");

但是,如果您可以让它发挥作用,模式方式会更好

关于laravel - 如何在迁移 laravel 上使用 alter table 添加字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47516615/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com