◎分かること
Laravelのマイグレーションで、
属性にON UPDATE CURRENT_TIMESTAMP()
が付与された
カラムを作成する方法が分かる。
◎結論
$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
これで
属性がON UPDATE CURRENT_TIMESTAMP()
なカラム「updated_at」が作れる。
詳細
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->integer('author_id');
$table->string('title');
$table->text('body');
$table->string('thumbnail_path')->nullable(true);
$table->timestamp('created_at')->useCurrent();
- $table->timestamp('updated_at')->useCurrent();
+ $table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
$table->timestamp('published_at')->nullable(true);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('articles');
}
};
このまま
php artisan migrate
を実行してOK。