Files
upstream-twenty/packages/twenty-docs/l/it/user-guide/data-migration/how-tos/migrating-from-self-hosted-to-cloud.mdx
upstream-mirror e7da97194a
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
2026-09-17 23:28:13 +05:00

174 lines
6.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Migrazione da Soluzioni Self-Hosted a Cloud
description: Guida passo-passo per migrare la tua istanza Twenty self-hosted verso Twenty Cloud.
---
## Panoramica
Questa guida ti accompagna nella migrazione dei tuoi dati da un'istanza Twenty self-hosted a Twenty Cloud. Il processo prevede la configurazione dello spazio di lavoro cloud, l'esportazione dei dati e la loro reimportazione.
<Note>Le viste, i flussi di lavoro e i ruoli devono essere ricreati manualmente dopo la migrazione. Pianifica il tempo per questo lavoro di configurazione.</Note>
## Passaggio 1: Crea il tuo spazio di lavoro cloud
1. Vai su [app.twenty.com](https://app.twenty.com) e crea un nuovo spazio di lavoro
2. Completa la procedura guidata iniziale
3. Annota l'URL del tuo nuovo spazio di lavoro
## Passaggio 2: Ricrea il tuo modello dati
Prima di importare i dati, ricrea i tuoi oggetti e campi personalizzati:
1. Vai a **Impostazioni → Modello dati** nella tua istanza cloud
2. Crea oggetti personalizzati che corrispondano alla tua configurazione self-hosted
3. Aggiungi campi personalizzati agli oggetti standard e personalizzati
4. Configura le impostazioni dei campi (univoche, obbligatorie, ecc.)
<Note>Fai degli screenshot del tuo modello dati self-hosted come riferimento oppure tieni entrambe le istanze aperte affiancate.</Note>
## Passaggio 3: Invita tutti gli utenti
<Warning>
**Critico: invita gli utenti PRIMA di importare i dati.**
Gli utenti devono accettare i loro inviti prima di importare qualsiasi record che faccia riferimento a loro (come i campi Account Owner). Se gli utenti non esistono ancora, tali relazioni non possono essere mappate.
</Warning>
1. Vai a **Impostazioni → Membri** nella tua istanza cloud
2. Invita tutti i membri del team che avevano account sull'istanza self-hosted
3. **Attendi che tutti accettino** il loro invito
4. Verifica che tutti gli utenti compaiano nell'elenco Membri
## Passaggio 4: Esporta i dati dall'istanza self-hosted
Esporta ogni oggetto dalla tua istanza self-hosted:
1. Vai a ciascun oggetto (Aziende, Persone, Opportunità, ecc.)
2. Configura la vista per mostrare **tutte le colonne** che vuoi migrare
3. Fai clic su **⋮ → Esporta vista**
4. Salva ogni file CSV con un nome chiaro (ad es., `companies-export.csv`)
**Esporta in questo ordine** (come riferimento durante l'importazione):
1. Aziende
2. Persone
3. Opportunità
4. Oggetti personalizzati (seguendo le loro dipendenze)
5. Attività, Note
## Passaggio 5: Aggiorna i riferimenti ai membri dello spazio di lavoro
I CSV esportati contengono gli ID utente della tua istanza self-hosted. Questi ID non corrisponderanno alla tua istanza cloud, quindi devi sostituirli con le email.
**Per ogni file CSV con riferimenti utente (Owner, Assignee, ecc.):**
1. Apri il CSV in un'applicazione per fogli di calcolo
2. Aggiungi una nuova colonna accanto a ciascuna colonna di ID utente (ad es., `accountOwnerEmail` accanto a `accountOwnerId`)
3. Compila l'**indirizzo email** di ciascun utente
4. Puoi eliminare la vecchia colonna ID oppure lasciarla (verrà ignorata durante l'importazione)
**Esempio:**
Prima:
```csv
name,domain,accountOwnerId
Acme Corp,https://acme.com,old-uuid-123
```
Dopo:
```csv
name,domain,accountOwnerEmail
Acme Corp,https://acme.com,john@yourcompany.com
```
<Note>Usa gli stessi indirizzi email che gli utenti hanno usato per accettare l'invito allo spazio di lavoro cloud.</Note>
## Passaggio 6: Pianifica l'ordine di importazione
Importa i file nel giusto ordine per mantenere le relazioni:
1. **Aziende** per prime (nessuna dipendenza)
2. **Persone** dopo (collegate alle Aziende)
3. **Opportunità** al terzo posto (collegate ad Aziende e Persone)
4. **Oggetti personalizzati** (seguendo le loro dipendenze)
5. **Attività e Note** per ultime (collegate ad altri record)
Consulta [Come importare le relazioni](/l/it/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) per i dettagli su come mantenere le relazioni.
## Passaggio 7: Importa nel cloud
Per ogni file CSV, in ordine:
1. Vai all'oggetto nella tua istanza cloud
2. Fai clic su **⋮ → Importa record**
3. Carica il file CSV
4. Mappa le colonne ai campi:
* Mappa le colonne delle email degli utenti ai campi relazione appropriati
* Mappa le altre colonne come al solito
5. Controlla e correggi eventuali errori
6. Conferma l'importazione
7. Verifica alcuni record prima di passare al file successivo
## Passaggio 8: Ricrea la configurazione
Dopo aver importato i dati, ricrea manualmente:
### Viste
* Ricrea le viste salvate con filtri, ordinamenti e configurazioni delle colonne
* Configura eventuali viste kanban o calendario
### Flussi di Lavoro
* Ricrea le automazioni in **Impostazioni → Flussi di lavoro**
* Testa ogni flusso di lavoro prima di farci affidamento
### Ruoli e permessi
* Configura i ruoli in **Impostazioni → Membri → Ruoli**
* Assegna gli utenti ai ruoli appropriati
### Integrazioni
* Riconnetti la sincronizzazione di email e calendario per ogni utente
* Riconfigura eventuali integrazioni API con nuove chiavi API
## Lista di Verifica Post-Migrazione
<Check>Tutti i dati importati correttamente</Check>
<Check>Relazioni tra oggetti funzionanti correttamente</Check>
<Check>Assegnazioni utente (Owner, Assignee) mappate correttamente</Check>
<Check>Viste ricreate</Check>
<Check>Flussi di lavoro ricreati e testati</Check>
<Check>Ruoli e permessi configurati</Check>
<Check>Sincronizzazione email/calendario riconnessa</Check>
<Check>Integrazioni API aggiornate con nuove chiavi</Check>
## FAQ
<AccordionGroup>
<Accordion title="Posso migrare i flussi di lavoro automaticamente?">
Al momento no. I flussi di lavoro devono essere ricreati manualmente nella tua istanza cloud.
</Accordion>
<Accordion title="Che cosa succede agli allegati e alle immagini?">
Gli allegati non sono inclusi nelle esportazioni CSV. Dovrai ricaricare manualmente gli allegati, migrarli tramite API oppure contattare il nostro team per assistenza con migrazioni di grandi dimensioni.
</Accordion>
<Accordion title="Posso mantenere entrambe le istanze operative durante la migrazione?">
Sì, consigliamo di mantenere attiva la tua istanza self-hosted finché non avrai verificato che la migrazione al cloud sia completa. Fai solo attenzione a non creare nuovi dati in entrambi gli ambienti.
</Accordion>
<Accordion title="Cosa succede se un utente non ha ancora accettato l'invito?">
I record che fanno riferimento a quell'utente non verranno importati oppure la relazione risulterà vuota. Assicurati che tutti gli utenti accettino gli inviti prima di importare i dati.
</Accordion>
</AccordionGroup>
## Hai Bisogno di Aiuto?
<Tip>
Stai eseguendo la migrazione di uno spazio di lavoro grande o complesso? [Trova un partner Twenty certificato](https://twenty.com/partners/list?categories=HOSTING\&ref=docs-migrate-cloud) per gestire l’intera migrazione end-to-end. *(Oppure coinvolgi il nostro team: [contact@twenty.com](mailto:contact@twenty.com).)*
</Tip>