drizzle-team / drizzle-team/drizzle-orm
[FEATURE]: Support UNIX socket in MySQL2
- Dominant language
- TypeScript
- Stars
- 35.8k
- Forks
- 1.6k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 4
Description
### Describe what you want
From drizzle-kit-mirror repo: https://github.com/drizzle-team/drizzle-kit-mirror/issues/118.
> MySQL2 supports [UNIX domain socket](https://github.com/sidorares/node-mysql2/blob/9051caf277990c110bb54cb4a8a23c497afb973c/typings/mysql/lib/Connection.d.ts#L143-L146).
>
> In fact, the following connection works.
>
> ```js
> import { drizzle } from 'drizzle-orm/mysql2';
> import { createConnection } from 'mysql2/promise';
>
> /** @type {import('mysql2/promise').ConnectionOptions} */
> export const dbCredentials = {
> socketPath: '/tmp/mysql.sock',
> user: 'hyunbinseo',
> database: 'abcd'
> };
>
> const connection = await createConnection(dbCredentials);
> drizzle(connection);
> ```
>
> While this config does not. (Identical credentials as above)
>
> ```js
> // drizzle.config.js
>
> /** @type { import("drizzle-kit").Config } */
> export default {
> out: './drizzle',
> schema: './src/lib/server/db/schema.ts',
> driver: 'mysql2',
> dbCredentials: {
> socketPath: '/tmp/mysql.sock', // Object literal may only specify known properties, and 'socketPath' does not exist in type '{ host: string; port?: number | undefined; user?: string | undefined; password?: string | undefined; database: string; } | { connectionString: string; }'.ts(2322)
> user: 'hyunbinseo',
> database: 'abcd'
> }
> };
> ```
>
> > We mirror connection params of database drivers — [Push and Pull, Drizzle Kit Configuration](https://orm.drizzle.team/kit-docs/conf#push-and-pull)
>
> When `drizzle-kit studio` is executed, it shows an incorrect error message. Reference [drizzle-team/drizzle-orm#858](https://github.com/drizzle-team/drizzle-orm/issues/858)
>
> ```
> Invalid input "mysql2" is not a valid driver. Available drivers: "pg", "mysql2", "better-sqlite", "libsql", "turso". You can read more about drizzle.config: https://orm.drizzle.team/kit-docs/config-reference
> ```
Contributor guide
Assessment
This issue has not been assessed yet.