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