Skip to content

ESP-030 — DDL ALTER TABLE … RENAME COLUMN (FB / PG / MySQL) #45

Description

@isaquepinheiro

ESP-030 — DDL fluente ALTER TABLE … RENAME COLUMN

Descrição

Introduzir fábrica, interfaces e serialização para gerar texto SQL de renomeação de uma coluna em PostgreSQL, Firebird e MySQL, conforme matriz ADR-030. Contrato: só string + POO; sem execução no SGBD nem catálogo.

Contexto

Complementa as verticais ADD/DROP column (ESP-019/ESP-020). ESP-029 / #44 pode seguir /develop / /release em paralelo — não misturar critérios nesta issue.

Âmbito

  • Interfaces IFluentDDLAlterTableRenameColumnDef / IFluentDDLAlterTableRenameColumnBuilder e builder em FluentSQL.DDL.pas
  • Fábrica pública em FluentSQL.pas (nome e assinatura conforme ADR-030)
  • DDLAlterTableRenameColumnSQL em FluentSQL.DDL.Serialize.pas (matriz PG / FB / MySQL)
  • Testes DUnitX em Test Delphi/test.ddl.pas
  • Guia em docs-src (ex. ddl-alter-table-rename-column.md) e api.md quando aplicável

Fora de âmbito

  • Rename de tabela; múltiplas operações num único AsString; CHANGELOG / versão / tags (exclusivo /release); ramos só de um motor fora da matriz comum (ESP-016 ou SQL na aplicação).

Critérios de aceitação

  • Comportamento conforme ADR-030 e esp.md (API, serialização por dialecto, exceções EArgumentException / ENotSupportedException com referência ESP-030 onde aplicável).
  • Testes DUnitX cobrindo PostgreSQL, Firebird e MySQL (casos felizes e ramos de exceção definidos na ADR).
  • Documentação Docusaurus com matriz dialecto × sintaxe × versão mínima; npm run build em docs-src quando ficheiros .md forem alterados.
  • Relatórios da esteira sem contradição com a ESP; ROADMAP.md com ESP-030 marcado como entregue apenas após /release.

Referências de pipeline

  • .claude/pipeline/esp.md (ESP-030), .claude/pipeline/adr.md (ADR-030), .claude/pipeline/plan.md, .claude/pipeline/task-input.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions