drizzle-team / drizzle-team/drizzle-orm

[DOCS]: Provide a guidance on implementation of a router that handles advanced data table route with filtering, sorting and searching

Open
#3,712 0 comments 0 reactions 0 assignees View on GitHub
docs
Dominant language
TypeScript
Stars
35.8k
Forks
1.6k
Avg merge
2d 7h
Merged PRs (30d)
4

Description

### Enhancement hasn't been filed before.

- [X] I have verified this enhancement I'm about to request hasn't been suggested before.

### Describe the enhancement you want to request

## Description
Enhance Drizzle ORM with built-in support for advanced data table queries. The feature should streamline implementing complex operations like filtering, sorting, searching, and pagination.

# Feature Requirements:

1. Filtering:

Provide an API to define filters on multiple fields with support for logical operators (AND, OR).

Support various conditions like equality, ranges, and partial matches.

2. Sorting:

Enable dynamic sorting by one or more fields in ascending or descending order.

Example: sort(["field1", "-field2"]).

3. Searching:

Add a global search capability across multiple fields with partial and case-insensitive matching.

4. Pagination:

Include utilities to handle paginated queries (e.g., offset and limit).

Ensure integration with other query features for seamless results.

5. Type Safety:

Maintain Drizzle's strong type safety and ensure query builder compatibility.

Benefits:

This feature will simplify implementing advanced data operations, particularly for applications requiring dynamic user-facing data tables or dashboards. Developers can leverage Drizzle ORM's API to generate efficient queries without manually composing complex SQL.

Additional Notes:

Include examples in documentation for typical use cases.

Consider performance optimizations like query caching and indexing recommendations for large datasets.

Would love to discuss this enhancement further and assist in brainstorming the implementation!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.