[{"data":1,"prerenderedAt":338},["ShallowReactive",2],{"blog-it-supabase-branching-is-not-a-backup":3},{"id":4,"title":5,"body":6,"category":297,"cover":298,"coverAlt":299,"description":300,"draft":301,"extension":302,"faq":303,"image":318,"keywords":319,"meta":326,"navigation":327,"ogTitle":328,"path":329,"published":330,"seo":331,"stem":332,"tldr":333,"updated":330,"__hash__":337},"blog_it\u002Fblog\u002Fsupabase-branching-is-not-a-backup.md","Il branching di Supabase non è un backup. Va solo in avanti.",{"type":7,"value":8,"toc":285},"minimark",[9,13,16,24,29,32,35,38,122,131,135,138,141,144,148,151,154,160,163,167,170,173,199,203,206,209,214,223,227,230,233,240,243,246,249,253,273],[10,11,12],"p",{},"Hai acceso il branching di Supabase perché sembrava il modo accurato di\nlavorare. Adesso accanto al tuo progetto c'è un branch di preview, le modifiche\nsi provano lì prima che qualcuno le veda, e tutto l'impianto sembra parecchio più\nsicuro del mese scorso.",[10,14,15],{},"Ed è più sicuro. Solo che non è un backup, e la differenza si vede esattamente in\nun giorno.",[10,17,18,19,23],{},"Ecco il pezzo che le guide sul branching saltano: ",[20,21,22],"strong",{},"un branch è un secondo\ndatabase accanto al primo, non una versione precedente di quello."," Il branching è\nil posto dove vai prima di fare una modifica. Un backup è il posto dove vai\nquando qualcosa è già andato storto. Accendere il branching non deposita una\ncopia dei tuoi dati da nessuna parte.",[25,26,28],"h2",{"id":27},"il-branching-di-supabase-è-un-backup","Il branching di Supabase è un backup?",[10,30,31],{},"No. Un branch parte come un database vuoto vestito con il tuo schema, e niente\nnel branching rimette a posto una versione precedente dei tuoi dati.",[10,33,34],{},"La documentazione di Supabase è diretta: «I branch nuovi non partono con nessun\ndato del tuo progetto principale. Questo serve a proteggere meglio i tuoi dati di\nproduzione sensibili». Un branch viene costruito dalle tue migrazioni, e una\nmigrazione descrive la forma di un database. Le tabelle, le colonne, le policy.\nMai le righe.",[10,36,37],{},"Quindi il branch che sta accanto al tuo progetto non è la copia di martedì. È un\ndatabase nuovo che non ha mai visto i tuoi utenti.",[39,40,41,56],"table",{},[42,43,44],"thead",{},[45,46,47,50,53],"tr",{},[48,49],"th",{},[48,51,52],{},"Un branch Supabase",[48,54,55],{},"Un backup",[57,58,59,71,89,100,111],"tbody",{},[45,60,61,65,68],{},[62,63,64],"td",{},"Contiene le tue righe di prima",[62,66,67],{},"Solo se ce le hai clonate dentro",[62,69,70],{},"Sì, è tutto il suo mestiere",[45,72,73,76,83],{},[62,74,75],{},"Può rimettere la produzione com'era",[62,77,78],{},[79,80,82],"key-verdict",{"type":81},"danger","Mai",[62,84,85],{},[79,86,88],{"type":87},"safe","Sì",[45,90,91,94,97],{},[62,92,93],{},"Vive fuori dal tuo account Supabase",[62,95,96],{},"No, è un altro progetto dentro",[62,98,99],{},"Dipende da quale delle tre strade hai preso",[45,101,102,105,108],{},[62,103,104],{},"Ci sarà ancora il mese prossimo",[62,106,107],{},"Solo se lo hai reso persistente",[62,109,110],{},"Per tutto il tempo in cui lo conservi",[45,112,113,116,119],{},[62,114,115],{},"A cosa serve",[62,117,118],{},"Provare una modifica prima che raggiunga qualcuno",[62,120,121],{},"Tornare a prima che qualcosa raggiungesse qualcuno",[10,123,124,125,130],{},"Se non hai mai stabilito cosa stia davvero copiando il tuo database, quello è\nesattamente il compito verso cui questo articolo vuole mandarti, e\n",[126,127,129],"a",{"href":128},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","il tuo piano ne risolve la maggior parte in due minuti",".",[25,132,134],{"id":133},"cosè-davvero-un-branch","Cos'è davvero un branch",[10,136,137],{},"Un intero secondo progetto Supabase, con tutto il suo.",[10,139,140],{},"«Ogni branch è un ambiente separato con la propria istanza Supabase e le proprie\ncredenziali API», così dice la documentazione. La sua stringa di connessione, le\nsue chiavi, il suo Storage, i suoi account di accesso, le sue righe. Niente al\nsuo interno è collegato al progetto su cui stanno i tuoi utenti, ed è\nprecisamente questo a rendere sicuro romperci qualcosa.",[10,142,143],{},"Quell'isolamento è tutta la funzionalità, ed è anche il motivo per cui non può\nfare anche da backup. La copia dei tuoi dati che speravi non è mai stata presa, e\nil posto dove andresti a cercarla è vuoto dal giorno in cui è nato.",[25,145,147],{"id":146},"cosa-fa-un-merge-e-cosa-non-fa","Cosa fa un merge, e cosa non fa",[10,149,150],{},"Porta le tue modifiche di schema in produzione. Non porta mai righe, in nessuna\ndirezione, in nessun momento.",[10,152,153],{},"Quando fai il merge, Supabase applica le migrazioni del tuo branch al tuo\ndatabase di produzione e distribuisce le tue modifiche alle Edge Functions.\nQuesto è tutto il carico. Una tabella nuova, una colonna nuova, una policy\nriscritta: quelle viaggiano. Le righe che hai creato provando restano nel branch,\ne le righe in produzione restano esattamente com'erano, comprese quelle che\nsperavi di sostituire.",[155,156],"diagram",{"alt":157,"caption":158,"src":159},"Tre corsie entrano da un cancello dirette a un database di produzione. Una griglia di celle di tabella passa e porta una spunta. Un blocco di codice passa e porta una spunta. Una pila di righe di dati si ferma al cancello e porta una croce.","Un merge distribuisce la forma del tuo database e il codice che gli sta intorno. Le righe sono l'unica cosa che non è mai stato costruito per spostare.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fwhat-a-merge-carries-1600x640.png",[10,161,162],{},"La gente si aspetta una versione di questo che non esiste: un merge che entri in\nproduzione e rimetta le cose com'erano. Quello che il branching ha al suo posto è\nun deployment, applicato in avanti, su qualunque cosa si trovi in produzione in\nquel momento.",[25,164,166],{"id":165},"ma-io-ho-clonato-i-miei-dati-di-produzione-nel-branch","Ma io ho clonato i miei dati di produzione nel branch",[10,168,169],{},"Allora hai una copia delle tue righe, e tre cose di quella copia decidono quanto\nvale il giorno in cui ti servirà.",[10,171,172],{},"Si può fare e non è una cosa oscura. La CLI di Supabase descrive l'opzione come\nla clonazione dei dati di produzione nel database del branch, e l'API di\nmanagement accetta la stessa opzione quando crea un branch. Se l'hai usata, il\ntuo branch contiene davvero i tuoi dati.",[174,175,176,183,193],"ul",{},[177,178,179,182],"li",{},[20,180,181],{},"È stata presa una volta."," Il clone avviene alla creazione del branch e dopo\nniente lo aggiorna. Ogni ordine, ogni iscrizione e ogni commento da allora vive\nin produzione e da nessun'altra parte, ed è tutta lì la differenza tra una copia\ne un calendario.",[177,184,185,188,189,130],{},[20,186,187],{},"Sta dentro lo stesso account."," Un branch è un altro progetto sotto la stessa\norganizzazione, sulla stessa carta, dietro lo stesso accesso. Ogni modo di\nperdere il tuo account Supabase si porta via anche il branch, e\n",[126,190,192],{"href":191},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","quello è un disastro diverso dal rovinarsi i propri dati",[177,194,195,198],{},[20,196,197],{},"Nessuno l'ha riletta."," Un clone rimasto a metà è identico da fuori a uno\narrivato in fondo, fino al momento in cui lo apri.",[25,200,202],{"id":201},"il-branch-è-la-parte-progettata-per-sparire","Il branch è la parte progettata per sparire",[10,204,205],{},"Un branch di preview viene cancellato quando la sua pull request viene mergiata o\nchiusa. È il comportamento documentato della funzionalità.",[10,207,208],{},"Supabase definisce i branch di preview «effimeri e adatti a test mirati» e dice\nche «vengono cancellati automaticamente quando una PR viene mergiata o chiusa».\nL'altro tipo, i branch persistenti, sono «di lunga durata e consigliati per\nambienti come staging, QA o sviluppo», e quelli sopravvivono alla chiusura della\npull request.",[155,210],{"alt":211,"caption":212,"src":213},"Due linee del tempo vanno da sinistra a destra e finiscono ciascuna su una rottura della linea. Su quella in alto ci sono file salvati in tre punti precedenti, e una freccia torna dalla rottura al più vicino di essi, con una spunta. Su quella in basso una seconda linea si stacca e corre accanto portando un database vuoto, e una freccia di ritorno dalla rottura non raggiunge nulla, con una croce.","Un backup sta dietro di te sulla linea del tempo, a un momento che puoi nominare. Un branch corre al tuo fianco, e dietro di lui non c'è niente a cui aggrapparsi.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fbehind-you-beside-you-1600x680.png",[10,215,216,217,130],{},"Quindi con l'impostazione di default, il branch che tiene la tua unica copia\nclonata è proprio quello che il tuo flusso di lavoro butta il giorno in cui il\nlavoro finisce. Tenerlo significa renderlo persistente, e un branch persistente è\nun secondo progetto Supabase acceso. Supabase offre il branching sui piani a\npagamento e lo fattura per branch e per ora, sulla\n",[126,218,222],{"href":219,"rel":220},"https:\u002F\u002Fsupabase.com\u002Fpricing",[221],"nofollow","loro pagina dei prezzi",[25,224,226],{"id":225},"a-cosa-serve-davvero-il-branching","A cosa serve davvero il branching",[10,228,229],{},"A parecchio, e questo articolo sarebbe disonesto se non lo dicesse.",[10,231,232],{},"Un branch è il posto più economico che esista per scoprire che una migrazione\nelimina una colonna, prima che elimini la colonna su cui sono seduti i tuoi\nclienti. Ti lascia provare una modifica alle policy contro un database fatto\nesattamente come il tuo, con le sue chiavi, così che un errore non raggiunga\nnessuno. Dà a un'IA un posto dove sbagliare che non è la tua app in produzione.\nUn backup non può fare niente di tutto questo.",[10,234,235,236,130],{},"Il buco sta in che tipo di incidente copre. Il branching protegge le modifiche\nche passano da una pull request. La maggior parte di ciò che davvero costa i dati\nalla gente non ci passa mai vicino: una cancellazione nell'editor di tabelle di\nSupabase che ha preso più righe del previsto, uno script di seed puntato sul\nprogetto in produzione, una migrazione scritta da un'IA e approvata all'una di\nnotte, una ripulita di quelli che sembravano dati di prova. Nessuno di questi\nattraversa un branch mentre va in produzione, ed è lo stesso motivo per cui\n",[126,237,239],{"href":238},"\u002Fblog\u002Fversion-history-is-not-a-backup","tornare indietro con il codice non riporta una tabella cancellata",[10,241,242],{},"Quel secondo tipo di incidente è ciò a cui risponde un backup. Sta dietro di te\nnel tempo e tiene lo stato del tuo database a un momento che puoi nominare, così\nche un errore commesso fuori dal tuo flusso di lavoro abbia ancora un posto dove\ntornare.",[10,244,245],{},"È anche quello che è Reeve Care: copie programmate del tuo database Supabase,\nconservate fuori dal tuo account Supabase, rilette e verificate prima che una di\nesse conti come fatta. Collega i tuoi bucket Storage e i file caricati dai tuoi\nutenti viaggiano insieme, così un ripristino rimette le righe e le immagini a cui\nquelle righe puntano.",[10,247,248],{},"Tieni acceso il branching comunque. Niente di quanto sopra è un argomento per\nspegnerlo.",[25,250,252],{"id":251},"cosa-fare-questa-settimana","Cosa fare questa settimana",[254,255,256],"key-takeaways",{},[174,257,258,261,264,267,270],{},[177,259,260],{},"Scopri cosa copia il tuo database secondo un calendario, separatamente da qualsiasi cosa lo divida in branch. Se stabilirlo richiede più di un minuto, la risposta è che non lo fa niente.",[177,262,263],{},"Se stavi trattando un branch clonato come la tua rete di sicurezza, annota la data in cui è stato creato e la data in cui la sua pull request si chiude. Sono i due estremi di quello che copre.",[177,265,266],{},"Accendi il backup incluso nel tuo piano Supabase. È la cosa più economica di questa lista e copre il disastro ordinario, cioè che ti sei rovinato i dati da solo.",[177,268,269],{},"Tieni una copia fuori dal tuo account Supabase, perché un branch e un backup della piattaforma stanno entrambi dietro lo stesso accesso della cosa che proteggono.",[177,271,272],{},"Ripristina una copia in un progetto usa e getta, così la prima volta che leggi quel file non è il giorno in cui ti serve.",[10,274,275,276,280,281,130],{},"Prima di chiudere questa scheda, apri il tuo progetto Supabase e guarda se\nqualcosa ne sta prendendo una copia secondo un calendario. Quell'unica risposta è\ntutto il lavoro di oggi, e il branching non la cambia in nessun senso. La\n",[126,277,279],{"href":278},"\u002Fchecklist","checklist di sicurezza in 10 minuti"," la copre insieme al resto di\nquello che vale la pena confermare su un'app appena lanciata, e cosa contiene una\ncopia e cosa fa davvero il pulsante di ripristino è spiegato passo passo sulla\n",[126,282,284],{"href":283},"\u002Fsupabase-backups","pagina sui backup di Supabase",{"title":286,"searchDepth":287,"depth":287,"links":288},"",3,[289,291,292,293,294,295,296],{"id":27,"depth":290,"text":28},2,{"id":133,"depth":290,"text":134},{"id":146,"depth":290,"text":147},{"id":165,"depth":290,"text":166},{"id":201,"depth":290,"text":202},{"id":225,"depth":290,"text":226},{"id":251,"depth":290,"text":252},"Backups","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcover-1200x630.png","Una linea di dati che prosegue, con una seconda linea che si stacca e porta accanto un database vuoto.","Perché il branching di Supabase non è un backup: un branch parte senza i tuoi dati e un merge sposta solo lo schema. A cosa serve davvero e cosa usare invece.",false,"md",[304,306,309,312,315],{"q":28,"a":305},"No. Un branch è un database Supabase a sé, costruito dalle tue migrazioni, e Supabase documenta che i branch nuovi partono senza nessuno dei dati del tuo progetto principale. Il branching ti dà un posto dove provare una modifica prima che arrivi in produzione. Un backup ti dà una copia dei tuoi dati a un momento che puoi nominare, così puoi tornarci. Sono due mestieri diversi, e accendere il primo non fa niente per il secondo.",{"q":307,"a":308},"Un branch di preview di Supabase contiene i miei dati di produzione?","Di default no. Supabase dice che i branch nuovi non partono con nessun dato del progetto principale, e indica come motivo la protezione dei tuoi dati di produzione. Puoi chiedere un clone quando crei il branch, e la CLI descrive quell'opzione come la clonazione dei dati di produzione nel database del branch. Se non l'hai chiesta, il tuo branch ha le tue tabelle e nessuna delle tue righe.",{"q":310,"a":311},"Posso ripristinare il mio database di produzione da un branch?","Nel branching non c'è nessun ripristino. Un merge applica le migrazioni del branch al tuo database di produzione e distribuisce le tue modifiche alle Edge Functions; niente su quel percorso sposta righe, e niente inverte alcunché. Se hai clonato dati di produzione in un branch potresti estrarre un dump di quel database e rigiocartelo da solo, ma a quel punto quello che ti protegge è il dump, non il branch.",{"q":313,"a":314},"Che fine fa il mio branch quando faccio il merge della pull request?","Un branch di preview viene cancellato. Supabase descrive i branch di preview come effimeri e dice che vengono cancellati automaticamente quando una pull request viene mergiata o chiusa. I branch persistenti sono l'altro tipo, pensati per staging o QA, e quelli non spariscono alla chiusura della pull request. Quindi se un branch tiene l'unica copia di qualcosa che ti interessa, l'impostazione di default la butta il giorno in cui il lavoro finisce.",{"q":316,"a":317},"Il branching costa di più?","Sì. Supabase offre il branching sui piani a pagamento e lo fattura per branch e per ora, sopra il tuo abbonamento. Leggi la tariffa attuale sulla loro pagina dei prezzi invece che qui, perché è loro e possono cambiarla. La versione pratica: un branch persistente lasciato acceso è un secondo progetto Supabase che paghi per ogni ora in cui esiste.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcard-800x500.png",[320,321,322,323,324,325],"supabase branching backup","il branching di supabase è un backup","supabase branch preview dati","supabase branching vs backup","supabase branch dati di produzione","branching database supabase",{},true,"Il branching di Supabase non è un backup","\u002Fblog\u002Fsupabase-branching-is-not-a-backup","2026-08-25",{"title":5,"description":300},"blog\u002Fsupabase-branching-is-not-a-backup",[334,335,336],"Il branching di Supabase non è un backup. Un branch è un secondo database per provare le modifiche, e parte senza nessuno dei tuoi dati di produzione.","Un merge applica le tue modifiche di schema alla produzione. Non porta mai righe, e non esiste nessuna operazione che rimetta a posto una versione precedente dei tuoi dati.","Anche un branch in cui cloni i tuoi dati vive dentro lo stesso account, e un branch di preview viene cancellato quando la sua pull request si chiude.","FIaUjbKMjyQU1guWX5_jS5-W7Ee8Ws_fywU08_vPIVc",1787826050998]