gpt4 book ai didi

Laravel 迁移更改使列可以为空

转载 作者:行者123 更新时间:2023-12-03 04:14:58 26 4
gpt4 key购买 nike

我使用未签名的 user_id 创建了迁移。如何在新迁移中编辑 user_id 以使其 nullable()

Schema::create('throttle', function(Blueprint $table)
{
$table->increments('id');
// this needs to also be nullable, how should the next migration be?
$table->integer('user_id')->unsigned();
}

最佳答案

Laravel 5 现在支持更改列;这是官方文档中的示例:

Schema::table('users', function($table)
{
$table->string('name', 50)->nullable()->change();
});

来源:http://laravel.com/docs/5.0/schema#changing-columns

Laravel 4 不支持修改列,因此您需要使用另一种技术,例如编写原始 SQL 命令。例如:

// getting Laravel App Instance
$app = app();

// getting laravel main version
$laravelVer = explode('.',$app::VERSION);

switch ($laravelVer[0]) {

// Laravel 4
case('4'):

DB::statement('ALTER TABLE `pro_categories_langs` MODIFY `name` VARCHAR(100) NULL;');
break;

// Laravel 5, or Laravel 6
default:

Schema::table('pro_categories_langs', function(Blueprint $t) {
$t->string('name', 100)->nullable()->change();
});

}

关于Laravel 迁移更改使列可以为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24419999/

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