既定値が既に割り当てられているテーブルがあります。たとえば、次のようになります。Laravelの移行で列の既定値が変更される
Schema::create('users', function (Blueprint $table) {
$table->increments('id')->unsigned();
$table->integer('active')->default(1);
});
これで、アクティブなフィールドのデフォルト値を変更したいと考えています。
if (Schema::hasTable('users')) {
Schema::table('users', function (Blueprint $table) {
if (Schema::hasColumn('users', 'active')) {
$table->integer('active')->default(0);
}
});
}
をしかし、もちろん、それは列がすでに存在している私に語った:私はこのような何かを期待しています。列を削除せずに列xのデフォルト値を単純に更新するにはどうすればよいですか?
Schema::table('users', function ($table) {
$table->integer('active')->default(0)->change();
});
その後migrate
のコマンドを実行します。
もその以来、移行を実行よりあなたは手動でphpmyadmin(xampp)、workbenchなどのようなインターフェイスを使用してそれを行うことができますので、データを失うことはありません。 –
今私がライブサーバー上で修正するために行ってきたことだが、私はまだ何が最善の方法を進んでいるのか知りたい。それ以外の場合は、laravel 5にアップグレードすることも考えていました。 –
ここにあなたを助けるかもしれないリンクがあります - http://www.flipflops.org/2013/05/25/modify-an-existing-database-column-in-a -laravel-migration/ –