Files
carvalho-finances/apps/api/internal/migration/migration.go
T
Mlcavalho1andClaude Sonnet 4.6 83dff2de78 feat(#18): import de extratos OFX e CSV — parser, dedup, preview e confirmação
Parser OFX tolerante ao formato SGML de bancos brasileiros (sem closing tags, BOM,
timezone suffix). Parser CSV com separador de campo/decimal configurável. Dedup por
FITID (OFX) ou date+amount+desc normalizado. Fluxo: POST /preview → revisão na UI
→ POST /confirm salva e loga. Migration 002 adiciona external_id com unique index.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-26 20:17:46 -03:00

31 lines
483 B
Go

package migration
import (
"context"
_ "embed"
"fmt"
"github.com/jackc/pgx/v5/pgxpool"
)
//go:embed sql/001_initial.sql
var m001 string
//go:embed sql/002_add_external_id.sql
var m002 string
func Run(ctx context.Context, pool *pgxpool.Pool) error {
for i, sql := range []struct {
version int
sql string
}{
{1, m001},
{2, m002},
} {
if _, err := pool.Exec(ctx, sql.sql); err != nil {
return fmt.Errorf("migration %03d: %w", i+1, err)
}
}
return nil
}