[{"data":1,"prerenderedAt":338},["ShallowReactive",2],{"blog-de-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_de\u002Fblog\u002Fsupabase-branching-is-not-a-backup.md","Supabase Branching ist kein Backup. Es geht nur vorwärts.",{"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",{},"Du hast Supabase Branching angeschaltet, weil es nach der sorgfältigen Art zu\narbeiten aussah. Neben deinem Projekt steht jetzt ein Preview-Branch,\nÄnderungen werden dort ausprobiert, bevor sie jemand sieht, und das Ganze fühlt\nsich deutlich sicherer an als noch letzten Monat.",[10,14,15],{},"Es ist auch sicherer. Es ist nur kein Backup, und der Unterschied zeigt sich an\ngenau einem Tag.",[10,17,18,19,23],{},"Hier ist der Punkt, den die Branching-Anleitungen überspringen: ",[20,21,22],"strong",{},"Ein Branch ist\neine zweite Datenbank neben deiner ersten, keine frühere Fassung davon.","\nBranching ist der Ort, an den du gehst, bevor du etwas änderst. Ein Backup ist\nder Ort, an den du gehst, wenn schon etwas schiefging. Branching anzuschalten\nlegt nirgendwo eine Kopie deiner Daten ab.",[25,26,28],"h2",{"id":27},"ist-supabase-branching-ein-backup","Ist Supabase Branching ein Backup?",[10,30,31],{},"Nein. Ein Branch startet als leere Datenbank im Gewand deines Schemas, und\nnichts am Branching legt einen älteren Stand deiner Daten zurück.",[10,33,34],{},"Supabases eigene Dokumentation ist da deutlich: „Neue Branches starten ohne\njegliche Daten aus deinem Hauptprojekt. Das soll deine sensiblen Produktionsdaten\nbesser schützen.\" Ein Branch wird aus deinen Migrationen gebaut, und eine\nMigration beschreibt die Form einer Datenbank. Die Tabellen, die Spalten, die\nPolicies. Nie die Zeilen.",[10,36,37],{},"Der Branch neben deinem Projekt ist also nicht die Kopie von Dienstag. Er ist\neine neue Datenbank, die deine Nutzer nie gesehen hat.",[39,40,41,56],"table",{},[42,43,44],"thead",{},[45,46,47,50,53],"tr",{},[48,49],"th",{},[48,51,52],{},"Ein Supabase-Branch",[48,54,55],{},"Ein Backup",[57,58,59,71,89,100,111],"tbody",{},[45,60,61,65,68],{},[62,63,64],"td",{},"Hält deine Zeilen von früher",[62,66,67],{},"Nur wenn du sie hineingeklont hast",[62,69,70],{},"Ja, das ist die ganze Aufgabe",[45,72,73,76,83],{},[62,74,75],{},"Kann die Produktion zurückversetzen",[62,77,78],{},[79,80,82],"key-verdict",{"type":81},"danger","Nie",[62,84,85],{},[79,86,88],{"type":87},"safe","Ja",[45,90,91,94,97],{},[62,92,93],{},"Liegt außerhalb deines Supabase-Kontos",[62,95,96],{},"Nein, es ist ein weiteres Projekt darin",[62,98,99],{},"Kommt darauf an, welchen der drei Wege du gingst",[45,101,102,105,108],{},[62,103,104],{},"Ist nächsten Monat noch da",[62,106,107],{},"Nur wenn du ihn persistent gemacht hast",[62,109,110],{},"So lange, wie du es aufbewahrst",[45,112,113,116,119],{},[62,114,115],{},"Wofür es da ist",[62,117,118],{},"Eine Änderung testen, bevor sie jemanden erreicht",[62,120,121],{},"Zurück zu dem Moment, bevor etwas jemanden erreichte",[10,123,124,125,130],{},"Wenn du nie festgestellt hast, was deine Datenbank eigentlich kopiert, ist genau\ndas die Aufgabe, zu der dieser Artikel dich schicken will, und\n",[126,127,129],"a",{"href":128},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","dein Tarif klärt das meiste davon in zwei Minuten",".",[25,132,134],{"id":133},"was-ein-branch-tatsächlich-ist","Was ein Branch tatsächlich ist",[10,136,137],{},"Ein ganzes zweites Supabase-Projekt, mit allem Eigenen.",[10,139,140],{},"„Jeder Branch ist eine eigene Umgebung mit eigener Supabase-Instanz und eigenen\nAPI-Zugangsdaten\", schreibt die Dokumentation. Eigener Connection String, eigene\nKeys, eigenes Storage, eigene Login-Konten, eigene Zeilen. Nichts darin ist mit\ndem Projekt verdrahtet, auf dem deine Nutzer sitzen, und genau das macht es\nsicher, darin etwas kaputtzumachen.",[10,142,143],{},"Diese Abschottung ist die ganze Funktion, und sie ist auch der Grund, warum er\nnicht nebenbei ein Backup sein kann. Die Kopie deiner Daten, auf die du gehofft\nhast, wurde nie gezogen, und der Ort, an dem du sie suchen würdest, ist seit dem\nTag seiner Entstehung leer.",[25,145,147],{"id":146},"was-ein-merge-tut-und-was-er-nicht-tut","Was ein Merge tut, und was er nicht tut",[10,149,150],{},"Er trägt deine Schema-Änderungen in die Produktion. Er trägt nie Zeilen, in\nkeine Richtung, zu keinem Zeitpunkt.",[10,152,153],{},"Beim Mergen spielt Supabase die Migrationen deines Branches gegen deine\nProduktionsdatenbank und liefert deine Edge-Function-Änderungen aus. Das ist die\nganze Fracht. Eine neue Tabelle, eine neue Spalte, eine umgeschriebene Policy:\nDie reisen mit. Die Zeilen, die du beim Testen angelegt hast, bleiben im Branch,\nund die Zeilen in der Produktion bleiben genau so, wie sie waren, einschließlich\nderer, die du ersetzen wolltest.",[155,156],"diagram",{"alt":157,"caption":158,"src":159},"Drei Spuren laufen durch ein Tor in eine Produktionsdatenbank. Ein Raster aus Tabellenzellen kommt durch und trägt ein Häkchen. Ein Codeblock kommt durch und trägt ein Häkchen. Ein Stapel Datenzeilen bleibt am Tor stehen und trägt ein Kreuz.","Ein Merge liefert die Form deiner Datenbank und den Code drumherum aus. Die Zeilen sind das eine, wofür er nie gebaut war.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fwhat-a-merge-carries-1600x640.png",[10,161,162],{},"Leute erwarten eine Fassung davon, die es nicht gibt: einen Merge, der in die\nProduktion greift und die Dinge zurücklegt. Was Branching stattdessen hat, ist\nein Deployment, nach vorne gespielt, auf das, was zu dem Zeitpunkt gerade in der\nProduktion steht.",[25,164,166],{"id":165},"aber-ich-habe-meine-produktionsdaten-in-den-branch-geklont","Aber ich habe meine Produktionsdaten in den Branch geklont",[10,168,169],{},"Dann hast du eine Kopie deiner Zeilen, und drei Dinge an dieser Kopie\nentscheiden, was sie an dem Tag wert ist, an dem du sie brauchst.",[10,171,172],{},"Das geht, und es ist nichts Exotisches. Die Supabase-CLI beschreibt den Schalter\nals „ob Produktionsdaten in die Branch-Datenbank geklont werden sollen\", und die\nManagement-API nimmt dieselbe Option beim Anlegen eines Branches. Hast du sie\nbenutzt, hält dein Branch tatsächlich deine Daten.",[174,175,176,183,193],"ul",{},[177,178,179,182],"li",{},[20,180,181],{},"Sie wurde einmal gezogen."," Der Klon passiert beim Anlegen des Branches, und\ndanach füllt ihn nichts nach. Jede Bestellung, jede Anmeldung und jeder\nKommentar seitdem liegt in der Produktion und sonst nirgends, und das ist der\nganze Unterschied zwischen einer Kopie und einem Zeitplan.",[177,184,185,188,189,130],{},[20,186,187],{},"Sie liegt im selben Konto."," Ein Branch ist ein weiteres Projekt unter\nderselben Organisation, auf derselben Karte, hinter demselben Login. Jeder Weg,\ndein Supabase-Konto zu verlieren, nimmt den Branch mit, und\n",[126,190,192],{"href":191},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","das ist ein anderes Unglück als das Kaputtmachen der eigenen Daten",[177,194,195,198],{},[20,196,197],{},"Niemand hat sie zurückgelesen."," Ein Klon, der halb durchlief, sieht von\naußen genauso aus wie einer, der fertig wurde, bis zu dem Moment, in dem du ihn\nöffnest.",[25,200,202],{"id":201},"der-branch-ist-der-teil-der-verschwinden-soll","Der Branch ist der Teil, der verschwinden soll",[10,204,205],{},"Ein Preview-Branch wird gelöscht, sobald sein Pull Request gemergt oder\ngeschlossen wird. Das ist das dokumentierte Verhalten der Funktion.",[10,207,208],{},"Supabase nennt Preview-Branches „kurzlebig und am besten geeignet für gezieltes\nTesten\" und sagt, sie „werden automatisch gelöscht, wenn ein PR gemergt oder\ngeschlossen wird\". Die andere Sorte, persistente Branches, sind „langlebig und\nempfohlen für Umgebungen wie Staging, QA oder Entwicklung\", und die überstehen\ndas Schließen des Pull Requests.",[155,210],{"alt":211,"caption":212,"src":213},"Zwei Zeitleisten laufen von links nach rechts und enden jeweils an einem Bruch in der Linie. Auf der oberen stehen gespeicherte Dateien an drei früheren Punkten, und ein Pfeil führt vom Bruch zurück zur nächstgelegenen davon, mit Häkchen. Auf der unteren zweigt eine zweite Linie ab und läuft daneben mit einer leeren Datenbank, und ein Pfeil zurück vom Bruch erreicht nichts, mit Kreuz.","Ein Backup steht hinter dir auf der Zeitleiste, an einem Moment, den du benennen kannst. Ein Branch läuft neben dir, und hinter ihm ist nichts, wonach du greifen könntest.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fbehind-you-beside-you-1600x680.png",[10,215,216,217,130],{},"In der Standardeinstellung ist der Branch mit deiner einzigen geklonten Kopie\nalso genau das, was dein Arbeitsablauf an dem Tag wegwirft, an dem die Arbeit\nfertig ist. Ihn zu behalten heißt, ihn persistent zu machen, und ein persistenter\nBranch ist ein zweites laufendes Supabase-Projekt. Supabase führt Branching auf\nden bezahlten Tarifen und rechnet es pro Branch und Stunde ab, nachzulesen auf\n",[126,218,222],{"href":219,"rel":220},"https:\u002F\u002Fsupabase.com\u002Fpricing",[221],"nofollow","ihrer Preisseite",[25,224,226],{"id":225},"wofür-branching-wirklich-gut-ist","Wofür Branching wirklich gut ist",[10,228,229],{},"Für eine ganze Menge, und dieser Artikel wäre unehrlich, wenn er das nicht sagte.",[10,231,232],{},"Ein Branch ist der billigste Ort, um herauszufinden, dass eine Migration eine\nSpalte entfernt, bevor sie die Spalte entfernt, in der deine Kunden sitzen. Du\nkannst eine Policy-Änderung an einer Datenbank proben, die genau wie deine\ngeformt ist, mit eigenen Keys, sodass ein Fehler niemanden erreicht. Er gibt\neiner KI einen Ort, an dem sie falsch liegen darf und der nicht deine Live-App\nist. Ein Backup kann nichts davon.",[10,234,235,236,130],{},"Die Lücke liegt darin, welche Art Unglück er abdeckt. Branching schützt die\nÄnderungen, die durch einen Pull Request laufen. Das meiste, was Leuten\ntatsächlich ihre Daten kostet, kommt dort nie vorbei: ein Löschen im\nSupabase-Tabelleneditor, das mehr Zeilen traf als gemeint, ein Seed-Skript, das\nauf das Live-Projekt zeigte, eine Migration, die eine KI schrieb und du um ein\nUhr nachts abgenickt hast, ein Aufräumen von scheinbaren Testdaten. Nichts davon\nläuft auf dem Weg in die Produktion durch einen Branch, und das ist derselbe\nGrund, aus dem\n",[126,237,239],{"href":238},"\u002Fblog\u002Fversion-history-is-not-a-backup","ein Rücksprung im Code keine gelöschte Tabelle mitbringt",[10,241,242],{},"Diese zweite Art Unglück ist das, was ein Backup beantwortet. Es steht hinter dir\nin der Zeit und hält den Stand deiner Datenbank zu einem Moment, den du benennen\nkannst, damit ein Fehler außerhalb deines Arbeitsablaufs noch irgendwohin\nzurückkann.",[10,244,245],{},"Genau das ist auch Reeve Care: geplante Kopien deiner Supabase-Datenbank,\naußerhalb deines Supabase-Kontos aufbewahrt, zurückgelesen und geprüft, bevor\neine davon als gemacht zählt. Verbinde deine Storage-Buckets, und die von deinen\nNutzern hochgeladenen Dateien fahren mit, sodass eine Wiederherstellung die\nZeilen zurücklegt und die Bilder, auf die sie zeigen.",[10,247,248],{},"Lass Branching so oder so an. Nichts oben ist ein Argument, es abzuschalten.",[25,250,252],{"id":251},"was-du-diese-woche-tun-solltest","Was du diese Woche tun solltest",[254,255,256],"key-takeaways",{},[174,257,258,261,264,267,270],{},[177,259,260],{},"Finde heraus, was deine Datenbank nach Zeitplan kopiert, getrennt von allem, was sie branched. Dauert das länger als eine Minute, lautet die Antwort: nichts.",[177,262,263],{},"Wenn du einen geklonten Branch als Sicherheitsnetz behandelt hast, notiere das Datum seiner Entstehung und das Datum, an dem sein Pull Request schließt. Das sind die beiden Enden dessen, was er abdeckt.",[177,265,266],{},"Schalte das Backup an, das dein Supabase-Tarif enthält. Es ist das Billigste auf dieser Liste und deckt das gewöhnliche Unglück ab, nämlich dass du deine eigenen Daten kaputtgemacht hast.",[177,268,269],{},"Halte eine Kopie außerhalb deines Supabase-Kontos, denn ein Branch und ein Plattform-Backup liegen beide hinter demselben Login wie das, was sie schützen.",[177,271,272],{},"Spiel eine Kopie in ein Wegwerf-Projekt zurück, damit das erste Lesen dieser Datei nicht der Tag ist, an dem du sie brauchst.",[10,274,275,276,280,281,130],{},"Bevor du diesen Tab schließt: Öffne dein Supabase-Projekt und sieh nach, ob\nirgendetwas nach Zeitplan eine Kopie zieht. Diese eine Antwort ist die ganze\nArbeit von heute, und Branching ändert daran nichts. Die\n",[126,277,279],{"href":278},"\u002Fchecklist","10-Minuten-Sicherheitscheckliste"," deckt sie zusammen mit dem\nÜbrigen ab, was bei einer frisch gestarteten App zu bestätigen ist, und was eine\nKopie enthält und was der Knopf tatsächlich tut, steht auf der\n",[126,282,284],{"href":283},"\u002Fsupabase-backups","Seite zu Supabase-Backups",{"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","Eine Datenlinie läuft weiter, während eine zweite Linie abzweigt und daneben eine leere Datenbank mitführt.","Warum Supabase Branching kein Backup ist: Ein Branch startet ohne deine Daten, und ein Merge bringt nur das Schema. Wofür es gut ist und was stattdessen hilft.",false,"md",[304,306,309,312,315],{"q":28,"a":305},"Nein. Ein Branch ist eine eigene Supabase-Datenbank, gebaut aus deinen Migrationen, und Supabase dokumentiert, dass neue Branches ohne die Daten aus deinem Hauptprojekt starten. Branching gibt dir einen Ort, um eine Änderung zu testen, bevor sie die Produktion erreicht. Ein Backup gibt dir eine Kopie deiner Daten von einem Zeitpunkt, den du benennen kannst, damit du dorthin zurück kannst. Das sind zwei verschiedene Aufgaben, und das Erste anzuschalten tut nichts für das Zweite.",{"q":307,"a":308},"Sind meine Produktionsdaten in einem Supabase-Preview-Branch?","Standardmäßig nicht. Supabase sagt, dass neue Branches mit keinerlei Daten aus deinem Hauptprojekt starten, und nennt als Grund den Schutz deiner Produktionsdaten. Du kannst dich beim Anlegen des Branches für einen Klon entscheiden, und die CLI beschreibt diesen Schalter als das Klonen von Produktionsdaten in die Branch-Datenbank. Hast du das nicht verlangt, hat dein Branch deine Tabellen und keine deiner Zeilen.",{"q":310,"a":311},"Kann ich meine Produktionsdatenbank aus einem Branch wiederherstellen?","Im Branching gibt es kein Wiederherstellen. Ein Merge spielt die Migrationen des Branches gegen deine Produktionsdatenbank und liefert deine Edge-Function-Änderungen aus; nichts auf diesem Weg bewegt Zeilen, und nichts daran dreht etwas zurück. Hast du Produktionsdaten in einen Branch geklont, könntest du diese Datenbank herausziehen und selbst zurückspielen, aber dann schützt dich der Dump und nicht der Branch.",{"q":313,"a":314},"Was passiert mit meinem Branch, wenn ich den Pull Request merge?","Ein Preview-Branch wird gelöscht. Supabase beschreibt Preview-Branches als kurzlebig und sagt, sie werden automatisch gelöscht, sobald ein Pull Request gemergt oder geschlossen wird. Persistente Branches sind die andere Sorte, gedacht für Staging oder QA, und die verschwinden beim Schließen des Pull Requests nicht. Hält also ein Branch die einzige Kopie von etwas, das dir wichtig ist, wirft die Standardeinstellung sie an dem Tag weg, an dem die Arbeit fertig ist.",{"q":316,"a":317},"Kostet Branching extra?","Ja. Supabase führt Branching auf den bezahlten Tarifen und rechnet es pro Branch und Stunde zusätzlich zu deinem Abo ab. Lies den aktuellen Satz auf ihrer Preisseite statt hier, denn er gehört ihnen. Praktisch heißt das: Ein persistenter Branch, der läuft, ist ein zweites Supabase-Projekt, das du jede Stunde seines Bestehens bezahlst.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcard-800x500.png",[320,321,322,323,324,325],"supabase branching backup","ist supabase branching ein backup","supabase preview branch daten","supabase branching vs backup","supabase branch produktionsdaten","supabase datenbank branching",{},true,"Supabase Branching ist kein 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],"Supabase Branching ist kein Backup. Ein Branch ist eine zweite Datenbank zum Testen von Änderungen, und er startet ohne deine Produktionsdaten.","Ein Merge spielt deine Schema-Änderungen in die Produktion. Er trägt nie Zeilen mit, und es gibt keinen Vorgang, der einen älteren Stand deiner Daten zurücklegt.","Auch ein Branch, in den du deine Daten klonst, liegt im selben Konto, und ein Preview-Branch wird gelöscht, sobald sein Pull Request schließt.","aeI2A3VgHvIc4wEu5U2bLbqROLfhbsztNMuj4H0ileo",1787826048205]