Files
relspecgo/TODO.md
Hein 5e1448dcdb
Some checks are pending
CI / Test (1.23) (push) Waiting to run
CI / Test (1.24) (push) Waiting to run
CI / Test (1.25) (push) Waiting to run
CI / Lint (push) Waiting to run
CI / Build (push) Waiting to run
sql writer
2025-12-17 20:44:02 +02:00

2.6 KiB

RelSpec - TODO List

Input Readers

  • Database Inspector

    • PostgreSQL driver
    • MySQL driver
    • SQLite driver
    • MSSQL driver
    • Foreign key detection
    • Index extraction
  • XML Reader

    • XML schema parser
    • Validation against XSD
  • JSON Reader

    • JSON schema parser
    • Schema validation
  • Clarion DCTX Reader

    • DCTX file parser
    • Legacy format support
  • GORM Model Reader

    • Go AST parser for GORM tags
    • Struct field analysis
    • Relation tag extraction
  • Bun Model Reader

    • Go AST parser for Bun tags
    • Struct field analysis
    • Relation tag extraction

Output Writers

  • GORM Writer

    • Go struct generation
    • GORM tag formatting
    • Relation definitions
    • gofmt integration
  • Bun Writer

    • Go struct generation
    • Bun tag formatting
    • Relation definitions
    • gofmt integration
  • JSON Writer

    • Schema serialization
    • Pretty printing
  • YAML Writer

    • Schema serialization
    • Comment preservation

CLI Application

  • Command-line interface using cobra
  • Input format flags
  • Output format flags
  • Connection string handling
  • File I/O operations
  • Progress indicators
  • Error handling and reporting
  • Configuration file support

Testing

  • Unit tests for each reader
  • Unit tests for each writer
  • Integration tests for conversion pipelines
  • Test fixtures for all formats
  • Database test containers
  • Benchmark tests for large schemas

Documentation

  • API documentation (godoc)
  • Usage examples for each format combination
  • Migration guides
  • Architecture documentation
  • Contributing guidelines

Advanced Features

  • Dry-run mode for validation
  • Diff tool for comparing specifications
  • Migration script generation
  • Custom type mapping configuration
  • Batch processing support
  • Watch mode for auto-regeneration

Performance

  • Concurrent processing for multiple tables
  • Streaming for large databases
  • Memory optimization
  • Caching layer for repeated operations

Quality & Maintenance

  • Linting with golangci-lint
  • Code coverage > 80%
  • Security scanning
  • Dependency updates automation
  • Release automation

Future Considerations

  • Web UI for visual editing
  • REST API server mode
  • Support for NoSQL databases
  • GraphQL schema generation
  • Prisma schema support
  • TypeORM support