Creare ambienti
Crea un nuovo ambiente ramificando da un ambiente attivo esistente. Il processo clona il database sorgente e copia opzionalmente le risorse di configurazione.
Come creare
Sezione intitolata “Come creare”- Apri il menu Selettore ambiente nella barra di navigazione della Backend Console.
- Clicca + Crea ambiente.
- Appare una finestra modale con le opzioni di configurazione.
- Rama da: Ambiente sorgente. Solo ambienti
activedisponibili. - Nome ambiente: Nome univoco (es.
staging,feature-auth). Solo caratteri alfanumerici, trattini e underscore.
Modalità branch
Sezione intitolata “Modalità branch”- Full (schema + dati): Copia completa inclusi i dati. Per test realistici.
- System (solo schema): Solo schema (tabelle, colonne, indici, relazioni, enum, viste). Per ambienti vuoti.
Copiare configurazione
Sezione intitolata “Copiare configurazione”Opzionale, richiede ruolo ProjectOwner:
- Provider di storage (S3, GCS, Azure, Filestack)
- Route gateway e webhook
- Config sicurezza (CORS, limiti)
- Variabili d’ambiente
Nota: I provider di autenticazione sono esclusi per motivi di sicurezza.
- Clicca Crea ambiente.

Flusso del branching
Sezione intitolata “Flusso del branching”- Validazione nome e stato sorgente
- Creazione record ambiente
- Clonazione PostgreSQL (Full o System)
- Provisioning credenziali
- Registrazione configurazione
- Copia risorse se selezionate
- Transizione a stato
active
Rollback automatico in caso di errore.
GraphQL API
Sezione intitolata “GraphQL API”Mutation: branchEnvironment
Sezione intitolata “Mutation: branchEnvironment”mutation BranchEnvironment($input: BranchEnvironmentInput!) { branchEnvironment(input: $input) { success message environment { id name parentId parentName branchMode branchedAt status createdAt updatedAt } }}Variables:
{ "input": { "projectId": "f7e4a264-d659-4719-91e8-c2d74654e529", "name": "staging", "sourceEnvironment": "master", "mode": "full", "copyFileProviders": true, "copyGatewayRoutes": true, "copySecurityConfig": false, "copyEnvironmentVariables": true }}Risposta:
{ "data": { "branchEnvironment": { "success": true, "message": "Environment created successfully", "environment": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "staging", "parentId": "master-env-id", "parentName": "master", "branchMode": "full", "branchedAt": "2026-03-08T20:00:00Z", "status": "active", "createdAt": "2026-03-08T20:00:00Z", "updatedAt": "2026-03-08T20:00:05Z" } } }}Campi di input
Sezione intitolata “Campi di input”| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
projectId | String | Sì | ID progetto |
name | String | Sì | Nome nuovo ambiente |
sourceEnvironment | String | Sì | Ambiente sorgente |
mode | String | Sì | "full" o "system" |
copyFileProviders | Boolean | No | Copiare provider storage |
copyGatewayRoutes | Boolean | No | Copiare route gateway |
copySecurityConfig | Boolean | No | Copiare CORS e limiti |
copyEnvironmentVariables | Boolean | No | Copiare variabili |
Permessi
Sezione intitolata “Permessi”- Senza flag di copia: accesso progetto standard.
- Con flag: ruolo ProjectOwner richiesto.