数据库架构
FeedbackPulse SaaS 所有数据库表概览。
数据表参考
平台表(非租户范围)
| 数据表 | 说明 | 关键字段 |
|---|---|---|
platform_settings | 全局键值配置(敏感信息已加密) | key, value |
plans | 含定价和功能开关的订阅套餐 | name, monthly_price, annual_price, max_*, feature_* |
landing_pages | 落地页构建器数据(含缓存 HTML) | sections(JSON)、cached_html、is_published |
payment_events | Stripe/PayPal webhook 事件日志 | gateway, event_id, event_type, payload(JSON) |
audit_logs | 操作审计追踪 | user_id, action, description, old_values, new_values |
cron_logs | 定时任务执行日志 | job_name, status, output, duration_seconds |
租户表
| 数据表 | 说明 | 关键字段 |
|---|---|---|
tenants | 多租户账户 | name, slug, subdomain, plan_id, status, settings(JSON) |
tenant_domains | 自定义域名映射 | tenant_id, domain, status, verified_at |
users | 所有用户账户(所有角色) | name, email, role, tenant_id, two_factor_secret |
products | 反馈产品 | tenant_id, name, slug, type, category, is_active |
feedback_campaigns | 反馈表单配置 | tenant_id, product_id, name, slug, survey_schema(JSON)、status |
feedback_submissions | 单条反馈记录 | tenant_id, campaign_id, product_id, star_rating, nps_score, text_feedback, sentiment_*, status |
feedback_tags | 标签定义 | tenant_id, name |
feedback_submission_tag | 多对多中间表 | submission_id, tag_id |
team_members | 租户团队记录 | tenant_id, user_id, role |
team_invitations | 待处理邀请 | tenant_id, email, role, token, expires_at |
api_keys | 租户 API 密钥(已哈希) | tenant_id, name, key, scopes, is_active |
roadmap_items | 公开路线图条目 | tenant_id, product_id, title, status, vote_count |
roadmap_votes | 匿名投票 | roadmap_item_id, email |
feature_requests | 社区功能建议 | tenant_id, roadmap_item_id, email, description, status |
changelog_entries | 产品更新说明 | tenant_id, product_id, title, body, version, published_at |
notifications | 应用内通知 | tenant_id, user_id, type, title, message, data(JSON) |
webhook_logs | 出站 webhook 投递日志 | tenant_id, url, event, payload(JSON)、response_code |
data_deletion_requests | GDPR 删除请求跟踪 | tenant_id, requester_email, status, completed_at |
referral_codes | 推荐码 | tenant_id, code, reward_type, uses, max_uses |
referral_conversions | 转化追踪 | referral_code_id, converted_tenant_id, reward_amount |
scheduled_report_logs | 报告投递日志 | tenant_id, report_type, status, sent_at |
Laravel 系统表
| 数据表 | 说明 |
|---|---|
migrations | 迁移追踪 |
password_reset_tokens | 密码重置 token(支持租户感知) |
sessions | 用户会话 |
cache | 应用缓存 |
jobs | 队列任务 |
failed_jobs | 失败的队列任务 |
关键关系
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
数据隔离
每张租户范围的数据表都具备:
tenant_id外键,设置了ON DELETE CASCADE(tenant_id, created_at)的复合索引TenantScope全局作用域,用于自动过滤
当租户被删除时,其所有数据会自动级联删除。