i need to add a last_activity column on a table of a live site where i have to make it's default value to equal of updated_at column value. I'm using laravel 5.1 and mysql database driver.
Schema::table('users', function(Blueprint $table)
{
$table->dateTime('last_activity')->default("COLUMN VALUE OF UPDATED_AT");
});
Thanks.
This should work:
Schema::table('users', function(Blueprint $table) {
$table->dateTime('last_activity');
});
\DB::statement('UPDATE users SET last_activity = updated_at');
See "Running a General Statement": https://laravel.com/docs/5.1/database#database-transactions
To enforce this relationship when a User
is created or updated, you can use Model Events and/or Model Observers.