---
name: Migration
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type Migration struct {
      Version   int
      Name      string
      UpSQL     string
      DownSQL   string
      AppliedAt time.Time
  }
description: "Migracion SQL parseada desde un archivo .sql con marcadores -- +up / -- +down. Version es el numero secuencial, AppliedAt es zero value si pendiente."
tags: [migration, database, sql, schema, sqlite]
uses_types: []
file_path: "functions/infra/migration.go"
---

## Notas

Tipo producto — todos los campos siempre presentes. `AppliedAt` es `time.Time{}` (zero value) si la migracion aun no fue aplicada. `UpSQL` y `DownSQL` son el contenido de los bloques delimitados por `-- +up` y `-- +down` en el archivo .sql.
