现在,我正在编写一个迁移,以便使表中的某些列成为nullable
。对于down函数,我当然希望将这些列再次设为not nullable
。我查看了整个schema builder docs,但找不到实现此目的的方法。
任何帮助都将不胜感激。
发布于 2012-12-24 08:36:17
在Laravel 5之前,没有使用模式构建器更改现有表列的Laravel原生方法。为此,您需要使用原始查询。
但是,从Laravel 5开始,您可以使用:
$table->string('foo')->nullable(false)->change();
在运行上述命令之前,您必须具有dbal依赖项:
composer require doctrine/dbal
发布于 2016-01-12 02:18:32
从Laravel 5开始,可以通过将false作为参数传递给nullable
来逆转这种情况。
$table->string('foo')->nullable(false)->change();
发布于 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();
# });
# }
https://stackoverflow.com/questions/14013832
复制相似问题