Plugins
Plugins in Kysely are powerful extensions that modify or enhance query behavior. Each plugin is implemented as a class that conforms to the KyselyPlugin
interface.
Adding Plugins
To use plugins, add them to your Kysely database instance configuration:
For implementation examples and advanced usage, see:
Available Built-in Plugins
CamelCasePlugin
The CamelCasePlugin automatically handles the conversion between database and JavaScript naming conventions:
- Purpose: Transforms snake_case database identifiers to camelCase in your JavaScript code
- Use Case: Ideal when working with databases that follow SQL naming conventions (snake_case) while maintaining JavaScript conventions (camelCase) in your application code
- Example:
- Database column:
user_name
- JavaScript property:
userName
- Database column:
For detailed configuration options, refer to the CamelCasePlugin API documentation.
DeduplicateJoinsPlugin
The DeduplicateJoinsPlugin optimizes your queries by eliminating redundant join operations:
- Purpose: Automatically removes duplicate JOIN clauses from your queries
- Benefits:
- Improves query performance
- Reduces complexity in generated SQL
- Prevents unintended cartesian products
- Use Case: Particularly valuable in complex queries with multiple joins that might accidentally introduce duplicates