DEV Community

Gustavo Ramirez
Gustavo Ramirez

Posted on

AWS Amplify CLI Gen 2 que cambio y como migre mis proyectos sin dolor

Amplify Gen 2 es un cambio grande. Pasamos de una CLI imperativa basada en JSON a un modelo de código TypeScript. Llevo varios meses trabajando con ambos y quiero contarte lo que encontré al migrar.

Arrancar un proyecto nuevo

npm create amplify@latest
Enter fullscreen mode Exit fullscreen mode

La estructura que te genera es mucho más clara:

amplify/
  auth/
    resource.ts
  data/
    resource.ts
  backend.ts
Enter fullscreen mode Exit fullscreen mode

Todo es TypeScript. Adiós a los amplify/backend/api/schema.graphql sueltos.

Definiendo un modelo de datos

import { a, defineData, type ClientSchema } from '@aws-amplify/backend';

const schema = a.schema({
  Todo: a.model({
    content: a.string(),
    done: a.boolean().default(false),
  }).authorization(allow => [allow.owner()]),
});

export type Schema = ClientSchema<typeof schema>;

export const data = defineData({
  schema,
  authorizationModes: {
    defaultAuthorizationMode: 'userPool',
  },
});
Enter fullscreen mode Exit fullscreen mode

Lo que más me gusta es que el tipo Schema lo puedes consumir directamente en tu frontend con autocompletado completo. No más regenerar tipos manualmente después de cada cambio.

Sandbox por desarrollador

npx ampx sandbox
Enter fullscreen mode Exit fullscreen mode

Esto despliega un entorno aislado para tu cuenta de desarrollador. Cada integrante del equipo tiene el suyo y no chocan entre sí. Esto antes era un dolor porque todos compartíamos el dev y terminábamos pisándonos los datos.

Cómo migrar un proyecto Gen 1

No hay migración automática. La estrategia que usé fue:

  1. Crear el proyecto Gen 2 en paralelo.
  2. Exportar los datos del DynamoDB viejo.
  3. Apuntar el frontend al nuevo backend con una feature flag.
  4. Migrar por módulos, no todo de golpe.

Cierre

Gen 2 se siente como una herramienta madura. Si estás arrancando algo nuevo, no hay razón para usar Gen 1. Si tienes algo en Gen 1 funcionando, no hay urgencia, pero sí vale la pena planear la migración.

Top comments (0)