跳转到内容

环境

环境功能为整个后端提供类似 Git 的分支功能。每个环境都是应用程序的完全隔离副本,包括自己的数据库、API 架构、角色、文件提供程序、网关路由和安全配置,让您可以在不影响生产数据的情况下进行开发、测试和暂存更改。

每个项目都以单个 master 环境开始。从那里,您可以分支新环境,从任何现有环境继承数据库架构(以及可选的数据)。每个分支独立运行:在一个环境中进行的更改不会传播到其他环境,直到您显式合并它们。


  • 环境隔离: 每个环境都有自己的 PostgreSQL 数据库,确保分支之间的完全数据分离。
  • 分支模式: 创建新环境时,您可以选择 Full(架构 + 数据)或 System(仅架构)克隆策略。
  • 配置复制: 文件存储提供程序、网关路由、安全设置和环境变量可以在分支期间选择性地从源环境复制。
  • 状态生命周期: 环境在定义的状态之间转换 — activebranchingmergingerrorarchived — 以防止冲突操作。
  • 父子关系: 环境维护树形结构,跟踪 diff 和 merge 操作的谱系。
  • Schema Diff: 使用仅向前 diff 语义比较任意两个环境的数据库架构。参见 Environment Diff
  • Merge: 将架构更改从一个环境应用到另一个环境,具有自动备份、选择性更改应用(cherry-pick)和事务性 DDL。参见 Environment Merge
  • 备份: 存储在 S3 中的自动合并前备份和手动备份,能够恢复到任何目标环境(包括已删除的环境)。参见 Backups
  • 迁移历史: 所有合并操作的完整审计跟踪,包括应用每次迁移的用户、时间戳和具体应用的更改。

所有后端资源都限定于当前选择的环境。当您使用顶部导航栏中的环境选择器切换环境时,以下资源会反映该环境的状态:

资源按环境限定
数据库表和架构
API Explorer (GraphQL)
SQL Playground
基于角色的访问
文件存储提供程序
身份验证提供程序
API Keys
自定义 API Gateway 路由
安全配置 (CORS, Rate Limits)
环境变量
集成

注意: 切换环境会触发完整的上下文重新加载。environment 上下文在整个平台的后端服务中传播,确保每个请求都针对正确的数据库和配置进行解析。


环境系统旨在在开发阶段之间提供企业级隔离:

  1. 存储隔离: 每个环境由专用数据库支持。这确保开发环境中的错误或数据操作永远不会影响生产数据。
  2. 配置作用域: 从 API 密钥到安全策略的所有设置都按环境独立管理。在 “Staging” 中更改 CORS 策略不会影响 “Production”。
  3. 平台范围上下文: 当前环境自动在整个平台传播。无论您是浏览文件、运行 SQL 查询还是进行 API 调用,Archie Core 都确保您与正确环境的资源进行交互。