首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使列在Laravel迁移中不可为空

使列在Laravel迁移中不可为空
EN

Stack Overflow用户
提问于 2012-12-24 03:03:35
回答 5查看 102.2K关注 0票数 163

现在,我正在编写一个迁移,以便使表中的某些列成为nullable。对于down函数,我当然希望将这些列再次设为not nullable。我查看了整个schema builder docs,但找不到实现此目的的方法。

任何帮助都将不胜感激。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-12-24 08:36:17

在Laravel 5之前,没有使用模式构建器更改现有表列的Laravel原生方法。为此,您需要使用原始查询。

但是,从Laravel 5开始,您可以使用:

$table->string('foo')->nullable(false)->change();

在运行上述命令之前,您必须具有dbal依赖项:

composer require doctrine/dbal
票数 284
EN

Stack Overflow用户

发布于 2016-01-12 02:18:32

从Laravel 5开始,可以通过将false作为参数传递给nullable来逆转这种情况。

$table->string('foo')->nullable(false)->change();
票数 49
EN

Stack Overflow用户

发布于 2018-07-31 04:56:30

首先运行以下命令:

composer require doctrine/dbal

然后创建一个迁移,它将像这样改变表:

php artisan make:migration fix_whatever_table_name_here

public function up()
{
    Schema::table('table_name', function (Blueprint $table) {
        $table->type('column')->nullable(false)->change();
    });
}

# Optional:
# public function down()
# {
#     Schema::table('table_name', function ($table) {
#         $table->type('column')->nullable()->change();
#     });
# }
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14013832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档