tSQL

Plugins

Learn how to use plugins in tSQL.

Plugins in tSQL 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:

const db = new Kysely<Database>({
  dialect: new PostgresDialect({
    database: "kysely_test",
    host: "localhost",
  }),
  plugins: [
    // Add plugins here
    new CamelCasePlugin(),
  ],
});

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

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