#!/bin/bash

# Configurações do banco
USUARIO="root"
SENHA="toninho13"
BANCO="qualifica_brasil"
ARQUIVO_SQL="ajusta_colation.sql"

# Verificar versão do MySQL
VERSAO=$(mysql -u $USUARIO -p$SENHA -Nse "SELECT VERSION();" | cut -d '-' -f1)
VERSAO_MAIOR=$(echo $VERSAO | cut -d. -f1)
VERSAO_MENOR=$(echo $VERSAO | cut -d. -f2)

if [ "$VERSAO_MAIOR" -eq 8 ]; then
    echo "✅ MySQL versão $VERSAO detectada. Gerando comandos de alteração..."

    mysql -u $USUARIO -p$SENHA -D $BANCO -Nse "
    SELECT CONCAT(
        'ALTER TABLE \`', TABLE_NAME, '\` MODIFY \`', COLUMN_NAME, '\` ',
        COLUMN_TYPE, ' CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci',
        IF(IS_NULLABLE = 'NO', ' NOT NULL', ''),
        IF(COLUMN_DEFAULT IS NOT NULL, CONCAT(' DEFAULT \'', COLUMN_DEFAULT, '\''), ''),
        ';'
    )
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_SCHEMA = '$BANCO'
      AND COLLATION_NAME = 'utf8mb4_general_ci';
    " > $ARQUIVO_SQL

    echo "📄 Comandos salvos em: $ARQUIVO_SQL"

    if [ -s "$ARQUIVO_SQL" ]; then
        echo "⚙️ Executando alterações no banco..."
        mysql -u $USUARIO -p$SENHA $BANCO < $ARQUIVO_SQL
        echo "✅ Alterações concluídas."
    else
        echo "ℹ️ Nenhuma coluna com collation utf8mb4_general_ci encontrada."
    fi
else
    echo "⛔ Versão do MySQL $VERSAO não suportada. Este script requer MySQL 8.0 ou superior."
fi

