[{"data":1,"prerenderedAt":338},["ShallowReactive",2],{"blog-es-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_es\u002Fblog\u002Fsupabase-branching-is-not-a-backup.md","Supabase branching no es un backup. Solo va hacia adelante.",{"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",{},"Encendiste el branching de Supabase porque parecía la forma cuidadosa de\ntrabajar. Ahora hay una rama de preview al lado de tu proyecto, los cambios se\nprueban ahí antes de que nadie los vea, y todo el montaje se siente bastante más\nseguro que el mes pasado.",[10,14,15],{},"Y es más seguro. Solo que no es un backup, y la diferencia aparece exactamente un\ndía.",[10,17,18,19,23],{},"Aquí está la parte que las guías de branching se saltan: ",[20,21,22],"strong",{},"una rama es una\nsegunda base de datos al lado de la primera, no una versión anterior de ella."," El\nbranching es el sitio al que vas antes de hacer un cambio. Un backup es el sitio\nal que vas cuando algo ya salió mal. Encender el branching no deja una copia de\ntus datos en ninguna parte.",[25,26,28],"h2",{"id":27},"el-branching-de-supabase-es-un-backup","¿El branching de Supabase es un backup?",[10,30,31],{},"No. Una rama arranca como una base de datos vacía vestida con tu esquema, y nada\nen el branching devuelve una versión anterior de tus datos.",[10,33,34],{},"La propia documentación de Supabase es directa: «Las ramas nuevas no arrancan con\nningún dato de tu proyecto principal. Esto busca proteger mejor tus datos\nsensibles de producción». Una rama se construye a partir de tus migraciones, y\nuna migración describe la forma de una base de datos. Las tablas, las columnas,\nlas policies. Nunca las filas.",[10,36,37],{},"Así que la rama que está junto a tu proyecto no es la copia del martes. Es una\nbase de datos nueva que nunca ha visto a tus usuarios.",[39,40,41,56],"table",{},[42,43,44],"thead",{},[45,46,47,50,53],"tr",{},[48,49],"th",{},[48,51,52],{},"Una rama de Supabase",[48,54,55],{},"Un backup",[57,58,59,71,89,100,111],"tbody",{},[45,60,61,65,68],{},[62,63,64],"td",{},"Guarda tus filas de un momento anterior",[62,66,67],{},"Solo si las clonaste dentro",[62,69,70],{},"Sí, ese es todo su trabajo",[45,72,73,76,83],{},[62,74,75],{},"Puede devolver producción a como estaba",[62,77,78],{},[79,80,82],"key-verdict",{"type":81},"danger","Nunca",[62,84,85],{},[79,86,88],{"type":87},"safe","Sí",[45,90,91,94,97],{},[62,92,93],{},"Vive fuera de tu cuenta de Supabase",[62,95,96],{},"No, es otro proyecto dentro de ella",[62,98,99],{},"Depende de cuál de las tres vías tomaste",[45,101,102,105,108],{},[62,103,104],{},"Sigue ahí el mes que viene",[62,106,107],{},"Solo si la hiciste persistente",[62,109,110],{},"Todo el tiempo que la guardes",[45,112,113,116,119],{},[62,114,115],{},"Para qué sirve",[62,117,118],{},"Probar un cambio antes de que llegue a nadie",[62,120,121],{},"Volver a antes de que algo llegara a nadie",[10,123,124,125,130],{},"Si nunca has averiguado qué está copiando de verdad tu base de datos, ese es\njusto el encargo al que este artículo quiere mandarte, y\n",[126,127,129],"a",{"href":128},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","tu plan resuelve casi todo en dos minutos",".",[25,132,134],{"id":133},"qué-es-una-rama-en-realidad","Qué es una rama en realidad",[10,136,137],{},"Un segundo proyecto entero de Supabase, con todo lo suyo propio.",[10,139,140],{},"«Cada rama es un entorno separado con su propia instancia de Supabase y sus\npropias credenciales de API», así lo dice la documentación. Su propia cadena de\nconexión, sus propias claves, su propio Storage, sus propias cuentas de acceso,\nsus propias filas. Nada dentro está cableado al proyecto en el que están tus\nusuarios, que es precisamente lo que hace seguro romper cosas ahí.",[10,142,143],{},"Ese aislamiento es toda la funcionalidad, y también es la razón por la que no\npuede hacer de backup. La copia de tus datos que esperabas nunca se tomó, y el\nsitio donde irías a buscarla lleva vacío desde el día en que se creó.",[25,145,147],{"id":146},"qué-hace-un-merge-y-qué-no-hace","Qué hace un merge, y qué no hace",[10,149,150],{},"Lleva tus cambios de esquema a producción. Nunca lleva filas, en ninguna\ndirección, en ningún momento.",[10,152,153],{},"Cuando haces merge, Supabase aplica las migraciones de tu rama a tu base de\nproducción y despliega tus cambios de Edge Functions. Esa es toda la carga. Una\ntabla nueva, una columna nueva, una policy reescrita: eso viaja. Las filas que\ncreaste mientras probabas se quedan en la rama, y las filas de producción se\nquedan exactamente como estaban, incluidas las que esperabas reemplazar.",[155,156],"diagram",{"alt":157,"caption":158,"src":159},"Tres carriles entran por una puerta camino de una base de datos de producción. Una rejilla de celdas de tabla pasa y lleva una marca de visto. Un bloque de código pasa y lleva una marca de visto. Una pila de filas de datos se detiene en la puerta y lleva una cruz.","Un merge despliega la forma de tu base de datos y el código que la rodea. Las filas son lo único que nunca se diseñó para mover.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fwhat-a-merge-carries-1600x640.png",[10,161,162],{},"La gente espera una versión de esto que no existe: un merge que meta la mano en\nproducción y devuelva las cosas a como estaban. Lo que el branching tiene en su\nlugar es un despliegue, aplicado hacia adelante, sobre lo que haya en producción\nen ese momento.",[25,164,166],{"id":165},"pero-yo-cloné-mis-datos-de-producción-en-la-rama","Pero yo cloné mis datos de producción en la rama",[10,168,169],{},"Entonces tienes una copia de tus filas, y tres cosas sobre esa copia deciden lo\nque vale el día que la necesites.",[10,171,172],{},"Se puede hacer y no es nada exótico. La CLI de Supabase describe la opción como\nclonar los datos de producción a la base de datos de la rama, y la API de\nmanagement acepta esa misma opción al crear una rama. Si la usaste, tu rama sí\ncontiene tus datos.",[174,175,176,183,193],"ul",{},[177,178,179,182],"li",{},[20,180,181],{},"Se tomó una vez."," El clon ocurre al crear la rama y después nada lo rellena.\nCada pedido, cada registro y cada comentario desde entonces vive en producción y\nen ningún otro sitio, y esa es toda la diferencia entre una copia y un\ncalendario.",[177,184,185,188,189,130],{},[20,186,187],{},"Está dentro de la misma cuenta."," Una rama es otro proyecto bajo la misma\norganización, en la misma tarjeta, detrás del mismo acceso. Todas las formas de\nperder tu cuenta de Supabase se llevan la rama con ellas, y\n",[126,190,192],{"href":191},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","ese es un desastre distinto de romper tus propios datos",[177,194,195,198],{},[20,196,197],{},"Nadie la ha leído de vuelta."," Un clon que se quedó a medias es idéntico por\nfuera a uno que terminó, hasta el momento en que lo abres.",[25,200,202],{"id":201},"la-rama-es-la-parte-diseñada-para-desaparecer","La rama es la parte diseñada para desaparecer",[10,204,205],{},"Una rama de preview se borra cuando su pull request se mergea o se cierra. Ese es\nel comportamiento documentado de la función.",[10,207,208],{},"Supabase llama a las ramas de preview «efímeras y adecuadas para pruebas\nconcretas» y dice que «se borran automáticamente cuando una PR se mergea o se\ncierra». La otra clase, las ramas persistentes, son «de larga vida y\nrecomendadas para entornos como staging, QA o desarrollo», y esas sobreviven al\ncierre de la pull request.",[155,210],{"alt":211,"caption":212,"src":213},"Dos líneas de tiempo van de izquierda a derecha y cada una termina en una rotura de la línea. En la de arriba hay archivos guardados en tres puntos anteriores, y una flecha vuelve desde la rotura al más cercano, con un visto. En la de abajo una segunda línea se separa y corre al lado llevando una base de datos vacía, y una flecha de vuelta desde la rotura no alcanza nada, con una cruz.","Un backup está detrás de ti en la línea de tiempo, en un momento que puedes nombrar. Una rama corre a tu lado, y detrás de ella no hay nada a lo que agarrarse.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fbehind-you-beside-you-1600x680.png",[10,215,216,217,130],{},"Así que con el ajuste por defecto, la rama que guarda tu única copia clonada es\njusto lo que tu flujo de trabajo tira el día en que el trabajo termina.\nConservarla significa hacerla persistente, y una rama persistente es un segundo\nproyecto de Supabase encendido. Supabase ofrece branching en los planes de pago y\nlo factura por rama y por hora, en\n",[126,218,222],{"href":219,"rel":220},"https:\u002F\u002Fsupabase.com\u002Fpricing",[221],"nofollow","su página de precios",[25,224,226],{"id":225},"para-qué-sirve-de-verdad-el-branching","Para qué sirve de verdad el branching",[10,228,229],{},"Para bastante, y este artículo sería deshonesto si no lo dijera.",[10,231,232],{},"Una rama es el sitio más barato que hay para descubrir que una migración borra\nuna columna, antes de que borre la columna en la que están sentados tus clientes.\nTe deja ensayar un cambio de policy contra una base con la misma forma que la\ntuya, con sus propias claves, de modo que un error no alcanza a nadie. Le da a\nuna IA un lugar donde equivocarse que no es tu app en producción. Un backup no\npuede hacer nada de eso.",[10,234,235,236,130],{},"El hueco está en qué clase de accidente cubre. El branching protege los cambios\nque pasan por una pull request. La mayor parte de lo que de verdad le cuesta los\ndatos a la gente no pasa por ahí: un borrado en el editor de tablas de Supabase\nque alcanzó más filas de las previstas, un script de seed apuntado al proyecto en\nproducción, una migración que escribió una IA y aprobaste a la una de la\nmadrugada, una limpieza de lo que parecían datos de prueba. Ninguno de esos\natraviesa una rama camino de producción, que es la misma razón por la que\n",[126,237,239],{"href":238},"\u002Fblog\u002Fversion-history-is-not-a-backup","volver atrás el código no trae de vuelta una tabla borrada",[10,241,242],{},"Esa segunda clase de accidente es lo que responde un backup. Está detrás de ti en\nel tiempo, guardando el estado de tu base de datos en un momento que puedes\nnombrar, para que un error cometido fuera de tu flujo de trabajo todavía tenga\nadónde volver.",[10,244,245],{},"Eso es también lo que es Reeve Care: copias programadas de tu base de datos de\nSupabase, guardadas fuera de tu cuenta de Supabase, leídas de vuelta y\ncomprobadas antes de que ninguna cuente como hecha. Conecta tus buckets de\nStorage y los archivos que subieron tus usuarios viajan con ellas, así que una\nrestauración devuelve las filas y las imágenes a las que esas filas apuntan.",[10,247,248],{},"Deja el branching encendido de todos modos. Nada de lo anterior es un argumento\npara apagarlo.",[25,250,252],{"id":251},"qué-hacer-esta-semana","Qué hacer esta semana",[254,255,256],"key-takeaways",{},[174,257,258,261,264,267,270],{},[177,259,260],{},"Averigua qué copia tu base de datos según un calendario, aparte de cualquier cosa que la ramifique. Si establecerlo lleva más de un minuto, la respuesta es que no lo hace nada.",[177,262,263],{},"Si estabas tratando una rama clonada como tu red de seguridad, anota la fecha en que se creó y la fecha en que se cierra su pull request. Esos son los dos extremos de lo que cubre.",[177,265,266],{},"Enciende el backup que incluya tu plan de Supabase. Es lo más barato de esta lista y cubre el desastre corriente, que es que rompiste tus propios datos.",[177,268,269],{},"Guarda una copia fuera de tu cuenta de Supabase, porque una rama y un backup de la plataforma están los dos detrás del mismo acceso que la cosa que protegen.",[177,271,272],{},"Restaura una copia en un proyecto desechable, para que la primera vez que leas ese archivo no sea el día que lo necesitas.",[10,274,275,276,280,281,130],{},"Antes de cerrar esta pestaña, abre tu proyecto de Supabase y mira si algo está\nsacando una copia según un calendario. Esa única respuesta es todo el trabajo de\nhoy, y el branching no la cambia en ningún sentido. La\n",[126,277,279],{"href":278},"\u002Fchecklist","checklist de seguridad de 10 minutos"," lo cubre junto al resto de lo\nque conviene confirmar en una app recién lanzada, y qué contiene una copia y qué\nhace de verdad el botón de restaurar está desplegado en la\n",[126,282,284],{"href":283},"\u002Fsupabase-backups","página de backups de 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 línea de datos que sigue adelante, con una segunda línea que se separa y lleva al lado una base de datos vacía.","Por qué el branching de Supabase no es un backup: una rama arranca sin tus datos y un merge solo mueve el esquema. Para qué sirve y qué usar en su lugar.",false,"md",[304,306,309,312,315],{"q":28,"a":305},"No. Una rama es una base de datos de Supabase aparte, construida a partir de tus migraciones, y Supabase documenta que las ramas nuevas arrancan sin ninguno de los datos de tu proyecto principal. El branching te da un sitio donde probar un cambio antes de que llegue a producción. Un backup te da una copia de tus datos de un momento que puedes nombrar, para poder volver a él. Son dos trabajos distintos, y encender el primero no hace nada por el segundo.",{"q":307,"a":308},"¿Una rama de preview de Supabase tiene mis datos de producción?","Por defecto no. Supabase dice que las ramas nuevas no arrancan con ningún dato de tu proyecto principal, y da como razón proteger tus datos de producción. Puedes pedir un clon al crear la rama, y la CLI describe esa opción como clonar los datos de producción a la base de datos de la rama. Si no lo pediste, tu rama tiene tus tablas y ninguna de tus filas.",{"q":310,"a":311},"¿Puedo restaurar mi base de producción desde una rama?","En el branching no hay restauración. Un merge aplica las migraciones de la rama a tu base de producción y despliega tus cambios de Edge Functions; nada en ese camino mueve filas, y nada en él revierte nada. Si clonaste datos de producción a una rama podrías sacar un dump de esa base y reproducirlo tú mismo, pero a esas alturas lo que te protege es el dump y no la rama.",{"q":313,"a":314},"¿Qué pasa con mi rama cuando hago merge de la pull request?","Una rama de preview se borra. Supabase describe las ramas de preview como efímeras y dice que se borran automáticamente cuando una pull request se mergea o se cierra. Las ramas persistentes son la otra clase, pensadas para staging o QA, y esas no desaparecen al cerrarse la pull request. Así que si una rama guarda la única copia de algo que te importa, el ajuste por defecto la tira el día en que el trabajo termina.",{"q":316,"a":317},"¿El branching cuesta más dinero?","Sí. Supabase ofrece branching en los planes de pago y lo factura por rama y por hora, encima de tu suscripción. Lee la tarifa actual en su página de precios y no aquí, porque es suya y pueden cambiarla. La versión práctica: una rama persistente que dejas encendida es un segundo proyecto de Supabase que pagas cada hora que existe.","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcard-800x500.png",[320,321,322,323,324,325],"supabase branching backup","el branching de supabase es un backup","supabase rama preview datos","supabase branching vs backup","supabase rama datos de produccion","branching base de datos supabase",{},true,"Supabase branching no es 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],"Supabase branching no es un backup. Una rama es una segunda base de datos para probar cambios, y arranca sin ninguno de tus datos de producción.","Un merge aplica tus cambios de esquema a producción. Nunca lleva filas, y no existe ninguna operación que devuelva una versión anterior de tus datos.","Incluso una rama en la que clonas tus datos vive dentro de la misma cuenta, y una rama de preview se borra cuando su pull request se cierra.","CPy3uyZntH1Nk8u8nnEC4gliI5KhiugsoLDAxr6Ataw",1787826048205]