
Instalar o PGAdmin 4 em distribuições Linux Debian 12
Recentemente enquanto utilizava o Linux Mint 21 Vera tive uma série de problemas ao instalar o PGAdmin 4 e numa... Leia mais
Desenvolvedor de Software
Ao trabalhar com migrations no Laravel, uma tarefa comum é definir valores padrão para colunas em tabelas de banco de dados. Uma situação específica é definir o ano atual como valor padrão para uma coluna. Este tutorial mostrará como fazer isso de maneira uniforme, independente do banco de dados escolhido, com exemplos específicos para MySQL e PostgreSQL.
Primeiro, crie a migration para adicionar a coluna ano
à sua tabela. Use o comando Artisan para gerar a migration:
php artisan make:migration add_ano_to_exemplos_table --table=exemplos
No arquivo de migration gerado, adicione a coluna ano
com o valor padrão apropriado, dependendo do banco de dados:
public function up()
{
Schema::table('exemplos', function (Blueprint $table) {
$table->integer('ano')->nullable()->default(DB::raw('YEAR(CURDATE())'));
});
}
public function down()
{
Schema::table('exemplos', function (Blueprint $table) {
$table->dropColumn('ano');
});
}
public function up()
{
Schema::table('exemplos', function (Blueprint $table) {
$table->integer('ano')->nullable()->default(DB::raw('EXTRACT(YEAR FROM CURRENT_DATE)'));
});
}
public function down()
{
Schema::table('exemplos', function (Blueprint $table) {
$table->dropColumn('ano');
});
}
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Exemplo extends Model
{
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
if (is_null($model->ano)) {
$model->ano = date('Y');
}
});
}
}
Depois de realizado os passos acima execute as migrations
php artisan migrate
Para garantir que tudo está funcionando conforme o esperado, você pode testar criando um novo registro na tabela exemplos
. No Tinker ou em um controlador, crie um novo registro sem especificar o valor da coluna ano
:
use App\Models\Exemplo;
$newRecord = Exemplo::create([
'status' => 'AGUARDANDO'
]);
echo $newRecord->ano; // Deve exibir o ano atual
Recentemente enquanto utilizava o Linux Mint 21 Vera tive uma série de problemas ao instalar o PGAdmin 4 e numa... Leia mais
O Docker é uma ferramenta poderosa para gerenciar contêineres, e sua integração com o WSL2 no Windows oferece um ambiente... Leia mais
O Design Pattern Facade é uma solução elegante para simplificar a interface de um subsistema complexo, tornando-o mais fácil de... Leia mais
Em React, o estado refere-se a uma estrutura de dados que determina o comportamento do componente e como ele será... Leia mais