bil*_*alq 112 php sql database-migration laravel
我正在编写一个迁移,以便立即在表格中创建某些列nullable.对于down函数,我当然希望not nullable再次创建这些列.我浏览了架构生成器文档,但看不到这样做的方法.
任何帮助,将不胜感激.
小智 193
在Laravel 5之前,没有使用模式构建器更改现有表列的Laravel本机方法.您需要使用原始查询.
但是,从Laravel 5开始,您可以使用:
$table->...->nullable(false)->change();
Run Code Online (Sandbox Code Playgroud)
Mat*_*ald 37
从Laravel 5开始,可以原生地反转它 - 只需将false作为参数传递给nullable().
例如
$table -> string('foo') -> nullable(false) -> change();
Run Code Online (Sandbox Code Playgroud)
Gab*_*dez 10
您可以在不使用 ->nullable() 的情况下再次声明该列并使用 ->change
public function up()
{
Schema::table('table_name', function (Blueprint $table) {
$table->type('column')->nullable(false)->change();
});
}
public function down()
{
Schema::table('table_name', function ($table) {
$table->type('column')->nullable()->change();
});
}
Run Code Online (Sandbox Code Playgroud)
首先运行这个:
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();
# });
# }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59719 次 |
| 最近记录: |