Pular para o conteúdo principal

Esquema do Banco de Dados

Visão geral de todas as tabelas do banco de dados no FeedbackPulse SaaS.


Referência de Tabelas​

Tabelas da Plataforma (Sem Escopo de Tenant)​

TabelaDescriçãoColunas Principais
platform_settingsConfiguração global de chave-valor (criptografada para segredos)key, value
plansPlanos de assinatura com preços e flags de recursosname, monthly_price, annual_price, max_*, feature_*
landing_pagesDados do construtor de página inicial com HTML em cachesections (JSON), cached_html, is_published
payment_eventsLog de eventos de webhook do Stripe/PayPalgateway, event_id, event_type, payload (JSON)
audit_logsTrilha de auditoria de açõesuser_id, action, description, old_values, new_values
cron_logsLog de execução de tarefas agendadasjob_name, status, output, duration_seconds

Tabelas de Tenants​

TabelaDescriçãoColunas Principais
tenantsContas multi-tenantname, slug, subdomain, plan_id, status, settings (JSON)
tenant_domainsMapeamentos de domínios personalizadostenant_id, domain, status, verified_at
usersTodas as contas de usuários (todas as funções)name, email, role, tenant_id, two_factor_secret
productsProdutos de feedbacktenant_id, name, slug, type, category, is_active
feedback_campaignsConfigurações de formulários de feedbacktenant_id, product_id, name, slug, survey_schema (JSON), status
feedback_submissionsEntradas individuais de feedbacktenant_id, campaign_id, product_id, star_rating, nps_score, text_feedback, sentiment_*, status
feedback_tagsDefinições de tagstenant_id, name
feedback_submission_tagPivot muitos-para-muitossubmission_id, tag_id
team_membersRegistros de equipe do tenanttenant_id, user_id, role
team_invitationsConvites pendentestenant_id, email, role, token, expires_at
api_keysChaves de API do tenant (com hash)tenant_id, name, key, scopes, is_active
roadmap_itemsItens do roadmap públicotenant_id, product_id, title, status, vote_count
roadmap_votesVotos anônimos em itensroadmap_item_id, email
feature_requestsSugestões de recursos da comunidadetenant_id, roadmap_item_id, email, description, status
changelog_entriesNotas de lançamento do produtotenant_id, product_id, title, body, version, published_at
notificationsNotificações in-apptenant_id, user_id, type, title, message, data (JSON)
webhook_logsLogs de entrega de webhook de saídatenant_id, url, event, payload (JSON), response_code
data_deletion_requestsRastreamento de exclusões LGPD/GDPRtenant_id, requester_email, status, completed_at
referral_codesCódigos de indicaçãotenant_id, code, reward_type, uses, max_uses
referral_conversionsRastreamento de conversõesreferral_code_id, converted_tenant_id, reward_amount
scheduled_report_logsLog de entrega de relatóriostenant_id, report_type, status, sent_at

Tabelas do Sistema Laravel​

TabelaDescrição
migrationsRastreamento de migrations
password_reset_tokensTokens de redefinição de senha (com suporte a tenant)
sessionsSessões de usuário
cacheCache da aplicação
jobsJobs da fila
failed_jobsJobs da fila com falha

Relacionamentos Principais​

plans <---- tenants <---- users
|
|---- products <---- feedback_campaigns <---- feedback_submissions
| |
| +---- feedback_tags (M2M)
|
|---- roadmap_items <---- roadmap_votes
| <---- feature_requests
|
|---- changelog_entries
|---- team_members ---- users
|---- team_invitations
|---- api_keys
|---- notifications
+---- webhook_logs

Isolamento de Dados​

Cada tabela com escopo de tenant possui:

  • Chave estrangeira tenant_id com ON DELETE CASCADE
  • Índice composto em (tenant_id, created_at)
  • Escopo global TenantScope para filtragem automática

Quando um tenant é excluído, todos os seus dados são removidos em cascata automaticamente.


Próximos Passos​