2.6 KiB
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