Ir al contenido

Entornos

La función Entornos proporciona ramificación similar a Git para todo tu backend. Cada entorno es una copia completamente aislada de tu aplicación — incluyendo su propia base de datos, esquema API, roles, proveedores de archivos, rutas de gateway y configuración de seguridad — permitiéndote desarrollar, probar y preparar cambios sin afectar los datos de producción.

Cada proyecto comienza con un único entorno master. Desde ahí, puedes crear ramas de nuevos entornos que heredan el esquema de la base de datos (y opcionalmente los datos) de cualquier entorno existente. Cada rama opera de forma independiente: los cambios realizados en un entorno no se propagan a otros hasta que los fusiones explícitamente.


  • Aislamiento de entornos: Cada entorno tiene su propia base de datos PostgreSQL, garantizando una separación completa de datos entre ramas.
  • Modos de rama: Al crear un nuevo entorno, eliges entre estrategias de clonación Full (esquema + datos) o System (solo esquema).
  • Copia de configuración: Los proveedores de almacenamiento de archivos, rutas de gateway, configuraciones de seguridad y variables de entorno pueden copiarse opcionalmente del entorno fuente durante la ramificación.
  • Ciclo de vida de estado: Los entornos pasan por estados definidos — active, branching, merging, error y archived — para prevenir operaciones conflictivas.
  • Relaciones padre-hijo: Los entornos mantienen una estructura de árbol que rastrea el linaje para operaciones de diff y merge.
  • Schema Diff: Compara los esquemas de base de datos de dos entornos usando semántica de diff solo hacia adelante. Ver Environment Diff.
  • Merge: Aplica cambios de esquema de un entorno a otro con copia de seguridad automática, aplicación selectiva de cambios (cherry-pick) y DDL transaccional. Ver Environment Merge.
  • Backups: Copias de seguridad automáticas pre-merge y manuales almacenadas en S3, con capacidad de restaurar a cualquier entorno destino — incluyendo entornos eliminados. Ver Backups.
  • Historial de migraciones: Registro de auditoría completo de todas las operaciones de merge, incluyendo el usuario que aplicó cada migración, marca de tiempo y los cambios específicos aplicados.

Todos los recursos del backend están delimitados al entorno actualmente seleccionado. Cuando cambias de entorno usando el Selector de entorno en la barra de navegación superior, los siguientes recursos reflejan el estado de ese entorno:

RecursoDelimitado por entorno
Tablas y esquema de base de datos
API Explorer (GraphQL)
SQL Playground
Acceso basado en roles
Proveedores de almacenamiento de archivos
Proveedores de autenticación
API Keys
Rutas de API Gateway personalizadas
Config de seguridad (CORS, límites de tasa)
Variables de entorno
Integraciones

Nota: Cambiar de entorno activa una recarga completa del contexto. El contexto environment se propaga a través de todos los servicios backend de la plataforma para garantizar que cada solicitud se resuelva contra la base de datos y configuración correctas.


El sistema de entornos está diseñado para proporcionar aislamiento de nivel empresarial entre tus etapas de desarrollo:

  1. Aislamiento de almacenamiento: Cada entorno está respaldado por una base de datos dedicada. Esto garantiza que un error u operación de datos en un entorno de desarrollo nunca pueda afectar los datos de producción.
  2. Alcance de configuración: Todas las configuraciones — desde API keys hasta políticas de seguridad — se gestionan de forma independiente por entorno. Cambiar una política CORS en “Staging” no afectará a “Production”.
  3. Contexto en toda la plataforma: El entorno actual se propaga automáticamente en toda la plataforma. Ya sea que estés navegando archivos, ejecutando consultas SQL o haciendo llamadas API, Archie Core garantiza que interactúes con los recursos del entorno correcto.