成熟度模型
Supabase 既能帮助快速构建原型,也能轻松应对规模扩展。但需要注意的是,随着应用程序的成熟和团队的扩大,生产环境中的管理实践应与原型开发阶段有所不同。
原型开发阶段
Dashboard 是构建应用程序原型时快速便捷的工具。尽管如此,我们强烈建议使用数据库迁移来管理数据库变更。您可以通过我们的 CLI 捕获 Dashboard 上的所有修改,以便将其提交到 git 等版本控制系统。
团队协作阶段
一旦开始与团队成员协作,所有项目变更都应纳入版本控制。此时我们强烈建议停止使用 Dashboard 进行模式变更。请使用迁移来管理数据库,并将迁移文件检入版本控制系统以跟踪每个变更。
相关资源:
生产环境
当您的应用上线后,切勿通过仪表板修改数据库——所有变更都应通过迁移完成。此时还需考虑以下重要事项:
- 仪表板设有不同访问级别,可防止通过UI进行变更
- 设计安全的工作流程来管理数据库。强烈建议在开发流程中运行多环境(
本地
->预发布
->生产
) - 切勿与团队共享生产环境密码,特别是您的
postgres
密码。所有变更都应通过版本控制的迁移完成,这些迁移应通过堡垒主机或CI平台(如GitHub Actions)运行。若使用GitHub Actions,请启用审批工作流防止意外运行迁移 - 使用网络限制限制对生产数据库的访问
- 随着数据库增长,强烈建议迁移至时间点恢复。这更安全且在维护窗口期对数据库性能影响更小
- 阅读生产环境检查清单,并让团队熟悉您与Supabase之间的责任共担模型
相关资源:
企业版
为了获得更安全的配置,建议您考虑跨多个组织运行工作负载。常见的模式是设立一个生产环境组织,该组织仅限那些有资格直接访问生产数据库的团队成员使用。
如果您需要为组织设计安全的开发工作流程,请联系growth获取帮助。