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

111 lines
2.6 KiB
Markdown

# 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