This commit is contained in:
parent
f72c249b69
commit
06dbb52d2f
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
|
To read more about these features, you can refer to the [online
|
||||||
documentation](https://docs.rs/georm/).
|
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