@kim5257/kysely-mariadb-dialect
v0.1.0
Published
MariaDB dialect for Kysely query builder
Maintainers
Readme
@kim5257app/kysely-mariadb-dialect
MariaDB dialect for the Kysely query builder.
Installation
npm install kysely mariadb @kim5257app/kysely-mariadb-dialectUsage
import { Kysely } from 'kysely';
import { MariadbDialect } from '@kim5257app/kysely-mariadb-dialect';
import mariadb from 'mariadb';
interface Database {
person: {
id: number;
name: string;
email: string;
};
}
const db = new Kysely<Database>({
dialect: new MariadbDialect({
pool: mariadb.createPool({
host: 'localhost',
port: 3306,
user: 'root',
password: 'password',
database: 'mydb',
}),
}),
});
// Query
const persons = await db.selectFrom('person').selectAll().execute();Configuration
MariadbDialect accepts a MariadbDialectConfig object:
| Option | Type | Description |
|---|---|---|
| pool | Pool \| (() => Promise<Pool>) | MariaDB connection pool or async factory function |
| onCreateConnection? | (connection: PoolConnection) => Promise<void> | Called when a new connection is created |
| onReserveConnection? | (connection: PoolConnection) => Promise<void> | Called when a connection is reserved from the pool |
Lazy pool initialization
const dialect = new MariadbDialect({
pool: async () => mariadb.createPool({ /* ... */ }),
});Features
- Full transaction support with isolation levels
- Named savepoints for nested transactions
- Schema introspection via
information_schema - Migration locking via MariaDB's
get_lock()/release_lock() - Streaming query results
License
MIT
