Files
fn_registry/functions/infra/migration_create.md
T
egutierrez 47fac22230 chore: auto-commit (799 archivos)
- .claude/CLAUDE.md
- .claude/commands/subagentes.md
- .claude/rules/INDEX.md
- .mcp.json
- bash/functions/cybersecurity/analyze_dns.md
- bash/functions/cybersecurity/audit_http_headers.md
- bash/functions/cybersecurity/audit_ssh_config.md
- bash/functions/cybersecurity/check_firewall.md
- bash/functions/cybersecurity/detect_suspicious_users.md
- bash/functions/cybersecurity/encrypt_file.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:28:20 +02:00

2.1 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
migration_create function go infra 1.0.0 impure func MigrationCreate(dir string, name string) (string, error) Crea un archivo .sql de migracion con template -- +up / -- +down en el directorio indicado. Calcula automaticamente el siguiente numero de version escaneando archivos .sql existentes. Retorna el path absoluto del archivo creado.
migration
database
sql
schema
sqlite
create
file
pendiente-usar
false error_go_core
fmt
os
path/filepath
regexp
strconv
strings
name desc
dir directorio donde crear el archivo de migracion (se crea si no existe, ej: apps/my_app/migrations)
name desc
name nombre descriptivo de la migracion en snake_case (ej: create_users, add_email_column). Solo letras, numeros y underscore.
path absoluto del archivo .sql creado (ej: apps/my_app/migrations/001_create_users.sql) true
directorio vacio crea archivo con version 001
directorio con migraciones existentes calcula siguiente version
nombre invalido retorna error
directorio inexistente se crea automaticamente
functions/infra/migration_create_test.go functions/infra/migration_create.go

Ejemplo

// Primera migracion
path, err := MigrationCreate("apps/my_app/migrations", "create_users")
// path = "apps/my_app/migrations/001_create_users.sql"
// Contenido del archivo:
// -- 001_create_users.sql
//
// -- +up
//
//
// -- +down
//

// Segunda migracion (ya existe 001)
path2, err := MigrationCreate("apps/my_app/migrations", "add_email")
// path2 = "apps/my_app/migrations/002_add_email.sql"

Notas

Crea el directorio si no existe (os.MkdirAll). La version se calcula encontrando el maximo numero existente entre los archivos NNN_*.sql del directorio y sumando 1. El template generado tiene los marcadores vacios para que el desarrollador complete el SQL. Nombre valido: ^[a-zA-Z][a-zA-Z0-9_]*$ — no puede empezar con numero ni contener espacios o guiones.