0

0

Supabase工作流程:从仪表板到基于git的开发

碧海醫心

碧海醫心

发布时间:2025-01-28 23:40:21

|

1294人浏览过

|

来源于php中文网

原创

supabase工作流程:从仪表板到基于git的开发

Supabase凭借其强大的后端服务赢得了众多开发者的青睐,它集成了PostgreSQL数据库、身份验证、存储和实时功能,并提供开发者友好的使用体验。如果您熟悉Firebase,那么Supabase将会让您感觉如虎添翼,尤其是在您热衷于SQL和数据库优先开发时。然而,随着项目规模的扩大,挑战也随之而来。如果您曾经因为担心变更带来的风险而犹豫不决,或者难以追踪行级安全策略(RLS)和数据库功能,那么您并非孤身一人。好消息是,Supabase提供了应对这些挑战的工具和工作流程,其功能之强大超乎您的想象。

本文将探讨如何从Supabase仪表板的快速编辑过渡到采用基于Git的可扩展工作流进行正式开发。

仪表板的局限性

Supabase仪表板初次使用时非常直观易用,您可以快速创建表、定义RLS策略甚至编写函数。但是,随着项目规模的增长,这种方法可能会变得杂乱无章:

  • 缺乏版本控制: 仪表板上的更改难以追踪,更不用说回滚了。
  • 高风险更改: 直接修改生产数据或策略可能会导致难以调试的错误。
  • 协作困难: 团队缺乏合适的工作流程,协作效率低下。

仪表板非常适合原型设计,但对于大型项目,您需要更强大的工具。

Supabase的本地开发工作流程

Supabase CLI和本地开发环境正是为此而生的。Supabase提供了一个工作流程,让您能够在本地管理数据库模式、策略和迁移,所有这些都通过Git进行版本控制。这弥合了快速原型设计和专业开发实践之间的差距。

Supabase CLI的功能:

杰易OA办公自动化系统6.0
杰易OA办公自动化系统6.0

基于Intranet/Internet 的Web下的办公自动化系统,采用了当今最先进的PHP技术,是综合大量用户的需求,经过充分的用户论证的基础上开发出来的,独特的即时信息、短信、电子邮件系统、完善的工作流、数据库安全备份等功能使得信息在企业内部传递效率极大提高,信息传递过程中耗费降到最低。办公人员得以从繁杂的日常办公事务处理中解放出来,参与更多的富于思考性和创造性的工作。系统力求突出体系结构简明

下载
  • 创建本地环境: 在您的计算机上运行Supabase的本地版本(PostgreSQL、身份验证等)。
  • 生成迁移: 数据库架构的每个更改都可以作为迁移文件进行捕获。
  • 安全测试: 在本地进行实验,而不会影响生产数据。
  • 版本控制: 迁移、SQL函数甚至RLS策略都可以在Git中进行管理。
  • 部署更改: 将迁移自信地部署到您的生产环境。

入门指南:

  1. 安装CLI: 按照Supabase的指南安装CLI。
  2. 设置本地项目: 使用Supabase CLI创建本地开发环境。
  3. 本地更改: 修改模式、添加RLS策略或创建函数。
  4. 生成迁移: 使用supabase db diff生成迁移文件。
  5. Git版本控制: 像管理应用程序代码一样管理您的更改。
  6. 部署更改: 使用supabase db push将迁移应用到生产环境。

Supabase工作流最佳实践

为了充分利用Supabase,请遵循以下最佳实践:

  1. 组织您的SQL: 保持数据库函数、触发器和RLS策略模块化和可重用。将它们存储在版本控制的.sql文件中,并进行逻辑组织,例如,为迁移、函数和策略创建单独的文件夹。
  2. 版本控制数据库架构: 将您的数据库架构视为应用程序代码一样对待。对架构、策略和函数的所有更改都进行版本控制。这确保您的团队能够有效协作并回滚更改。
  3. 在部署前进行本地测试: 切勿在生产数据库上进行实验。使用本地环境测试模式更改、函数和策略。这最大限度地降低了破坏生产环境应用程序的风险。
  4. 使用工具追踪您的工作流程: 虽然Supabase CLI功能强大,但请考虑使用其他工具来保持井然有序:
    • 项目管理工具 (例如Jira, Asana, Trello): 记录您的策略、功能和工作流程。
    • 数据库管理工具 (例如Postico, DBeaver): 可视化管理数据库。
    • CI/CD管道: 自动化迁移到生产环境的部署。
  5. 保持RLS策略简单: 行级安全性是Supabase最强大的功能之一,但过于复杂的策略可能难以调试。从简单开始,彻底测试,并逐步构建。

常见的陷阱(以及如何避免它们)

  • 跳过本地测试: 在部署前始终在本地测试您的迁移和策略。很容易忽略此步骤,但它可以避免生产环境中的问题。
  • 过于复杂的策略: 避免编写过于复杂的RLS策略。迭代构建策略,并确保清晰地记录它们。
  • 仅依赖于仪表板: 仪表板非常适合快速原型设计,但对于大型项目,请尽早切换到基于Git的工作流程。

结论

Supabase 不仅仅是一个后端替代方案,它是一个强大的后端平台,配合正确的工作流可以轻松扩展。通过采用Supabase CLI、本地开发和基于Git的工作流程,您可以自信地构建和发展项目,而无需担心破坏生产环境。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

683

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

322

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

348

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

1095

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

358

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

677

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

575

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

417

2024.04.29

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.5万人学习

Git中文开发手册
Git中文开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号