<?php

namespace App\Support;

use Illuminate\Support\Facades\DB;

/**
 * Pequenas expressões SQL que mudam entre MySQL (produção, cPanel) e
 * SQLite (testes locais). Mantém as consultas do painel portáveis.
 */
class Sql
{
    /** Expressão que devolve a competência "YYYY-MM" de uma coluna de data. */
    public static function yearMonth(string $coluna): string
    {
        return match (DB::connection()->getDriverName()) {
            'sqlite' => "strftime('%Y-%m', {$coluna})",
            'pgsql' => "to_char({$coluna}, 'YYYY-MM')",
            default => "DATE_FORMAT({$coluna}, '%Y-%m')",
        };
    }
}
