This commit is contained in:
parent
cf7660c505
commit
4e7a236b72
43
README.md
43
README.md
@ -152,3 +152,46 @@ pub struct Book {
|
||||
|
||||
To read more about these features, you can refer to the [online
|
||||
documentation](https://docs.rs/georm/).
|
||||
|
||||
## Roadmap / TODO
|
||||
|
||||
The following features are being considered for future development:
|
||||
|
||||
### High Priority
|
||||
- **Transaction Support**: Add comprehensive transaction support with
|
||||
transaction-aware CRUD methods and relationship handling for atomic
|
||||
operations across multiple entities
|
||||
- **Race Condition Fix**: Replace the current `create_or_update`
|
||||
implementation with database-specific UPSERT operations (PostgreSQL
|
||||
`ON CONFLICT`, MySQL `ON DUPLICATE KEY UPDATE`, SQLite `ON
|
||||
CONFLICT`) to prevent race conditions
|
||||
|
||||
### Medium Priority
|
||||
- **Multi-Database Support**: Extend Georm to support MySQL and SQLite
|
||||
in addition to PostgreSQL, with database-specific optimizations and
|
||||
dialect handling
|
||||
- **Relationship Optimization**: Implement eager loading and N+1 query
|
||||
prevention with circular dependency protection to dramatically
|
||||
improve performance when working with related entities
|
||||
- **Composite Primary Keys**: Add support for entities with multiple
|
||||
primary key fields using auto-generated ID structs and type-safe
|
||||
composite key handling
|
||||
- **Soft Delete**: Implement optional soft delete functionality with
|
||||
`deleted_at` timestamps, allowing entities to be marked as deleted
|
||||
without physical removal
|
||||
|
||||
### Lower Priority
|
||||
- **Migration Support**: Add optional migration utilities that
|
||||
leverage SQLx's existing infrastructure for schema generation,
|
||||
verification, and evolution
|
||||
- **Enhanced Error Handling**: Consider implementing custom error
|
||||
types with better categorization and operation context while
|
||||
maintaining compatibility with SQLx errors
|
||||
- **Many-to-Many Relationship Improvements**: Add direct methods to
|
||||
add or remove items from many-to-many relationships without manually
|
||||
handling the join table
|
||||
|
||||
### Recently Completed
|
||||
- ✅ **Defaultable Fields**: Support for fields with database defaults
|
||||
or auto-generated values, creating companion structs with optional
|
||||
fields for easier entity creation
|
||||
|
Loading…
x
Reference in New Issue
Block a user