Bre*_*rwe 35 php migration laravel artisan
我有一个已经分配了默认值的表.举个例子,我们可以看看以下内容:
Schema::create('users', function (Blueprint $table) {
$table->increments('id')->unsigned();
$table->integer('active')->default(1);
});
Run Code Online (Sandbox Code Playgroud)
我现在想要在活动字段上更改我的默认值.我期待做这样的事情:
if (Schema::hasTable('users')) {
Schema::table('users', function (Blueprint $table) {
if (Schema::hasColumn('users', 'active')) {
$table->integer('active')->default(0);
}
});
}
Run Code Online (Sandbox Code Playgroud)
但当然它告诉我专栏已经存在.如何在不删除列的情况下简单地更新列x的默认值?
Ale*_*nin 45
你可以使用change()
方法:
Schema::table('users', function ($table) {
$table->integer('active')->default(0)->change();
});
Run Code Online (Sandbox Code Playgroud)
然后运行migrate
命令.
更新
对于Laravel 4,请使用以下内容:
DB::statement('ALTER TABLE `users` CHANGE COLUMN `active` `active` INTEGER NOT NULL DEFAULT 0;');
Run Code Online (Sandbox Code Playgroud)
内部up()
方法而不是Schema::table();
子句.
您必须调用更改函数来更新列
if (Schema::hasTable('users')) {
Schema::table('users', function (Blueprint $table) {
if (Schema::hasColumn('users', 'active')) {
$table->integer('active')->default(0)->change();
}
});
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27789 次 |
最近记录: |