drizzle-orm 0.33.0-bddd952 → 0.33.0-cd1f68c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/aws-data-api/common/index.d.cts +1 -1
- package/aws-data-api/common/index.d.ts +1 -1
- package/better-sqlite3/driver.cjs +7 -1
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.d.cts +4 -1
- package/better-sqlite3/driver.d.ts +4 -1
- package/better-sqlite3/driver.js +6 -1
- package/better-sqlite3/driver.js.map +1 -1
- package/bun-sqlite/driver.cjs +7 -1
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.cts +4 -1
- package/bun-sqlite/driver.d.ts +4 -1
- package/bun-sqlite/driver.js +6 -1
- package/bun-sqlite/driver.js.map +1 -1
- package/expo-sqlite/driver.cjs +7 -1
- package/expo-sqlite/driver.cjs.map +1 -1
- package/expo-sqlite/driver.d.cts +4 -1
- package/expo-sqlite/driver.d.ts +4 -1
- package/expo-sqlite/driver.js +6 -1
- package/expo-sqlite/driver.js.map +1 -1
- package/index.cjs +4 -0
- package/index.cjs.map +1 -1
- package/index.d.cts +2 -0
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/libsql/migrator.cjs +1 -1
- package/libsql/migrator.cjs.map +1 -1
- package/libsql/migrator.d.cts +1 -1
- package/libsql/migrator.d.ts +1 -1
- package/libsql/migrator.js +1 -1
- package/libsql/migrator.js.map +1 -1
- package/libsql/session.cjs +12 -0
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +1 -0
- package/libsql/session.d.ts +1 -0
- package/libsql/session.js +12 -0
- package/libsql/session.js.map +1 -1
- package/monodriver.cjs +262 -0
- package/monodriver.cjs.map +1 -0
- package/monodriver.d.cts +163 -0
- package/monodriver.d.ts +163 -0
- package/monodriver.js +228 -0
- package/monodriver.js.map +1 -0
- package/monomigrator.cjs +95 -0
- package/monomigrator.cjs.map +1 -0
- package/monomigrator.d.cts +15 -0
- package/monomigrator.d.ts +15 -0
- package/monomigrator.js +61 -0
- package/monomigrator.js.map +1 -0
- package/mysql-core/db.cjs +4 -0
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +4 -1
- package/mysql-core/db.d.ts +4 -1
- package/mysql-core/db.js +4 -0
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/query-builders/count.cjs +73 -0
- package/mysql-core/query-builders/count.cjs.map +1 -0
- package/mysql-core/query-builders/count.d.cts +27 -0
- package/mysql-core/query-builders/count.d.ts +27 -0
- package/mysql-core/query-builders/count.js +49 -0
- package/mysql-core/query-builders/count.js.map +1 -0
- package/mysql-core/session.cjs +6 -0
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +1 -0
- package/mysql-core/session.d.ts +1 -0
- package/mysql-core/session.js +6 -0
- package/mysql-core/session.js.map +1 -1
- package/mysql-proxy/driver.cjs +7 -1
- package/mysql-proxy/driver.cjs.map +1 -1
- package/mysql-proxy/driver.d.cts +4 -1
- package/mysql-proxy/driver.d.ts +4 -1
- package/mysql-proxy/driver.js +6 -1
- package/mysql-proxy/driver.js.map +1 -1
- package/mysql2/driver.cjs +6 -1
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +3 -1
- package/mysql2/driver.d.ts +3 -1
- package/mysql2/driver.js +5 -1
- package/mysql2/driver.js.map +1 -1
- package/mysql2/migrator.cjs +4 -1
- package/mysql2/migrator.cjs.map +1 -1
- package/mysql2/migrator.d.cts +1 -1
- package/mysql2/migrator.d.ts +1 -1
- package/mysql2/migrator.js +4 -1
- package/mysql2/migrator.js.map +1 -1
- package/neon-http/session.cjs +6 -0
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +2 -1
- package/neon-http/session.d.ts +2 -1
- package/neon-http/session.js +6 -0
- package/neon-http/session.js.map +1 -1
- package/neon-serverless/driver.cjs +6 -1
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +3 -1
- package/neon-serverless/driver.d.ts +3 -1
- package/neon-serverless/driver.js +5 -1
- package/neon-serverless/driver.js.map +1 -1
- package/node-postgres/driver.cjs +6 -1
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +3 -1
- package/node-postgres/driver.d.ts +3 -1
- package/node-postgres/driver.js +5 -1
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/session.cjs +6 -0
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +2 -1
- package/node-postgres/session.d.ts +2 -1
- package/node-postgres/session.js +6 -0
- package/node-postgres/session.js.map +1 -1
- package/op-sqlite/driver.cjs +7 -1
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.d.cts +4 -1
- package/op-sqlite/driver.d.ts +4 -1
- package/op-sqlite/driver.js +6 -1
- package/op-sqlite/driver.js.map +1 -1
- package/operations.cjs.map +1 -1
- package/package.json +111 -51
- package/pg-core/db.cjs +4 -0
- package/pg-core/db.cjs.map +1 -1
- package/pg-core/db.d.cts +5 -2
- package/pg-core/db.d.ts +5 -2
- package/pg-core/db.js +4 -0
- package/pg-core/db.js.map +1 -1
- package/pg-core/query-builders/count.cjs +73 -0
- package/pg-core/query-builders/count.cjs.map +1 -0
- package/pg-core/query-builders/count.d.cts +26 -0
- package/pg-core/query-builders/count.d.ts +26 -0
- package/pg-core/query-builders/count.js +49 -0
- package/pg-core/query-builders/count.js.map +1 -0
- package/pg-core/session.cjs +6 -0
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +1 -0
- package/pg-core/session.d.ts +1 -0
- package/pg-core/session.js +6 -0
- package/pg-core/session.js.map +1 -1
- package/pg-proxy/driver.cjs +7 -1
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.d.cts +4 -1
- package/pg-proxy/driver.d.ts +4 -1
- package/pg-proxy/driver.js +6 -1
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.js.map +1 -1
- package/pglite/driver.cjs +6 -1
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +3 -1
- package/pglite/driver.d.ts +3 -1
- package/pglite/driver.js +5 -1
- package/pglite/driver.js.map +1 -1
- package/pglite/session.cjs +6 -0
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +2 -1
- package/pglite/session.d.ts +2 -1
- package/pglite/session.js +6 -0
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +7 -1
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +4 -1
- package/planetscale-serverless/driver.d.ts +4 -1
- package/planetscale-serverless/driver.js +6 -1
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/migrator.cjs +4 -1
- package/planetscale-serverless/migrator.cjs.map +1 -1
- package/planetscale-serverless/migrator.d.cts +1 -1
- package/planetscale-serverless/migrator.d.ts +1 -1
- package/planetscale-serverless/migrator.js +4 -1
- package/planetscale-serverless/migrator.js.map +1 -1
- package/planetscale-serverless/session.cjs +6 -0
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +1 -0
- package/planetscale-serverless/session.d.ts +1 -0
- package/planetscale-serverless/session.js +6 -0
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/driver.cjs +7 -1
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +4 -1
- package/postgres-js/driver.d.ts +4 -1
- package/postgres-js/driver.js +6 -1
- package/postgres-js/driver.js.map +1 -1
- package/sqlite-core/db.cjs +4 -0
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +4 -1
- package/sqlite-core/db.d.ts +4 -1
- package/sqlite-core/db.js +4 -0
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/query-builders/count.cjs +72 -0
- package/sqlite-core/query-builders/count.cjs.map +1 -0
- package/sqlite-core/query-builders/count.d.cts +27 -0
- package/sqlite-core/query-builders/count.d.ts +27 -0
- package/sqlite-core/query-builders/count.js +48 -0
- package/sqlite-core/query-builders/count.js.map +1 -0
- package/sqlite-core/session.cjs +4 -0
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +1 -0
- package/sqlite-core/session.d.ts +1 -0
- package/sqlite-core/session.js +4 -0
- package/sqlite-core/session.js.map +1 -1
- package/tidb-serverless/driver.cjs +7 -1
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +4 -1
- package/tidb-serverless/driver.d.ts +4 -1
- package/tidb-serverless/driver.js +6 -1
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/session.cjs +6 -0
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +1 -0
- package/tidb-serverless/session.d.ts +1 -0
- package/tidb-serverless/session.js +6 -0
- package/tidb-serverless/session.js.map +1 -1
- package/vercel-postgres/driver.cjs +6 -1
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +3 -1
- package/vercel-postgres/driver.d.ts +3 -1
- package/vercel-postgres/driver.js +5 -1
- package/vercel-postgres/driver.js.map +1 -1
- package/version.cjs +2 -2
- package/version.cjs.map +1 -1
- package/version.d.cts +2 -2
- package/version.d.ts +2 -2
- package/version.js +2 -2
- package/version.js.map +1 -1
package/monodriver.d.ts
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/// <reference types="@cloudflare/workers-types" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="bun-types" />
|
|
4
|
+
import type { RDSDataClient, RDSDataClientConfig as RDSConfig } from '@aws-sdk/client-rds-data';
|
|
5
|
+
import type { Client as LibsqlClient, Config as LibsqlConfig } from '@libsql/client';
|
|
6
|
+
import type { HTTPTransactionOptions as NeonHttpConfig, NeonQueryFunction, Pool as NeonServerlessPool, PoolConfig as NeonServerlessConfig, QueryResult, QueryResultRow } from '@neondatabase/serverless';
|
|
7
|
+
import type { Client as PlanetscaleClient, Config as PlanetscaleConfig } from '@planetscale/database';
|
|
8
|
+
import type { Config as TiDBServerlessConfig, Connection as TiDBConnection } from '@tidbcloud/serverless';
|
|
9
|
+
import type { VercelPool } from '@vercel/postgres';
|
|
10
|
+
import type { Database as BetterSQLite3Database, Options as BetterSQLite3Options } from 'better-sqlite3';
|
|
11
|
+
import type { Database as BunDatabase } from 'bun:sqlite';
|
|
12
|
+
import type { Pool as Mysql2Pool, PoolOptions as Mysql2Config } from 'mysql2';
|
|
13
|
+
import type { Options as PostgresJSOptions, PostgresType as PostgresJSPostgresType, Sql as PostgresJsClient } from 'postgres';
|
|
14
|
+
import type { AwsDataApiPgDatabase, DrizzleAwsDataApiPgConfig } from "./aws-data-api/pg/index.js";
|
|
15
|
+
import type { BetterSQLite3Database as DrizzleBetterSQLite3Database } from "./better-sqlite3/index.js";
|
|
16
|
+
import type { BunSQLiteDatabase } from "./bun-sqlite/index.js";
|
|
17
|
+
import type { DrizzleD1Database } from "./d1/index.js";
|
|
18
|
+
import type { LibSQLDatabase } from "./libsql/index.js";
|
|
19
|
+
import type { MySql2Database, MySql2DrizzleConfig } from "./mysql2/index.js";
|
|
20
|
+
import type { NeonHttpDatabase } from "./neon-http/index.js";
|
|
21
|
+
import type { NeonDatabase } from "./neon-serverless/index.js";
|
|
22
|
+
import type { PlanetScaleDatabase } from "./planetscale-serverless/index.js";
|
|
23
|
+
import type { PostgresJsDatabase } from "./postgres-js/index.js";
|
|
24
|
+
import type { TiDBServerlessDatabase } from "./tidb-serverless/index.js";
|
|
25
|
+
import type { DrizzleConfig } from "./utils.js";
|
|
26
|
+
import type { VercelPgDatabase } from "./vercel-postgres/index.js";
|
|
27
|
+
type BunSqliteDatabaseOptions = number | {
|
|
28
|
+
/**
|
|
29
|
+
* Open the database as read-only (no write operations, no create).
|
|
30
|
+
*
|
|
31
|
+
* Equivalent to {@link constants.SQLITE_OPEN_READONLY}
|
|
32
|
+
*/
|
|
33
|
+
readonly?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Allow creating a new database
|
|
36
|
+
*
|
|
37
|
+
* Equivalent to {@link constants.SQLITE_OPEN_CREATE}
|
|
38
|
+
*/
|
|
39
|
+
create?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Open the database as read-write
|
|
42
|
+
*
|
|
43
|
+
* Equivalent to {@link constants.SQLITE_OPEN_READWRITE}
|
|
44
|
+
*/
|
|
45
|
+
readwrite?: boolean;
|
|
46
|
+
};
|
|
47
|
+
type BunSqliteDatabaseConfig = {
|
|
48
|
+
filename?: ':memory:' | (string & {});
|
|
49
|
+
options?: BunSqliteDatabaseOptions;
|
|
50
|
+
} | ':memory:' | (string & {}) | undefined;
|
|
51
|
+
type BetterSQLite3DatabaseConfig = {
|
|
52
|
+
filename?: ':memory:' | (string & {}) | Buffer;
|
|
53
|
+
options?: BetterSQLite3Options;
|
|
54
|
+
} | ':memory:' | (string & {}) | undefined;
|
|
55
|
+
type MonodriverNeonHttpConfig = {
|
|
56
|
+
connectionString: string;
|
|
57
|
+
options?: NeonHttpConfig<boolean, boolean>;
|
|
58
|
+
} | string;
|
|
59
|
+
type DatabaseClient = 'postgres-js' | 'neon-serverless' | 'neon-http' | 'vercel-postgres' | 'aws-data-api-pg' | 'planetscale' | 'mysql2' | 'tidb-serverless' | 'libsql' | 'turso' | 'd1' | 'bun:sqlite' | 'better-sqlite3';
|
|
60
|
+
type ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {
|
|
61
|
+
'postgres-js': PostgresJsDatabase<TSchema>;
|
|
62
|
+
'neon-serverless': NeonDatabase<TSchema>;
|
|
63
|
+
'neon-http': NeonHttpDatabase<TSchema>;
|
|
64
|
+
'vercel-postgres': VercelPgDatabase<TSchema>;
|
|
65
|
+
'aws-data-api-pg': AwsDataApiPgDatabase<TSchema>;
|
|
66
|
+
planetscale: PlanetScaleDatabase<TSchema>;
|
|
67
|
+
mysql2: MySql2Database<TSchema>;
|
|
68
|
+
'tidb-serverless': TiDBServerlessDatabase<TSchema>;
|
|
69
|
+
libsql: LibSQLDatabase<TSchema>;
|
|
70
|
+
turso: LibSQLDatabase<TSchema>;
|
|
71
|
+
d1: DrizzleD1Database<TSchema>;
|
|
72
|
+
'bun:sqlite': BunSQLiteDatabase<TSchema>;
|
|
73
|
+
'better-sqlite3': DrizzleBetterSQLite3Database<TSchema>;
|
|
74
|
+
};
|
|
75
|
+
type Primitive = string | number | boolean | undefined | null;
|
|
76
|
+
type ClientInstanceMap = {
|
|
77
|
+
'postgres-js': PostgresJsClient;
|
|
78
|
+
'neon-serverless': NeonServerlessPool;
|
|
79
|
+
'neon-http': NeonQueryFunction<boolean, boolean>;
|
|
80
|
+
'vercel-postgres': VercelPool & (<O extends QueryResultRow>(strings: TemplateStringsArray, ...values: Primitive[]) => Promise<QueryResult<O>>);
|
|
81
|
+
'aws-data-api-pg': RDSDataClient;
|
|
82
|
+
planetscale: PlanetscaleClient;
|
|
83
|
+
mysql2: Mysql2Pool;
|
|
84
|
+
'tidb-serverless': TiDBConnection;
|
|
85
|
+
libsql: LibsqlClient;
|
|
86
|
+
turso: LibsqlClient;
|
|
87
|
+
d1: D1Database;
|
|
88
|
+
'bun:sqlite': BunDatabase;
|
|
89
|
+
'better-sqlite3': BetterSQLite3Database;
|
|
90
|
+
};
|
|
91
|
+
type InitializerParams = {
|
|
92
|
+
'postgres-js': {
|
|
93
|
+
connection: string | PostgresJSOptions<Record<string, PostgresJSPostgresType>>;
|
|
94
|
+
};
|
|
95
|
+
'neon-serverless': {
|
|
96
|
+
connection?: string | NeonServerlessConfig;
|
|
97
|
+
};
|
|
98
|
+
'neon-http': {
|
|
99
|
+
connection: MonodriverNeonHttpConfig;
|
|
100
|
+
};
|
|
101
|
+
'vercel-postgres': {};
|
|
102
|
+
'aws-data-api-pg': {
|
|
103
|
+
connection?: RDSConfig;
|
|
104
|
+
};
|
|
105
|
+
planetscale: {
|
|
106
|
+
connection: PlanetscaleConfig | string;
|
|
107
|
+
};
|
|
108
|
+
mysql2: {
|
|
109
|
+
connection: Mysql2Config | string;
|
|
110
|
+
};
|
|
111
|
+
'tidb-serverless': {
|
|
112
|
+
connection: TiDBServerlessConfig | string;
|
|
113
|
+
};
|
|
114
|
+
libsql: {
|
|
115
|
+
connection: LibsqlConfig | string;
|
|
116
|
+
};
|
|
117
|
+
turso: {
|
|
118
|
+
connection: LibsqlConfig | string;
|
|
119
|
+
};
|
|
120
|
+
d1: {
|
|
121
|
+
connection: D1Database;
|
|
122
|
+
};
|
|
123
|
+
'bun:sqlite': {
|
|
124
|
+
connection?: BunSqliteDatabaseConfig;
|
|
125
|
+
};
|
|
126
|
+
'better-sqlite3': {
|
|
127
|
+
connection?: BetterSQLite3DatabaseConfig;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
type DetermineClient<TClient extends DatabaseClient, TSchema extends Record<string, unknown>> = ClientDrizzleInstanceMap<TSchema>[TClient] & {
|
|
131
|
+
$client: ClientInstanceMap[TClient];
|
|
132
|
+
};
|
|
133
|
+
export declare function drizzle<TClient extends DatabaseClient, TSchema extends Record<string, unknown> = Record<string, never>>(client: TClient, ...params: TClient extends 'bun:sqlite' | 'better-sqlite3' ? ([
|
|
134
|
+
] | [
|
|
135
|
+
(InitializerParams[TClient] & DrizzleConfig<TSchema>)
|
|
136
|
+
] | [
|
|
137
|
+
':memory:'
|
|
138
|
+
] | [
|
|
139
|
+
(string & {})
|
|
140
|
+
]) : TClient extends 'vercel-postgres' ? ([] | [
|
|
141
|
+
(InitializerParams[TClient] & DrizzleConfig<TSchema>)
|
|
142
|
+
]) : TClient extends 'postgres-js' | 'tidb-serverless' | 'libsql' | 'turso' | 'planetscale' ? ([
|
|
143
|
+
(InitializerParams[TClient] & DrizzleConfig<TSchema>)
|
|
144
|
+
] | [
|
|
145
|
+
string
|
|
146
|
+
]) : TClient extends 'mysql2' ? ([
|
|
147
|
+
(InitializerParams[TClient] & MySql2DrizzleConfig<TSchema>)
|
|
148
|
+
] | [
|
|
149
|
+
string
|
|
150
|
+
]) : TClient extends 'aws-data-api-pg' ? [
|
|
151
|
+
InitializerParams[TClient] & DrizzleAwsDataApiPgConfig<TSchema>
|
|
152
|
+
] : TClient extends 'neon-serverless' ? ([
|
|
153
|
+
InitializerParams[TClient] & DrizzleConfig<TSchema> & {
|
|
154
|
+
ws?: any;
|
|
155
|
+
}
|
|
156
|
+
] | [string] | []) : TClient extends 'neon-http' ? ([
|
|
157
|
+
InitializerParams[TClient] & DrizzleConfig<TSchema>
|
|
158
|
+
] | [
|
|
159
|
+
string
|
|
160
|
+
]) : [
|
|
161
|
+
(InitializerParams[TClient] & DrizzleConfig<TSchema>)
|
|
162
|
+
]): Promise<DetermineClient<TClient, TSchema>>;
|
|
163
|
+
export {};
|
package/monodriver.js
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
const importError = (libName) => {
|
|
2
|
+
throw new Error(
|
|
3
|
+
`Please install '${libName}' for Drizzle ORM to connect to database`
|
|
4
|
+
);
|
|
5
|
+
};
|
|
6
|
+
function assertUnreachable(_) {
|
|
7
|
+
throw new Error("Didn't expect to get here");
|
|
8
|
+
}
|
|
9
|
+
async function drizzle(client, ...params) {
|
|
10
|
+
switch (client) {
|
|
11
|
+
case "aws-data-api-pg": {
|
|
12
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
13
|
+
const { RDSDataClient } = await import("@aws-sdk/client-rds-data").catch(
|
|
14
|
+
() => importError("@aws-sdk/client-rds-data")
|
|
15
|
+
);
|
|
16
|
+
const { drizzle: drizzle2 } = await import("./aws-data-api/pg");
|
|
17
|
+
const instance = connection ? new RDSDataClient(connection) : new RDSDataClient();
|
|
18
|
+
const db = drizzle2(instance, drizzleConfig);
|
|
19
|
+
db.$client = instance;
|
|
20
|
+
return db;
|
|
21
|
+
}
|
|
22
|
+
case "better-sqlite3": {
|
|
23
|
+
const { default: Client } = await import("better-sqlite3").catch(() => importError("better-sqlite3"));
|
|
24
|
+
const { drizzle: drizzle2 } = await import("./better-sqlite3");
|
|
25
|
+
if (typeof params[0] === "object") {
|
|
26
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
27
|
+
if (typeof connection === "object") {
|
|
28
|
+
const { filename, options } = connection;
|
|
29
|
+
const instance3 = new Client(filename, options);
|
|
30
|
+
const db3 = drizzle2(instance3, drizzleConfig);
|
|
31
|
+
db3.$client = instance3;
|
|
32
|
+
return db3;
|
|
33
|
+
}
|
|
34
|
+
const instance2 = new Client(connection);
|
|
35
|
+
const db2 = drizzle2(instance2, drizzleConfig);
|
|
36
|
+
db2.$client = instance2;
|
|
37
|
+
return db2;
|
|
38
|
+
}
|
|
39
|
+
const instance = new Client(params[0]);
|
|
40
|
+
const db = drizzle2(instance);
|
|
41
|
+
db.$client = instance;
|
|
42
|
+
return db;
|
|
43
|
+
}
|
|
44
|
+
case "bun:sqlite": {
|
|
45
|
+
const { Database: Client } = await import("bun:sqlite").catch(() => importError("bun:sqlite"));
|
|
46
|
+
const { drizzle: drizzle2 } = await import("./bun-sqlite");
|
|
47
|
+
if (typeof params[0] === "object") {
|
|
48
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
49
|
+
if (typeof connection === "object") {
|
|
50
|
+
const { filename, options } = connection;
|
|
51
|
+
const instance3 = new Client(filename, options);
|
|
52
|
+
const db3 = drizzle2(instance3, drizzleConfig);
|
|
53
|
+
db3.$client = instance3;
|
|
54
|
+
return db3;
|
|
55
|
+
}
|
|
56
|
+
const instance2 = new Client(connection);
|
|
57
|
+
const db2 = drizzle2(instance2, drizzleConfig);
|
|
58
|
+
db2.$client = instance2;
|
|
59
|
+
return db2;
|
|
60
|
+
}
|
|
61
|
+
const instance = new Client(params[0]);
|
|
62
|
+
const db = drizzle2(instance);
|
|
63
|
+
db.$client = instance;
|
|
64
|
+
return db;
|
|
65
|
+
}
|
|
66
|
+
case "d1": {
|
|
67
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
68
|
+
const { drizzle: drizzle2 } = await import("./d1");
|
|
69
|
+
const db = drizzle2(connection, drizzleConfig);
|
|
70
|
+
db.$client = connection;
|
|
71
|
+
return db;
|
|
72
|
+
}
|
|
73
|
+
case "libsql":
|
|
74
|
+
case "turso": {
|
|
75
|
+
const { createClient } = await import("@libsql/client").catch(() => importError("@libsql/client"));
|
|
76
|
+
const { drizzle: drizzle2 } = await import("./libsql");
|
|
77
|
+
if (typeof params[0] === "string") {
|
|
78
|
+
const instance2 = createClient({
|
|
79
|
+
url: params[0]
|
|
80
|
+
});
|
|
81
|
+
const db2 = drizzle2(instance2);
|
|
82
|
+
db2.$client = instance2;
|
|
83
|
+
return db2;
|
|
84
|
+
}
|
|
85
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
86
|
+
const instance = typeof connection === "string" ? createClient({ url: connection }) : createClient(connection);
|
|
87
|
+
const db = drizzle2(instance, drizzleConfig);
|
|
88
|
+
db.$client = instance;
|
|
89
|
+
return db;
|
|
90
|
+
}
|
|
91
|
+
case "mysql2": {
|
|
92
|
+
const { createPool } = await import("mysql2/promise").catch(() => importError("mysql2/promise"));
|
|
93
|
+
const { drizzle: drizzle2 } = await import("./mysql2");
|
|
94
|
+
if (typeof params[0] === "object") {
|
|
95
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
96
|
+
const instance2 = createPool(connection);
|
|
97
|
+
const db2 = drizzle2(instance2, drizzleConfig);
|
|
98
|
+
db2.$client = instance2;
|
|
99
|
+
return db2;
|
|
100
|
+
}
|
|
101
|
+
const connectionString = params[0];
|
|
102
|
+
const instance = createPool(connectionString);
|
|
103
|
+
const db = drizzle2(instance);
|
|
104
|
+
db.$client = instance;
|
|
105
|
+
return db;
|
|
106
|
+
}
|
|
107
|
+
case "neon-http": {
|
|
108
|
+
const { neon } = await import("@neondatabase/serverless").catch(() => importError("@neondatabase/serverless"));
|
|
109
|
+
const { drizzle: drizzle2 } = await import("./neon-http");
|
|
110
|
+
if (typeof params[0] === "object") {
|
|
111
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
112
|
+
if (typeof connection === "object") {
|
|
113
|
+
const { connectionString, options } = connection;
|
|
114
|
+
const instance3 = neon(connectionString, options);
|
|
115
|
+
const db3 = drizzle2(instance3, drizzleConfig);
|
|
116
|
+
db3.$client = instance3;
|
|
117
|
+
return db3;
|
|
118
|
+
}
|
|
119
|
+
const instance2 = neon(connection);
|
|
120
|
+
const db2 = drizzle2(instance2, drizzleConfig);
|
|
121
|
+
db2.$client = instance2;
|
|
122
|
+
return db2;
|
|
123
|
+
}
|
|
124
|
+
const instance = neon(params[0]);
|
|
125
|
+
const db = drizzle2(instance);
|
|
126
|
+
db.$client = instance;
|
|
127
|
+
return db;
|
|
128
|
+
}
|
|
129
|
+
case "neon-serverless": {
|
|
130
|
+
const { Pool, neonConfig } = await import("@neondatabase/serverless").catch(
|
|
131
|
+
() => importError("@neondatabase/serverless")
|
|
132
|
+
);
|
|
133
|
+
const { drizzle: drizzle2 } = await import("./neon-serverless");
|
|
134
|
+
if (typeof params[0] === "string") {
|
|
135
|
+
const instance2 = new Pool({
|
|
136
|
+
connectionString: params[0]
|
|
137
|
+
});
|
|
138
|
+
const db2 = drizzle2(instance2);
|
|
139
|
+
db2.$client = instance2;
|
|
140
|
+
return db2;
|
|
141
|
+
}
|
|
142
|
+
if (typeof params[0] === "object") {
|
|
143
|
+
const { connection, ws, ...drizzleConfig } = params[0];
|
|
144
|
+
if (ws) {
|
|
145
|
+
neonConfig.webSocketConstructor = ws;
|
|
146
|
+
}
|
|
147
|
+
const instance2 = typeof connection === "string" ? new Pool({
|
|
148
|
+
connectionString: connection
|
|
149
|
+
}) : new Pool(connection);
|
|
150
|
+
const db2 = drizzle2(instance2, drizzleConfig);
|
|
151
|
+
db2.$client = instance2;
|
|
152
|
+
return db2;
|
|
153
|
+
}
|
|
154
|
+
const instance = new Pool();
|
|
155
|
+
const db = drizzle2(instance);
|
|
156
|
+
db.$client = instance;
|
|
157
|
+
return db;
|
|
158
|
+
}
|
|
159
|
+
case "planetscale": {
|
|
160
|
+
const { Client } = await import("@planetscale/database").catch(() => importError("@planetscale/database"));
|
|
161
|
+
const { drizzle: drizzle2 } = await import("./planetscale-serverless");
|
|
162
|
+
if (typeof params[0] === "object") {
|
|
163
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
164
|
+
const instance2 = typeof connection === "string" ? new Client({
|
|
165
|
+
url: connection
|
|
166
|
+
}) : new Client(
|
|
167
|
+
connection
|
|
168
|
+
);
|
|
169
|
+
const db2 = drizzle2(instance2, drizzleConfig);
|
|
170
|
+
db2.$client = instance2;
|
|
171
|
+
return db2;
|
|
172
|
+
}
|
|
173
|
+
const instance = new Client({
|
|
174
|
+
url: params[0]
|
|
175
|
+
});
|
|
176
|
+
const db = drizzle2(instance);
|
|
177
|
+
db.$client = instance;
|
|
178
|
+
return db;
|
|
179
|
+
}
|
|
180
|
+
case "postgres-js": {
|
|
181
|
+
const { default: client2 } = await import("postgres").catch(() => importError("postgres"));
|
|
182
|
+
const { drizzle: drizzle2 } = await import("./postgres-js");
|
|
183
|
+
if (typeof params[0] === "object") {
|
|
184
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
185
|
+
const instance2 = client2(connection);
|
|
186
|
+
const db2 = drizzle2(instance2, drizzleConfig);
|
|
187
|
+
db2.$client = instance2;
|
|
188
|
+
return db2;
|
|
189
|
+
}
|
|
190
|
+
const instance = client2(params[0]);
|
|
191
|
+
const db = drizzle2(instance);
|
|
192
|
+
db.$client = instance;
|
|
193
|
+
return db;
|
|
194
|
+
}
|
|
195
|
+
case "tidb-serverless": {
|
|
196
|
+
const { connect } = await import("@tidbcloud/serverless").catch(() => importError("@tidbcloud/serverless"));
|
|
197
|
+
const { drizzle: drizzle2 } = await import("./tidb-serverless");
|
|
198
|
+
if (typeof params[0] === "string") {
|
|
199
|
+
const instance2 = connect({
|
|
200
|
+
url: params[0]
|
|
201
|
+
});
|
|
202
|
+
const db2 = drizzle2(instance2);
|
|
203
|
+
db2.$client = instance2;
|
|
204
|
+
return db2;
|
|
205
|
+
}
|
|
206
|
+
const { connection, ...drizzleConfig } = params[0];
|
|
207
|
+
const instance = typeof connection === "string" ? connect({
|
|
208
|
+
url: connection
|
|
209
|
+
}) : connect(connection);
|
|
210
|
+
const db = drizzle2(instance, drizzleConfig);
|
|
211
|
+
db.$client = instance;
|
|
212
|
+
return db;
|
|
213
|
+
}
|
|
214
|
+
case "vercel-postgres": {
|
|
215
|
+
const drizzleConfig = params[0];
|
|
216
|
+
const { sql } = await import("@vercel/postgres").catch(() => importError("@vercel/postgres"));
|
|
217
|
+
const { drizzle: drizzle2 } = await import("./vercel-postgres");
|
|
218
|
+
const db = drizzle2(sql, drizzleConfig);
|
|
219
|
+
db.$client = sql;
|
|
220
|
+
return db;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
assertUnreachable(client);
|
|
224
|
+
}
|
|
225
|
+
export {
|
|
226
|
+
drizzle
|
|
227
|
+
};
|
|
228
|
+
//# sourceMappingURL=monodriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/monodriver.ts"],"sourcesContent":["/* eslint-disable import/extensions */\nimport type { RDSDataClient, RDSDataClientConfig, RDSDataClientConfig as RDSConfig } from '@aws-sdk/client-rds-data';\nimport type { Client as LibsqlClient, Config as LibsqlConfig } from '@libsql/client';\nimport type {\n\tHTTPTransactionOptions as NeonHttpConfig,\n\tNeonQueryFunction,\n\tPool as NeonServerlessPool,\n\tPoolConfig as NeonServerlessConfig,\n\tQueryResult,\n\tQueryResultRow,\n} from '@neondatabase/serverless';\nimport type { Client as PlanetscaleClient, Config as PlanetscaleConfig } from '@planetscale/database';\nimport type { Config as TiDBServerlessConfig, Connection as TiDBConnection } from '@tidbcloud/serverless';\nimport type { VercelPool } from '@vercel/postgres';\nimport type { Database as BetterSQLite3Database, Options as BetterSQLite3Options } from 'better-sqlite3';\nimport type { Database as BunDatabase } from 'bun:sqlite';\nimport type { Pool as Mysql2Pool, PoolOptions as Mysql2Config } from 'mysql2';\nimport type {\n\tOptions as PostgresJSOptions,\n\tPostgresType as PostgresJSPostgresType,\n\tSql as PostgresJsClient,\n} from 'postgres';\nimport type { AwsDataApiPgDatabase, DrizzleAwsDataApiPgConfig } from './aws-data-api/pg/index.ts';\nimport type { BetterSQLite3Database as DrizzleBetterSQLite3Database } from './better-sqlite3/index.ts';\nimport type { BunSQLiteDatabase } from './bun-sqlite/index.ts';\nimport type { DrizzleD1Database } from './d1/index.ts';\nimport type { LibSQLDatabase } from './libsql/index.ts';\nimport type { MySql2Database, MySql2DrizzleConfig } from './mysql2/index.ts';\nimport type { NeonHttpDatabase } from './neon-http/index.ts';\nimport type { NeonDatabase } from './neon-serverless/index.ts';\nimport type { PlanetScaleDatabase } from './planetscale-serverless/index.ts';\nimport type { PostgresJsDatabase } from './postgres-js/index.ts';\nimport type { TiDBServerlessDatabase } from './tidb-serverless/index.ts';\nimport type { DrizzleConfig } from './utils.ts';\nimport type { VercelPgDatabase } from './vercel-postgres/index.ts';\n\ntype BunSqliteDatabaseOptions =\n\t| number\n\t| {\n\t\t/**\n\t\t * Open the database as read-only (no write operations, no create).\n\t\t *\n\t\t * Equivalent to {@link constants.SQLITE_OPEN_READONLY}\n\t\t */\n\t\treadonly?: boolean;\n\t\t/**\n\t\t * Allow creating a new database\n\t\t *\n\t\t * Equivalent to {@link constants.SQLITE_OPEN_CREATE}\n\t\t */\n\t\tcreate?: boolean;\n\t\t/**\n\t\t * Open the database as read-write\n\t\t *\n\t\t * Equivalent to {@link constants.SQLITE_OPEN_READWRITE}\n\t\t */\n\t\treadwrite?: boolean;\n\t};\n\ntype BunSqliteDatabaseConfig =\n\t| {\n\t\tfilename?: ':memory:' | (string & {});\n\t\toptions?: BunSqliteDatabaseOptions;\n\t}\n\t| ':memory:'\n\t| (string & {})\n\t| undefined;\n\ntype BetterSQLite3DatabaseConfig =\n\t| {\n\t\tfilename?:\n\t\t\t| ':memory:'\n\t\t\t| (string & {})\n\t\t\t| Buffer;\n\t\toptions?: BetterSQLite3Options;\n\t}\n\t| ':memory:'\n\t| (string & {})\n\t| undefined;\n\ntype MonodriverNeonHttpConfig = {\n\tconnectionString: string;\n\toptions?: NeonHttpConfig<boolean, boolean>;\n} | string;\n\ntype DatabaseClient =\n\t| 'postgres-js'\n\t| 'neon-serverless'\n\t| 'neon-http'\n\t| 'vercel-postgres'\n\t| 'aws-data-api-pg'\n\t| 'planetscale'\n\t| 'mysql2'\n\t| 'tidb-serverless'\n\t| 'libsql'\n\t| 'turso'\n\t| 'd1'\n\t| 'bun:sqlite'\n\t| 'better-sqlite3';\n\ntype ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {\n\t'postgres-js': PostgresJsDatabase<TSchema>;\n\t'neon-serverless': NeonDatabase<TSchema>;\n\t'neon-http': NeonHttpDatabase<TSchema>;\n\t'vercel-postgres': VercelPgDatabase<TSchema>;\n\t'aws-data-api-pg': AwsDataApiPgDatabase<TSchema>;\n\tplanetscale: PlanetScaleDatabase<TSchema>;\n\tmysql2: MySql2Database<TSchema>;\n\t'tidb-serverless': TiDBServerlessDatabase<TSchema>;\n\tlibsql: LibSQLDatabase<TSchema>;\n\tturso: LibSQLDatabase<TSchema>;\n\td1: DrizzleD1Database<TSchema>;\n\t'bun:sqlite': BunSQLiteDatabase<TSchema>;\n\t'better-sqlite3': DrizzleBetterSQLite3Database<TSchema>;\n};\n\ntype Primitive = string | number | boolean | undefined | null;\n\ntype ClientInstanceMap = {\n\t'postgres-js': PostgresJsClient;\n\t'neon-serverless': NeonServerlessPool;\n\t'neon-http': NeonQueryFunction<boolean, boolean>;\n\t'vercel-postgres':\n\t\t& VercelPool\n\t\t& (<O extends QueryResultRow>(strings: TemplateStringsArray, ...values: Primitive[]) => Promise<QueryResult<O>>);\n\t'aws-data-api-pg': RDSDataClient;\n\tplanetscale: PlanetscaleClient;\n\tmysql2: Mysql2Pool;\n\t'tidb-serverless': TiDBConnection;\n\tlibsql: LibsqlClient;\n\tturso: LibsqlClient;\n\td1: D1Database;\n\t'bun:sqlite': BunDatabase;\n\t'better-sqlite3': BetterSQLite3Database;\n};\n\ntype InitializerParams = {\n\t'postgres-js': {\n\t\tconnection: string | PostgresJSOptions<Record<string, PostgresJSPostgresType>>;\n\t};\n\t'neon-serverless': {\n\t\tconnection?: string | NeonServerlessConfig;\n\t};\n\t'neon-http': {\n\t\tconnection: MonodriverNeonHttpConfig;\n\t};\n\t'vercel-postgres': {};\n\t'aws-data-api-pg': {\n\t\tconnection?: RDSConfig;\n\t};\n\tplanetscale: {\n\t\tconnection: PlanetscaleConfig | string;\n\t};\n\tmysql2: {\n\t\tconnection: Mysql2Config | string;\n\t};\n\t'tidb-serverless': {\n\t\tconnection: TiDBServerlessConfig | string;\n\t};\n\tlibsql: {\n\t\tconnection: LibsqlConfig | string;\n\t};\n\tturso: {\n\t\tconnection: LibsqlConfig | string;\n\t};\n\td1: {\n\t\tconnection: D1Database;\n\t};\n\t'bun:sqlite': {\n\t\tconnection?: BunSqliteDatabaseConfig;\n\t};\n\t'better-sqlite3': {\n\t\tconnection?: BetterSQLite3DatabaseConfig;\n\t};\n};\n\ntype DetermineClient<\n\tTClient extends DatabaseClient,\n\tTSchema extends Record<string, unknown>,\n> =\n\t& ClientDrizzleInstanceMap<\n\t\tTSchema\n\t>[TClient]\n\t& {\n\t\t$client: ClientInstanceMap[TClient];\n\t};\n\nconst importError = (libName: string) => {\n\tthrow new Error(\n\t\t`Please install '${libName}' for Drizzle ORM to connect to database`,\n\t);\n};\n\nfunction assertUnreachable(_: never | undefined): never {\n\tthrow new Error(\"Didn't expect to get here\");\n}\n\nexport async function drizzle<\n\tTClient extends DatabaseClient,\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\tclient: TClient,\n\t...params: TClient extends 'bun:sqlite' | 'better-sqlite3' ? (\n\t\t\t[] | [\n\t\t\t\t(\n\t\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t),\n\t\t\t] | [\n\t\t\t\t':memory:',\n\t\t\t] | [\n\t\t\t\t(string & {}),\n\t\t\t]\n\t\t)\n\t\t: TClient extends 'vercel-postgres' ? ([] | [\n\t\t\t\t(\n\t\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t),\n\t\t\t])\n\t\t: TClient extends 'postgres-js' | 'tidb-serverless' | 'libsql' | 'turso' | 'planetscale' ? (\n\t\t\t\t[\n\t\t\t\t\t(\n\t\t\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t\t),\n\t\t\t\t] | [\n\t\t\t\t\tstring,\n\t\t\t\t]\n\t\t\t)\n\t\t: TClient extends 'mysql2' ? (\n\t\t\t\t[\n\t\t\t\t\t(\n\t\t\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t\t\t& MySql2DrizzleConfig<TSchema>\n\t\t\t\t\t),\n\t\t\t\t] | [\n\t\t\t\t\tstring,\n\t\t\t\t]\n\t\t\t)\n\t\t: TClient extends 'aws-data-api-pg' ? [\n\t\t\t\tInitializerParams[TClient] & DrizzleAwsDataApiPgConfig<TSchema>,\n\t\t\t]\n\t\t: TClient extends 'neon-serverless' ? (\n\t\t\t\t| [\n\t\t\t\t\tInitializerParams[TClient] & DrizzleConfig<TSchema> & {\n\t\t\t\t\t\tws?: any;\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t\t| [string]\n\t\t\t\t| []\n\t\t\t)\n\t\t: TClient extends 'neon-http' ? ([\n\t\t\t\tInitializerParams[TClient] & DrizzleConfig<TSchema>,\n\t\t\t] | [\n\t\t\t\tstring,\n\t\t\t])\n\t\t: [\n\t\t\t(\n\t\t\t\t& InitializerParams[TClient]\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t),\n\t\t]\n): Promise<DetermineClient<TClient, TSchema>> {\n\tswitch (client) {\n\t\tcase 'aws-data-api-pg': {\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t& { connection: RDSDataClientConfig | undefined }\n\t\t\t\t& DrizzleAwsDataApiPgConfig;\n\n\t\t\tconst { RDSDataClient } = await import('@aws-sdk/client-rds-data').catch(() =>\n\t\t\t\timportError('@aws-sdk/client-rds-data')\n\t\t\t);\n\t\t\tconst { drizzle } = await import('./aws-data-api/pg');\n\n\t\t\tconst instance = connection ? new RDSDataClient(connection) : new RDSDataClient();\n\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'better-sqlite3': {\n\t\t\tconst { default: Client } = await import('better-sqlite3').catch(() => importError('better-sqlite3'));\n\t\t\tconst { drizzle } = await import('./better-sqlite3');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection: BetterSQLite3DatabaseConfig;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object') {\n\t\t\t\t\tconst { filename, options } = connection;\n\n\t\t\t\t\tconst instance = new Client(filename, options);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\t\tdb.$client = instance;\n\n\t\t\t\t\treturn db;\n\t\t\t\t}\n\n\t\t\t\tconst instance = new Client(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = new Client(params[0]);\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'bun:sqlite': {\n\t\t\tconst { Database: Client } = await import('bun:sqlite').catch(() => importError('bun:sqlite'));\n\t\t\tconst { drizzle } = await import('./bun-sqlite');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection: BunSqliteDatabaseConfig | string | undefined;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object') {\n\t\t\t\t\tconst { filename, options } = connection;\n\n\t\t\t\t\tconst instance = new Client(filename, options);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\t\tdb.$client = instance;\n\n\t\t\t\t\treturn db;\n\t\t\t\t}\n\n\t\t\t\tconst instance = new Client(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = new Client(params[0]);\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'd1': {\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as { connection: D1Database } & DrizzleConfig;\n\n\t\t\tconst { drizzle } = await import('./d1');\n\n\t\t\tconst db = drizzle(connection, drizzleConfig) as any;\n\t\t\tdb.$client = connection;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'libsql':\n\t\tcase 'turso': {\n\t\t\tconst { createClient } = await import('@libsql/client').catch(() => importError('@libsql/client'));\n\t\t\tconst { drizzle } = await import('./libsql');\n\n\t\t\tif (typeof params[0] === 'string') {\n\t\t\t\tconst instance = createClient({\n\t\t\t\t\turl: params[0],\n\t\t\t\t});\n\t\t\t\tconst db = drizzle(instance) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as any as { connection: LibsqlConfig } & DrizzleConfig;\n\n\t\t\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection);\n\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'mysql2': {\n\t\t\tconst { createPool } = await import('mysql2/promise').catch(() => importError('mysql2/promise'));\n\t\t\tconst { drizzle } = await import('./mysql2');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t\t& { connection: Mysql2Config | string }\n\t\t\t\t\t& MySql2DrizzleConfig;\n\n\t\t\t\tconst instance = createPool(connection as Mysql2Config);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst connectionString = params[0]!;\n\t\t\tconst instance = createPool(connectionString);\n\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'neon-http': {\n\t\t\tconst { neon } = await import('@neondatabase/serverless').catch(() => importError('@neondatabase/serverless'));\n\t\t\tconst { drizzle } = await import('./neon-http');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as { connection: MonodriverNeonHttpConfig } & DrizzleConfig;\n\n\t\t\t\tif (typeof connection === 'object') {\n\t\t\t\t\tconst { connectionString, options } = connection;\n\n\t\t\t\t\tconst instance = neon(connectionString, options);\n\t\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\t\tdb.$client = instance;\n\n\t\t\t\t\treturn db;\n\t\t\t\t}\n\n\t\t\t\tconst instance = neon(connection);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = neon(params[0]!);\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'neon-serverless': {\n\t\t\tconst { Pool, neonConfig } = await import('@neondatabase/serverless').catch(() =>\n\t\t\t\timportError('@neondatabase/serverless')\n\t\t\t);\n\t\t\tconst { drizzle } = await import('./neon-serverless');\n\t\t\tif (typeof params[0] === 'string') {\n\t\t\t\tconst instance = new Pool({\n\t\t\t\t\tconnectionString: params[0],\n\t\t\t\t});\n\n\t\t\t\tconst db = drizzle(instance) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ws, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection?: NeonServerlessConfig | string;\n\t\t\t\t\tws?: any;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tif (ws) {\n\t\t\t\t\tneonConfig.webSocketConstructor = ws;\n\t\t\t\t}\n\n\t\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t\t? new Pool({\n\t\t\t\t\t\tconnectionString: connection,\n\t\t\t\t\t})\n\t\t\t\t\t: new Pool(connection);\n\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = new Pool();\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'planetscale': {\n\t\t\tconst { Client } = await import('@planetscale/database').catch(() => importError('@planetscale/database'));\n\t\t\tconst { drizzle } = await import('./planetscale-serverless');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t\t& { connection: PlanetscaleConfig | string }\n\t\t\t\t\t& DrizzleConfig;\n\n\t\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t\t? new Client({\n\t\t\t\t\t\turl: connection,\n\t\t\t\t\t})\n\t\t\t\t\t: new Client(\n\t\t\t\t\t\tconnection,\n\t\t\t\t\t);\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = new Client({\n\t\t\t\turl: params[0],\n\t\t\t});\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'postgres-js': {\n\t\t\tconst { default: client } = await import('postgres').catch(() => importError('postgres'));\n\t\t\tconst { drizzle } = await import('./postgres-js');\n\n\t\t\tif (typeof params[0] === 'object') {\n\t\t\t\tconst { connection, ...drizzleConfig } = params[0] as {\n\t\t\t\t\tconnection: PostgresJSOptions<Record<string, PostgresJSPostgresType>>;\n\t\t\t\t} & DrizzleConfig;\n\n\t\t\t\tconst instance = client(connection);\n\n\t\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst instance = client(params[0]!);\n\t\t\tconst db = drizzle(instance) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'tidb-serverless': {\n\t\t\tconst { connect } = await import('@tidbcloud/serverless').catch(() => importError('@tidbcloud/serverless'));\n\t\t\tconst { drizzle } = await import('./tidb-serverless');\n\n\t\t\tif (typeof params[0] === 'string') {\n\t\t\t\tconst instance = connect({\n\t\t\t\t\turl: params[0],\n\t\t\t\t});\n\t\t\t\tconst db = drizzle(instance) as any;\n\t\t\t\tdb.$client = instance;\n\n\t\t\t\treturn db;\n\t\t\t}\n\n\t\t\tconst { connection, ...drizzleConfig } = params[0] as\n\t\t\t\t& { connection: TiDBServerlessConfig | string }\n\t\t\t\t& DrizzleConfig;\n\n\t\t\tconst instance = typeof connection === 'string'\n\t\t\t\t? connect({\n\t\t\t\t\turl: connection,\n\t\t\t\t})\n\t\t\t\t: connect(connection);\n\t\t\tconst db = drizzle(instance, drizzleConfig) as any;\n\t\t\tdb.$client = instance;\n\n\t\t\treturn db;\n\t\t}\n\t\tcase 'vercel-postgres': {\n\t\t\tconst drizzleConfig = params[0] as DrizzleConfig | undefined;\n\t\t\tconst { sql } = await import('@vercel/postgres').catch(() => importError('@vercel/postgres'));\n\t\t\tconst { drizzle } = await import('./vercel-postgres');\n\n\t\t\tconst db = drizzle(sql, drizzleConfig) as any;\n\t\t\tdb.$client = sql;\n\n\t\t\treturn db;\n\t\t}\n\t}\n\n\tassertUnreachable(client);\n}\n"],"mappings":"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","names":["drizzle","instance","db","client"]}
|
package/monomigrator.cjs
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var monomigrator_exports = {};
|
|
30
|
+
__export(monomigrator_exports, {
|
|
31
|
+
migrate: () => migrate
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(monomigrator_exports);
|
|
34
|
+
var import_entity = require("./entity.cjs");
|
|
35
|
+
async function migrate(db, config) {
|
|
36
|
+
switch (db.constructor[import_entity.entityKind]) {
|
|
37
|
+
case "AwsDataApiPgDatabase": {
|
|
38
|
+
const { migrate: migrate2 } = await import("./aws-data-api/pg/migrator");
|
|
39
|
+
return migrate2(db, config);
|
|
40
|
+
}
|
|
41
|
+
case "BetterSQLite3Database": {
|
|
42
|
+
const { migrate: migrate2 } = await import("./better-sqlite3/migrator");
|
|
43
|
+
return migrate2(db, config);
|
|
44
|
+
}
|
|
45
|
+
case "BunSQLiteDatabase": {
|
|
46
|
+
const { migrate: migrate2 } = await import("./bun-sqlite/migrator");
|
|
47
|
+
return migrate2(db, config);
|
|
48
|
+
}
|
|
49
|
+
case "D1Database": {
|
|
50
|
+
const { migrate: migrate2 } = await import("./d1/migrator");
|
|
51
|
+
return migrate2(db, config);
|
|
52
|
+
}
|
|
53
|
+
case "LibSQLDatabase": {
|
|
54
|
+
const { migrate: migrate2 } = await import("./libsql/migrator");
|
|
55
|
+
return migrate2(db, config);
|
|
56
|
+
}
|
|
57
|
+
case "MySql2Database": {
|
|
58
|
+
const { migrate: migrate2 } = await import("./mysql2/migrator");
|
|
59
|
+
return migrate2(db, config);
|
|
60
|
+
}
|
|
61
|
+
case "NeonHttpDatabase": {
|
|
62
|
+
const { migrate: migrate2 } = await import("./neon-http/migrator");
|
|
63
|
+
return migrate2(db, config);
|
|
64
|
+
}
|
|
65
|
+
case "NeonServerlessDatabase": {
|
|
66
|
+
const { migrate: migrate2 } = await import("./neon-serverless/migrator");
|
|
67
|
+
return migrate2(db, config);
|
|
68
|
+
}
|
|
69
|
+
case "NodePgDatabase": {
|
|
70
|
+
const { migrate: migrate2 } = await import("./node-postgres/migrator");
|
|
71
|
+
return migrate2(db, config);
|
|
72
|
+
}
|
|
73
|
+
case "PlanetScaleDatabase": {
|
|
74
|
+
const { migrate: migrate2 } = await import("./planetscale-serverless/migrator");
|
|
75
|
+
return migrate2(db, config);
|
|
76
|
+
}
|
|
77
|
+
case "PostgresJsDatabase": {
|
|
78
|
+
const { migrate: migrate2 } = await import("./postgres-js/migrator");
|
|
79
|
+
return migrate2(db, config);
|
|
80
|
+
}
|
|
81
|
+
case "TiDBServerlessDatabase": {
|
|
82
|
+
const { migrate: migrate2 } = await import("./tidb-serverless/migrator");
|
|
83
|
+
return migrate2(db, config);
|
|
84
|
+
}
|
|
85
|
+
case "VercelPgDatabase": {
|
|
86
|
+
const { migrate: migrate2 } = await import("./vercel-postgres/migrator");
|
|
87
|
+
return migrate2(db, config);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
92
|
+
0 && (module.exports = {
|
|
93
|
+
migrate
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=monomigrator.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/monomigrator.ts"],"sourcesContent":["/* eslint-disable import/extensions */\nimport type { AwsDataApiPgDatabase } from './aws-data-api/pg/index.ts';\nimport type { BetterSQLite3Database } from './better-sqlite3/index.ts';\nimport type { BunSQLiteDatabase } from './bun-sqlite/index.ts';\nimport type { DrizzleD1Database } from './d1/index.ts';\nimport { entityKind } from './entity.ts';\nimport type { LibSQLDatabase } from './libsql/index.ts';\nimport type { MigrationConfig } from './migrator.ts';\nimport type { MySql2Database } from './mysql2/index.ts';\nimport type { NeonHttpDatabase } from './neon-http/index.ts';\nimport type { NeonDatabase } from './neon-serverless/index.ts';\nimport type { NodePgDatabase } from './node-postgres/index.ts';\nimport type { PlanetScaleDatabase } from './planetscale-serverless/index.ts';\nimport type { PostgresJsDatabase } from './postgres-js/index.ts';\nimport type { TiDBServerlessDatabase } from './tidb-serverless/index.ts';\nimport type { VercelPgDatabase } from './vercel-postgres/index.ts';\n\nexport async function migrate(\n\tdb:\n\t\t| AwsDataApiPgDatabase<any>\n\t\t| BetterSQLite3Database<any>\n\t\t| BunSQLiteDatabase<any>\n\t\t| DrizzleD1Database<any>\n\t\t| LibSQLDatabase<any>\n\t\t| MySql2Database<any>\n\t\t| NeonHttpDatabase<any>\n\t\t| NeonDatabase<any>\n\t\t| NodePgDatabase<any>\n\t\t| PlanetScaleDatabase<any>\n\t\t| PostgresJsDatabase<any>\n\t\t| VercelPgDatabase<any>\n\t\t| TiDBServerlessDatabase<any>,\n\tconfig:\n\t\t| string\n\t\t| MigrationConfig,\n) {\n\tswitch ((<any> db).constructor[entityKind]) {\n\t\tcase 'AwsDataApiPgDatabase': {\n\t\t\tconst { migrate } = await import('./aws-data-api/pg/migrator');\n\n\t\t\treturn migrate(db as AwsDataApiPgDatabase, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'BetterSQLite3Database': {\n\t\t\tconst { migrate } = await import('./better-sqlite3/migrator');\n\n\t\t\treturn migrate(db as BetterSQLite3Database, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'BunSQLiteDatabase': {\n\t\t\tconst { migrate } = await import('./bun-sqlite/migrator');\n\n\t\t\treturn migrate(db as BunSQLiteDatabase, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'D1Database': {\n\t\t\tconst { migrate } = await import('./d1/migrator');\n\n\t\t\treturn migrate(db as DrizzleD1Database, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'LibSQLDatabase': {\n\t\t\tconst { migrate } = await import('./libsql/migrator');\n\n\t\t\treturn migrate(db as LibSQLDatabase, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'MySql2Database': {\n\t\t\tconst { migrate } = await import('./mysql2/migrator');\n\n\t\t\treturn migrate(db as MySql2Database, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'NeonHttpDatabase': {\n\t\t\tconst { migrate } = await import('./neon-http/migrator');\n\n\t\t\treturn migrate(db as NeonHttpDatabase, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'NeonServerlessDatabase': {\n\t\t\tconst { migrate } = await import('./neon-serverless/migrator');\n\n\t\t\treturn migrate(db as NeonDatabase, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'NodePgDatabase': {\n\t\t\tconst { migrate } = await import('./node-postgres/migrator');\n\n\t\t\treturn migrate(db as NodePgDatabase, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'PlanetScaleDatabase': {\n\t\t\tconst { migrate } = await import('./planetscale-serverless/migrator');\n\n\t\t\treturn migrate(db as PlanetScaleDatabase, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'PostgresJsDatabase': {\n\t\t\tconst { migrate } = await import('./postgres-js/migrator');\n\n\t\t\treturn migrate(db as PostgresJsDatabase, config as string | MigrationConfig);\n\t\t}\n\t\tcase 'TiDBServerlessDatabase': {\n\t\t\tconst { migrate } = await import('./tidb-serverless/migrator');\n\n\t\t\treturn migrate(db as TiDBServerlessDatabase, config as MigrationConfig);\n\t\t}\n\t\tcase 'VercelPgDatabase': {\n\t\t\tconst { migrate } = await import('./vercel-postgres/migrator');\n\n\t\t\treturn migrate(db as VercelPgDatabase, config as string | MigrationConfig);\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,oBAA2B;AAY3B,eAAsB,QACrB,IAcA,QAGC;AACD,UAAe,GAAI,YAAY,wBAAU,GAAG;AAAA,IAC3C,KAAK,wBAAwB;AAC5B,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,4BAA4B;AAE7D,aAAOA,SAAQ,IAA4B,MAAkC;AAAA,IAC9E;AAAA,IACA,KAAK,yBAAyB;AAC7B,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,2BAA2B;AAE5D,aAAOA,SAAQ,IAA6B,MAAkC;AAAA,IAC/E;AAAA,IACA,KAAK,qBAAqB;AACzB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,uBAAuB;AAExD,aAAOA,SAAQ,IAAyB,MAAkC;AAAA,IAC3E;AAAA,IACA,KAAK,cAAc;AAClB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,eAAe;AAEhD,aAAOA,SAAQ,IAAyB,MAAkC;AAAA,IAC3E;AAAA,IACA,KAAK,kBAAkB;AACtB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,mBAAmB;AAEpD,aAAOA,SAAQ,IAAsB,MAAkC;AAAA,IACxE;AAAA,IACA,KAAK,kBAAkB;AACtB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,mBAAmB;AAEpD,aAAOA,SAAQ,IAAsB,MAAkC;AAAA,IACxE;AAAA,IACA,KAAK,oBAAoB;AACxB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,sBAAsB;AAEvD,aAAOA,SAAQ,IAAwB,MAAkC;AAAA,IAC1E;AAAA,IACA,KAAK,0BAA0B;AAC9B,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,4BAA4B;AAE7D,aAAOA,SAAQ,IAAoB,MAAkC;AAAA,IACtE;AAAA,IACA,KAAK,kBAAkB;AACtB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,0BAA0B;AAE3D,aAAOA,SAAQ,IAAsB,MAAkC;AAAA,IACxE;AAAA,IACA,KAAK,uBAAuB;AAC3B,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,mCAAmC;AAEpE,aAAOA,SAAQ,IAA2B,MAAkC;AAAA,IAC7E;AAAA,IACA,KAAK,sBAAsB;AAC1B,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,wBAAwB;AAEzD,aAAOA,SAAQ,IAA0B,MAAkC;AAAA,IAC5E;AAAA,IACA,KAAK,0BAA0B;AAC9B,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,4BAA4B;AAE7D,aAAOA,SAAQ,IAA8B,MAAyB;AAAA,IACvE;AAAA,IACA,KAAK,oBAAoB;AACxB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,4BAA4B;AAE7D,aAAOA,SAAQ,IAAwB,MAAkC;AAAA,IAC1E;AAAA,EACD;AACD;","names":["migrate"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AwsDataApiPgDatabase } from "./aws-data-api/pg/index.cjs";
|
|
2
|
+
import type { BetterSQLite3Database } from "./better-sqlite3/index.cjs";
|
|
3
|
+
import type { BunSQLiteDatabase } from "./bun-sqlite/index.cjs";
|
|
4
|
+
import type { DrizzleD1Database } from "./d1/index.cjs";
|
|
5
|
+
import type { LibSQLDatabase } from "./libsql/index.cjs";
|
|
6
|
+
import type { MigrationConfig } from "./migrator.cjs";
|
|
7
|
+
import type { MySql2Database } from "./mysql2/index.cjs";
|
|
8
|
+
import type { NeonHttpDatabase } from "./neon-http/index.cjs";
|
|
9
|
+
import type { NeonDatabase } from "./neon-serverless/index.cjs";
|
|
10
|
+
import type { NodePgDatabase } from "./node-postgres/index.cjs";
|
|
11
|
+
import type { PlanetScaleDatabase } from "./planetscale-serverless/index.cjs";
|
|
12
|
+
import type { PostgresJsDatabase } from "./postgres-js/index.cjs";
|
|
13
|
+
import type { TiDBServerlessDatabase } from "./tidb-serverless/index.cjs";
|
|
14
|
+
import type { VercelPgDatabase } from "./vercel-postgres/index.cjs";
|
|
15
|
+
export declare function migrate(db: AwsDataApiPgDatabase<any> | BetterSQLite3Database<any> | BunSQLiteDatabase<any> | DrizzleD1Database<any> | LibSQLDatabase<any> | MySql2Database<any> | NeonHttpDatabase<any> | NeonDatabase<any> | NodePgDatabase<any> | PlanetScaleDatabase<any> | PostgresJsDatabase<any> | VercelPgDatabase<any> | TiDBServerlessDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AwsDataApiPgDatabase } from "./aws-data-api/pg/index.js";
|
|
2
|
+
import type { BetterSQLite3Database } from "./better-sqlite3/index.js";
|
|
3
|
+
import type { BunSQLiteDatabase } from "./bun-sqlite/index.js";
|
|
4
|
+
import type { DrizzleD1Database } from "./d1/index.js";
|
|
5
|
+
import type { LibSQLDatabase } from "./libsql/index.js";
|
|
6
|
+
import type { MigrationConfig } from "./migrator.js";
|
|
7
|
+
import type { MySql2Database } from "./mysql2/index.js";
|
|
8
|
+
import type { NeonHttpDatabase } from "./neon-http/index.js";
|
|
9
|
+
import type { NeonDatabase } from "./neon-serverless/index.js";
|
|
10
|
+
import type { NodePgDatabase } from "./node-postgres/index.js";
|
|
11
|
+
import type { PlanetScaleDatabase } from "./planetscale-serverless/index.js";
|
|
12
|
+
import type { PostgresJsDatabase } from "./postgres-js/index.js";
|
|
13
|
+
import type { TiDBServerlessDatabase } from "./tidb-serverless/index.js";
|
|
14
|
+
import type { VercelPgDatabase } from "./vercel-postgres/index.js";
|
|
15
|
+
export declare function migrate(db: AwsDataApiPgDatabase<any> | BetterSQLite3Database<any> | BunSQLiteDatabase<any> | DrizzleD1Database<any> | LibSQLDatabase<any> | MySql2Database<any> | NeonHttpDatabase<any> | NeonDatabase<any> | NodePgDatabase<any> | PlanetScaleDatabase<any> | PostgresJsDatabase<any> | VercelPgDatabase<any> | TiDBServerlessDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
package/monomigrator.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { entityKind } from "./entity.js";
|
|
2
|
+
async function migrate(db, config) {
|
|
3
|
+
switch (db.constructor[entityKind]) {
|
|
4
|
+
case "AwsDataApiPgDatabase": {
|
|
5
|
+
const { migrate: migrate2 } = await import("./aws-data-api/pg/migrator");
|
|
6
|
+
return migrate2(db, config);
|
|
7
|
+
}
|
|
8
|
+
case "BetterSQLite3Database": {
|
|
9
|
+
const { migrate: migrate2 } = await import("./better-sqlite3/migrator");
|
|
10
|
+
return migrate2(db, config);
|
|
11
|
+
}
|
|
12
|
+
case "BunSQLiteDatabase": {
|
|
13
|
+
const { migrate: migrate2 } = await import("./bun-sqlite/migrator");
|
|
14
|
+
return migrate2(db, config);
|
|
15
|
+
}
|
|
16
|
+
case "D1Database": {
|
|
17
|
+
const { migrate: migrate2 } = await import("./d1/migrator");
|
|
18
|
+
return migrate2(db, config);
|
|
19
|
+
}
|
|
20
|
+
case "LibSQLDatabase": {
|
|
21
|
+
const { migrate: migrate2 } = await import("./libsql/migrator");
|
|
22
|
+
return migrate2(db, config);
|
|
23
|
+
}
|
|
24
|
+
case "MySql2Database": {
|
|
25
|
+
const { migrate: migrate2 } = await import("./mysql2/migrator");
|
|
26
|
+
return migrate2(db, config);
|
|
27
|
+
}
|
|
28
|
+
case "NeonHttpDatabase": {
|
|
29
|
+
const { migrate: migrate2 } = await import("./neon-http/migrator");
|
|
30
|
+
return migrate2(db, config);
|
|
31
|
+
}
|
|
32
|
+
case "NeonServerlessDatabase": {
|
|
33
|
+
const { migrate: migrate2 } = await import("./neon-serverless/migrator");
|
|
34
|
+
return migrate2(db, config);
|
|
35
|
+
}
|
|
36
|
+
case "NodePgDatabase": {
|
|
37
|
+
const { migrate: migrate2 } = await import("./node-postgres/migrator");
|
|
38
|
+
return migrate2(db, config);
|
|
39
|
+
}
|
|
40
|
+
case "PlanetScaleDatabase": {
|
|
41
|
+
const { migrate: migrate2 } = await import("./planetscale-serverless/migrator");
|
|
42
|
+
return migrate2(db, config);
|
|
43
|
+
}
|
|
44
|
+
case "PostgresJsDatabase": {
|
|
45
|
+
const { migrate: migrate2 } = await import("./postgres-js/migrator");
|
|
46
|
+
return migrate2(db, config);
|
|
47
|
+
}
|
|
48
|
+
case "TiDBServerlessDatabase": {
|
|
49
|
+
const { migrate: migrate2 } = await import("./tidb-serverless/migrator");
|
|
50
|
+
return migrate2(db, config);
|
|
51
|
+
}
|
|
52
|
+
case "VercelPgDatabase": {
|
|
53
|
+
const { migrate: migrate2 } = await import("./vercel-postgres/migrator");
|
|
54
|
+
return migrate2(db, config);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
migrate
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=monomigrator.js.map
|