Supabase本地开发:迁移、分支和可观察性

Supabase本地开发:迁移、分支和可观察性

💡 原文英文,约1500词,阅读约需6分钟。
📝

内容提要

Supabase推出了多个新功能,旨在简化Postgres开发体验,包括Postgres语言服务器、调试工具、数据库备份和迁移改进,以及分支管理功能,以提升开发者的工作效率和安全性。

🔎

延伸解读

Postgres语言服务器:现状与预期

文章提到Postgres语言服务器尚未生产就绪,大部分工作仍在进行中,但技术路径已验证并公开开发。它计划提供Linting、语法高亮、SQL自动补全和智能提示等功能。读者需注意,当前版本可能不稳定,适合愿意尝鲜并反馈的开发者,而非直接用于生产环境。

调试工具与备份迁移的实用改进

新增的supabase inspect db命令包含19个调试命令,可帮助识别慢查询和冗余索引等问题,并支持通过--db-url用于任何Postgres数据库。备份方面,supabase db dump基于pg_dump但处理了对象权限等复杂问题。这些改进降低了日常维护和迁移的操作门槛。

分支功能:原理与当前限制

分支功能通过Git桥接本地与托管数据库,每个Pull Request会创建隔离的预览环境,推送更改时自动运行迁移,合并时应用到生产。目前仅支持GitHub,且数据方面仅从seed.sql填充,暂不克隆生产数据。官方表示未来可能支持匿名化生产数据,但仍在探索中。

类型安全与自动化工作流

类型生成器可自动生成TypeScript定义,并新增了关系检测和辅助类型,提升端到端类型安全。官方GitHub Action支持在每次PR生成类型或运行测试。此外,CLI转为每两周稳定发布,并提供beta通道。这些变化有助于团队将数据库变更纳入持续集成流程。

❓

Q&A

Supabase的新功能有哪些?

Supabase推出了Postgres语言服务器、调试工具、数据库备份和迁移改进、分支管理功能等新功能。

Postgres语言服务器的主要功能是什么?

Postgres语言服务器提供代码编辑器的Linting、语法高亮、SQL自动补全等功能,旨在简化Postgres开发体验。

如何简化数据库备份和迁移过程?

使用supabase db dump命令可以简化数据库备份过程,并处理对象权限等复杂问题。

Supabase的分支管理功能有什么优势?

分支管理功能改善了环境管理,减少了开发者在DevOps上的时间投入,提升了开发效率。

如何进行数据库测试和Linting?

可以使用supabase test命令进行数据库测试,并通过plpgsql_check扩展进行Linting。

Supabase CLI的更新频率是怎样的?

Supabase CLI现在每两周发布稳定版本,并提供beta版本供用户测试。

🏷️

标签

➡️

继续阅读