-- =============================================================================
-- Migration: 20260419000002_features_is_active
-- V#40 — features hard-deleted: adiciona is_active para soft-delete.
--
-- Estratégia conservadora:
--  - features.is_active boolean DEFAULT true NOT NULL
--  - SaasFeaturesPage substitui DELETE por UPDATE is_active=false
--  - Views que expõem features para o app (v_tenant_entitlements etc) NÃO são
--    alteradas: features depreciadas ainda servem tenants legados via plan_features
--    enquanto não houver migração explícita
--  - Permite reativar feature acidentalmente deprecada
-- =============================================================================

ALTER TABLE public.features
  ADD COLUMN IF NOT EXISTS is_active boolean NOT NULL DEFAULT true;

CREATE INDEX IF NOT EXISTS idx_features_is_active
  ON public.features (is_active) WHERE is_active = false;

COMMENT ON COLUMN public.features.is_active IS
  'V#40: false = feature depreciada, escondida no catálogo SaaS mas continua válida em planos/tenants existentes.';
