Compartir vía


Tutorial: Flujo de trabajo de desarrollo basado en rama

Importante

El escalado automático de Lakebase está en Beta en las siguientes regiones: eastus2, westeurope, westus.

El escalado automático de Lakebase es la versión más reciente de Lakebase con proceso de escalado automático, escalado a cero, bifurcación y restauración instantánea. Para ver la comparación de características con Lakebase Provisioned, consulte Elección entre versiones.

Aprenda a usar ramas como las de Git, dando a cada desarrollador una rama aislada de trabajo para un trabajo independiente, luego se restablecen para mantenerse sincronizadas.

Prerrequisitos

  • Un proyecto de Lakebase con una production rama (el valor predeterminado)
  • Una rama development creada a partir de production para el trabajo de desarrollo compartido
  • Conocimientos básicos de SQL y Postgres

Configuración del esquema inicial

Antes de crear la rama de desarrollador, configure un esquema sencillo en la rama de desarrollo. Esto sirve como el punto de partida compartido del que todos los desarrolladores partirán. Al crear la rama personal, hereda instantáneamente este esquema a través de la copia en escritura.

  1. Vaya a la rama de desarrollo en la interfaz de usuario de Lakebase.
  2. Abra el editor de SQL.
  3. Cree una tabla de usuarios básica con datos de ejemplo:
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    email TEXT NOT NULL UNIQUE,
    created_at TIMESTAMP DEFAULT NOW()
);

INSERT INTO users (email) VALUES
    ('alice@example.com'),
    ('bob@example.com'),
    ('charlie@example.com');

Crea tu rama de desarrollador

Cada desarrollador del equipo puede tener una rama de larga duración para el trabajo continuo. Restablezca periódicamente para mantenerse sincronizado con el elemento padre.

En la lista de ramas del proyecto, seleccione la rama de desarrollo y haga clic en Crear rama secundaria. Escriba un nombre de rama (obligatorio), como dev/alex (siguiendo el patrón dev/<your-name>) y haga clic en Crear.

La rama se crea al instante e incluye todos los esquemas y datos del desarrollo a través de la copia en escritura.

Su Jerarquía de la rama:

production (root)
  └── development (has users table + data)
        └── dev/alex (instantly inherits users table + data)

Desarrolla tu característica

Apunte su aplicación a su rama de desarrollo actualizando la cadena de conexión en su archivo .env, luego desarrolle su característica usando su flujo de trabajo normal.

Por ejemplo, agregar el seguimiento de preferencias de usuario a la aplicación implicaría actualizar el modelo de usuario, generar una migración con el marco (Prisma, Alembic, Django, etc.) y ejecutarlo en la dev/alex rama. El archivo de migración puede contener:

ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);

Después de ejecutar la migración, desarrolle la característica de preferencia en el código de la aplicación y pruebe el flujo completo localmente. La rama está completamente aislada: los cambios no afectan la producción ni a otros desarrolladores.

Revise los cambios

Antes de promover a otros entornos, use la diferencia de esquema para comprobar exactamente lo que ha cambiado. Vaya a la dev/alex información general de la rama, haga clic en Diferencias de esquema y compare con development.

La comparación en paralelo muestra tu nueva preferences columna e índice en verde:

Diferencias de esquema que muestran la columna y el índice de preferencias agregados a la rama dev/alex

Este paso de comprobación ayuda a detectar cambios no deseados antes de llegar a producción. Para obtener documentación completa sobre diferencias de esquema, consulte Comparación de esquemas de rama.

Promover los cambios

Cuando esté seguro de los cambios, promuévalos a las ramas ascendentes. Aplique los mismos cambios de esquema que validó en dev/alex a su rama development, luego implemente el código de su aplicación. Este flujo de trabajo garantiza que los cambios de esquema se prueben de forma aislada antes de alcanzar los entornos compartidos.

Restablecer e iniciar desde cero

Cuando esté listo para iniciar nuevo trabajo, restablezca su rama personal para mantenerse en sincronización con development, que puede haber tenido cambios de otros desarrolladores. Esto le proporciona un nuevo inicio desde la línea base compartida actual.

Vaya a la dev/alex rama y haga clic en Restablecer desde el elemento primario. El modal de restablecimiento confirma que todas las bases de datos y roles se reemplazarán por los datos más recientes de development. Esta acción no es reversible, así que asegúrese de que ha promocionado los cambios que desea mantener antes de confirmarlo.

Modal de restablecimiento de confirmación de datos

La rama ahora coincide development exactamente, lista para la siguiente tarea.

procedimientos recomendados

  • Utilice nombres coherentes: Siga el dev/<name> patrón para las ramas de desarrollador.
  • Restablecer regularmente: Mantenga la rama sincronizada con development para evitar el desvío.
  • Proteger la producción: Uso de ramas protegidas para evitar cambios accidentales