# Variáveis que o ADM cria na tela e usa em qualquer mensagem: {{telefone_suporte}},
# {{horario_atendimento}}, {{site}}…
#
# Antes, toda informação fixa que precisasse aparecer numa mensagem era digitada
# de novo em cada template — e mudar o telefone do suporte significava abrir um
# por um. Aqui a chave é única e o valor mora num lugar só.
class CreateVariaveisPersonalizadas < ActiveRecord::Migration[7.1]
  def change
    create_table :variaveis_personalizadas do |t|
      t.string  :chave,     null: false          # sem {{ }}: telefone_suporte
      t.string  :valor,     null: false, default: ''
      t.string  :descricao                       # o que a tela mostra ao lado
      t.boolean :ativo,     null: false, default: true

      t.timestamps
    end

    # A chave é o que aparece no texto ({{chave}}); duas iguais tornariam o
    # resultado imprevisível.
    add_index :variaveis_personalizadas, :chave, unique: true
  end
end
