111 lines
2.6 KiB
Markdown
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
|