drizzle-orm 0.33.0-8948f19 → 0.33.0-ab3b46d
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/index.cjs +2 -0
- package/index.cjs.map +1 -1
- package/index.d.cts +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/monodriver.cjs +14 -9
- package/monodriver.cjs.map +1 -1
- package/monodriver.d.cts +5 -5
- package/monodriver.d.ts +5 -5
- package/monodriver.js +14 -9
- package/monodriver.js.map +1 -1
- package/monomigrator.cjs +123 -0
- package/monomigrator.cjs.map +1 -0
- package/monomigrator.d.cts +65 -0
- package/monomigrator.d.ts +65 -0
- package/monomigrator.js +89 -0
- package/monomigrator.js.map +1 -0
- package/package.json +13 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
package/index.cjs
CHANGED
|
@@ -23,6 +23,7 @@ __reExport(src_exports, require("./errors.cjs"), module.exports);
|
|
|
23
23
|
__reExport(src_exports, require("./expressions.cjs"), module.exports);
|
|
24
24
|
__reExport(src_exports, require("./logger.cjs"), module.exports);
|
|
25
25
|
__reExport(src_exports, require("./monodriver.cjs"), module.exports);
|
|
26
|
+
__reExport(src_exports, require("./monomigrator.cjs"), module.exports);
|
|
26
27
|
__reExport(src_exports, require("./operations.cjs"), module.exports);
|
|
27
28
|
__reExport(src_exports, require("./query-promise.cjs"), module.exports);
|
|
28
29
|
__reExport(src_exports, require("./relations.cjs"), module.exports);
|
|
@@ -41,6 +42,7 @@ __reExport(src_exports, require("./view-common.cjs"), module.exports);
|
|
|
41
42
|
...require("./expressions.cjs"),
|
|
42
43
|
...require("./logger.cjs"),
|
|
43
44
|
...require("./monodriver.cjs"),
|
|
45
|
+
...require("./monomigrator.cjs"),
|
|
44
46
|
...require("./operations.cjs"),
|
|
45
47
|
...require("./query-promise.cjs"),
|
|
46
48
|
...require("./relations.cjs"),
|
package/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './expressions.ts';\nexport * from './logger.ts';\nexport * from './monodriver.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,uBAAd;AACA,wBAAc,gCADd;AAEA,wBAAc,wBAFd;AAGA,wBAAc,wBAHd;AAIA,wBAAc,wBAJd;AAKA,wBAAc,6BALd;AAMA,wBAAc,wBANd;AAOA,wBAAc,4BAPd;AAQA,wBAAc,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './expressions.ts';\nexport * from './logger.ts';\nexport * from './monodriver.ts';\nexport * from './monomigrator.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,uBAAd;AACA,wBAAc,gCADd;AAEA,wBAAc,wBAFd;AAGA,wBAAc,wBAHd;AAIA,wBAAc,wBAJd;AAKA,wBAAc,6BALd;AAMA,wBAAc,wBANd;AAOA,wBAAc,4BAPd;AAQA,wBAAc,8BARd;AASA,wBAAc,4BATd;AAUA,wBAAc,+BAVd;AAWA,wBAAc,2BAXd;AAYA,wBAAc,2BAZd;AAaA,wBAAc,0BAbd;AAcA,wBAAc,uBAdd;AAeA,wBAAc,uBAfd;AAgBA,wBAAc,6BAhBd;","names":[]}
|
package/index.d.cts
CHANGED
|
@@ -6,6 +6,7 @@ export * from "./errors.cjs";
|
|
|
6
6
|
export * from "./expressions.cjs";
|
|
7
7
|
export * from "./logger.cjs";
|
|
8
8
|
export * from "./monodriver.cjs";
|
|
9
|
+
export * from "./monomigrator.cjs";
|
|
9
10
|
export * from "./operations.cjs";
|
|
10
11
|
export * from "./query-promise.cjs";
|
|
11
12
|
export * from "./relations.cjs";
|
package/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from "./errors.js";
|
|
|
6
6
|
export * from "./expressions.js";
|
|
7
7
|
export * from "./logger.js";
|
|
8
8
|
export * from "./monodriver.js";
|
|
9
|
+
export * from "./monomigrator.js";
|
|
9
10
|
export * from "./operations.js";
|
|
10
11
|
export * from "./query-promise.js";
|
|
11
12
|
export * from "./relations.js";
|
package/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export * from "./errors.js";
|
|
|
6
6
|
export * from "./expressions.js";
|
|
7
7
|
export * from "./logger.js";
|
|
8
8
|
export * from "./monodriver.js";
|
|
9
|
+
export * from "./monomigrator.js";
|
|
9
10
|
export * from "./operations.js";
|
|
10
11
|
export * from "./query-promise.js";
|
|
11
12
|
export * from "./relations.js";
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './expressions.ts';\nexport * from './logger.ts';\nexport * from './monodriver.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './column-builder.ts';\nexport * from './column.ts';\nexport * from './entity.ts';\nexport * from './errors.ts';\nexport * from './expressions.ts';\nexport * from './logger.ts';\nexport * from './monodriver.ts';\nexport * from './monomigrator.ts';\nexport * from './operations.ts';\nexport * from './query-promise.ts';\nexport * from './relations.ts';\nexport * from './sql/index.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './utils.ts';\nexport * from './view-common.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
package/monodriver.cjs
CHANGED
|
@@ -37,10 +37,7 @@ const importError = (libName) => {
|
|
|
37
37
|
);
|
|
38
38
|
};
|
|
39
39
|
const drizzle = async (params) => {
|
|
40
|
-
const { client, connection } = params;
|
|
41
|
-
const drizzleConfig = params;
|
|
42
|
-
delete drizzleConfig.client;
|
|
43
|
-
delete drizzleConfig.connection;
|
|
40
|
+
const { client, connection, ...drizzleConfig } = params;
|
|
44
41
|
switch (client) {
|
|
45
42
|
case "node-postgres": {
|
|
46
43
|
const { Pool } = await import("pg").catch(() => importError("pg"));
|
|
@@ -58,16 +55,24 @@ const drizzle = async (params) => {
|
|
|
58
55
|
}
|
|
59
56
|
case "better-sqlite3": {
|
|
60
57
|
const { default: Client } = await import("better-sqlite3").catch(() => importError("better-sqlite3"));
|
|
61
|
-
const { filename, options } = connection;
|
|
62
58
|
const { drizzle: drizzle2 } = await import("./better-sqlite3");
|
|
63
|
-
|
|
59
|
+
if (typeof connection === "object") {
|
|
60
|
+
const { filename, options } = connection;
|
|
61
|
+
const instance2 = new Client(filename, options);
|
|
62
|
+
return drizzle2(instance2, drizzleConfig);
|
|
63
|
+
}
|
|
64
|
+
const instance = new Client(connection);
|
|
64
65
|
return drizzle2(instance, drizzleConfig);
|
|
65
66
|
}
|
|
66
|
-
case "bun
|
|
67
|
+
case "bun:sqlite": {
|
|
67
68
|
const { Database: Client } = await import("bun:sqlite").catch(() => importError("bun:sqlite"));
|
|
68
|
-
const { filename, options } = connection;
|
|
69
69
|
const { drizzle: drizzle2 } = await import("./bun-sqlite");
|
|
70
|
-
|
|
70
|
+
if (typeof connection === "object") {
|
|
71
|
+
const { filename, options } = connection;
|
|
72
|
+
const instance2 = new Client(filename, options);
|
|
73
|
+
return drizzle2(instance2, drizzleConfig);
|
|
74
|
+
}
|
|
75
|
+
const instance = new Client(connection);
|
|
71
76
|
return drizzle2(instance, drizzleConfig);
|
|
72
77
|
}
|
|
73
78
|
case "d1": {
|
package/monodriver.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/monodriver.ts"],"sourcesContent":["/* eslint-disable import/extensions */\nimport type { RDSDataClientConfig as RDSConfig } from '@aws-sdk/client-rds-data';\nimport type { Config as LibsqlConfig } from '@libsql/client';\nimport type {\n\tHTTPTransactionOptions as NeonHttpConfig,\n\tPoolConfig as NeonServerlessConfig,\n} from '@neondatabase/serverless';\nimport type { Config as PlanetscaleConfig } from '@planetscale/database';\nimport type { Config as TiDBServerlessConfig } from '@tidbcloud/serverless';\nimport type { VercelPool } from '@vercel/postgres';\nimport type { Options as BetterSQLite3Options } from 'better-sqlite3';\nimport type { PoolOptions as Mysql2Config } from 'mysql2';\nimport type { PoolConfig as NodePGPoolConfig } from 'pg';\nimport type { Options as PostgresJSOptions, PostgresType as PostgresJSPostgresType } from 'postgres';\nimport type { AwsDataApiPgDatabase, DrizzleAwsDataApiPgConfig } 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 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 { 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 { 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\tfilename?: string;\n\toptions?: BunSqliteDatabaseOptions;\n};\n\ntype BetterSQLite3DatabaseConfig = {\n\tfilename?: string | Buffer;\n\toptions?: BetterSQLite3Options;\n};\n\ntype MonodriverNeonHttpConfig = {\n\tconnectionString: string;\n\toptions?: NeonHttpConfig<boolean, boolean>;\n};\n\ntype ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {\n\t'node-postgres': NodePgDatabase<TSchema>;\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\td1: DrizzleD1Database<TSchema>;\n\t'bun-sqlite': BunSQLiteDatabase<TSchema>;\n\t'better-sqlite3': BetterSQLite3Database<TSchema>;\n};\n\ntype InitializerParams<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> =\n\t| ({\n\t\tclient: 'node-postgres';\n\t\tconnection: NodePGPoolConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'postgres-js';\n\t\tconnection: PostgresJSOptions<Record<string, PostgresJSPostgresType>>;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'neon-serverless';\n\t\tconnection: NeonServerlessConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'neon-http';\n\t\tconnection: MonodriverNeonHttpConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'vercel-postgres';\n\t\tconnection: VercelPool;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'aws-data-api-pg';\n\t\tconnection: RDSConfig;\n\t} & DrizzleAwsDataApiPgConfig<TSchema>)\n\t| ({\n\t\tclient: 'planetscale';\n\t\tconnection: PlanetscaleConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'mysql2';\n\t\tconnection: Mysql2Config;\n\t} & MySql2DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'tidb-serverless';\n\t\tconnection: TiDBServerlessConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'libsql';\n\t\tconnection: LibsqlConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'd1';\n\t\tconnection: D1Database;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'bun-sqlite';\n\t\tconnection: BunSqliteDatabaseConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'better-sqlite3';\n\t\tconnection: BetterSQLite3DatabaseConfig;\n\t} & DrizzleConfig<TSchema>);\n\ntype DetermineClient<\n\tTParams extends InitializerParams<any>,\n> = ClientDrizzleInstanceMap<TParams['schema']>[TParams['client']];\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\nexport const drizzle = async <\n\tTSchema extends Record<string, any>,\n\tTParams extends InitializerParams<TSchema>,\n>(params: TParams): Promise<DetermineClient<TParams>> => {\n\tconst { client, connection } = params;\n\tconst drizzleConfig = params as DrizzleConfig;\n\tdelete (<any> drizzleConfig).client;\n\tdelete (<any> drizzleConfig).connection;\n\n\tswitch (client) {\n\t\tcase 'node-postgres': {\n\t\t\tconst { Pool } = await import('pg').catch(() => importError('pg'));\n\t\t\tconst { drizzle } = await import('./node-postgres');\n\t\t\tconst instance = new Pool(connection as NodePGPoolConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'aws-data-api-pg': {\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\t\t\tconst instance = new RDSDataClient(connection);\n\n\t\t\treturn drizzle(instance, drizzleConfig as any as DrizzleAwsDataApiPgConfig) as any;\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 { filename, options } = connection as BetterSQLite3DatabaseConfig;\n\t\t\tconst { drizzle } = await import('./better-sqlite3');\n\t\t\tconst instance = new Client(filename, options);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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 { filename, options } = connection as BunSqliteDatabaseConfig;\n\t\t\tconst { drizzle } = await import('./bun-sqlite');\n\t\t\tconst instance = new Client(filename, options);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'd1': {\n\t\t\tconst { drizzle } = await import('./d1');\n\t\t\treturn drizzle(connection as D1Database, drizzleConfig) as any;\n\t\t}\n\t\tcase 'libsql': {\n\t\t\tconst { createClient } = await import('@libsql/client').catch(() => importError('@libsql/client'));\n\t\t\tconst { drizzle } = await import('./libsql');\n\t\t\tconst instance = createClient(connection as LibsqlConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'mysql2': {\n\t\t\tconst { createConnection } = await import('mysql2/promise').catch(() => importError('mysql2/promise'));\n\t\t\tconst instance = await createConnection(connection as Mysql2Config);\n\t\t\tconst { drizzle } = await import('./mysql2');\n\n\t\t\treturn drizzle(instance, drizzleConfig as MySql2DrizzleConfig) as any;\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 { connectionString, options } = connection as MonodriverNeonHttpConfig;\n\t\t\tconst { drizzle } = await import('./neon-http');\n\t\t\tconst instance = neon(connectionString, options);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'neon-serverless': {\n\t\t\tconst { Pool } = await import('@neondatabase/serverless').catch(() => importError('@neondatabase/serverless'));\n\t\t\tconst { drizzle } = await import('./neon-serverless');\n\t\t\tconst instance = new Pool(connection as NeonServerlessConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = new Client(\n\t\t\t\tconnection as PlanetscaleConfig,\n\t\t\t);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = client(connection as PostgresJSOptions<Record<string, PostgresJSPostgresType>>);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = connect(connection as TiDBServerlessConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'vercel-postgres': {\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\treturn drizzle(sql, drizzleConfig) as any;\n\t\t}\n\t}\n};\n"],"mappings":"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","names":["drizzle","client"]}
|
|
1
|
+
{"version":3,"sources":["../src/monodriver.ts"],"sourcesContent":["/* eslint-disable import/extensions */\nimport type { RDSDataClientConfig as RDSConfig } from '@aws-sdk/client-rds-data';\nimport type { Config as LibsqlConfig } from '@libsql/client';\nimport type {\n\tHTTPTransactionOptions as NeonHttpConfig,\n\tPoolConfig as NeonServerlessConfig,\n} from '@neondatabase/serverless';\nimport type { Config as PlanetscaleConfig } from '@planetscale/database';\nimport type { Config as TiDBServerlessConfig } from '@tidbcloud/serverless';\nimport type { VercelPool } from '@vercel/postgres';\nimport type { Options as BetterSQLite3Options } from 'better-sqlite3';\nimport type { PoolOptions as Mysql2Config } from 'mysql2';\nimport type { PoolConfig as NodePGPoolConfig } from 'pg';\nimport type { Options as PostgresJSOptions, PostgresType as PostgresJSPostgresType } from 'postgres';\nimport type { AwsDataApiPgDatabase, DrizzleAwsDataApiPgConfig } 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 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 { 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 { 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?: string;\n\t\toptions?: BunSqliteDatabaseOptions;\n\t}\n\t| string\n\t| undefined;\n\ntype BetterSQLite3DatabaseConfig =\n\t| {\n\t\tfilename?: string | Buffer;\n\t\toptions?: BetterSQLite3Options;\n\t}\n\t| string\n\t| undefined;\n\ntype MonodriverNeonHttpConfig = {\n\tconnectionString: string;\n\toptions?: NeonHttpConfig<boolean, boolean>;\n};\n\ntype ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {\n\t'node-postgres': NodePgDatabase<TSchema>;\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\td1: DrizzleD1Database<TSchema>;\n\t'bun:sqlite': BunSQLiteDatabase<TSchema>;\n\t'better-sqlite3': BetterSQLite3Database<TSchema>;\n};\n\ntype InitializerParams<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> =\n\t| ({\n\t\tclient: 'node-postgres';\n\t\tconnection: NodePGPoolConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'postgres-js';\n\t\tconnection: PostgresJSOptions<Record<string, PostgresJSPostgresType>>;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'neon-serverless';\n\t\tconnection: NeonServerlessConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'neon-http';\n\t\tconnection: MonodriverNeonHttpConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'vercel-postgres';\n\t\tconnection: VercelPool;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'aws-data-api-pg';\n\t\tconnection: RDSConfig;\n\t} & DrizzleAwsDataApiPgConfig<TSchema>)\n\t| ({\n\t\tclient: 'planetscale';\n\t\tconnection: PlanetscaleConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'mysql2';\n\t\tconnection: Mysql2Config;\n\t} & MySql2DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'tidb-serverless';\n\t\tconnection: TiDBServerlessConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'libsql';\n\t\tconnection: LibsqlConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'd1';\n\t\tconnection: D1Database;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'bun:sqlite';\n\t\tconnection: BunSqliteDatabaseConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'better-sqlite3';\n\t\tconnection: BetterSQLite3DatabaseConfig;\n\t} & DrizzleConfig<TSchema>);\n\ntype DetermineClient<\n\tTParams extends InitializerParams<any>,\n> = ClientDrizzleInstanceMap<\n\tTParams['schema'] extends Record<string, unknown> ? TParams['schema'] : Record<string, never>\n>[TParams['client']];\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\nexport const drizzle = async <\n\tTSchema extends Record<string, any>,\n\tTParams extends InitializerParams<TSchema>,\n>(params: TParams): Promise<DetermineClient<TParams>> => {\n\tconst { client, connection, ...drizzleConfig } = params;\n\n\tswitch (client) {\n\t\tcase 'node-postgres': {\n\t\t\tconst { Pool } = await import('pg').catch(() => importError('pg'));\n\t\t\tconst { drizzle } = await import('./node-postgres');\n\t\t\tconst instance = new Pool(connection as NodePGPoolConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'aws-data-api-pg': {\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\t\t\tconst instance = new RDSDataClient(connection);\n\n\t\t\treturn drizzle(instance, drizzleConfig as any as DrizzleAwsDataApiPgConfig) as any;\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 connection === 'object') {\n\t\t\t\tconst { filename, options } = connection as Exclude<BetterSQLite3DatabaseConfig, string | undefined>;\n\n\t\t\t\tconst instance = new Client(filename, options);\n\n\t\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t\t}\n\n\t\t\tconst instance = new Client(connection);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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 connection === 'object') {\n\t\t\t\tconst { filename, options } = connection as Exclude<BunSqliteDatabaseConfig, string | undefined>;\n\n\t\t\t\tconst instance = new Client(filename, options);\n\n\t\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t\t}\n\n\t\t\tconst instance = new Client(connection);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'd1': {\n\t\t\tconst { drizzle } = await import('./d1');\n\t\t\treturn drizzle(connection as D1Database, drizzleConfig) as any;\n\t\t}\n\t\tcase 'libsql': {\n\t\t\tconst { createClient } = await import('@libsql/client').catch(() => importError('@libsql/client'));\n\t\t\tconst { drizzle } = await import('./libsql');\n\t\t\tconst instance = createClient(connection as LibsqlConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'mysql2': {\n\t\t\tconst { createConnection } = await import('mysql2/promise').catch(() => importError('mysql2/promise'));\n\t\t\tconst instance = await createConnection(connection as Mysql2Config);\n\t\t\tconst { drizzle } = await import('./mysql2');\n\n\t\t\treturn drizzle(instance, drizzleConfig as MySql2DrizzleConfig) as any;\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 { connectionString, options } = connection as MonodriverNeonHttpConfig;\n\t\t\tconst { drizzle } = await import('./neon-http');\n\t\t\tconst instance = neon(connectionString, options);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'neon-serverless': {\n\t\t\tconst { Pool } = await import('@neondatabase/serverless').catch(() => importError('@neondatabase/serverless'));\n\t\t\tconst { drizzle } = await import('./neon-serverless');\n\t\t\tconst instance = new Pool(connection as NeonServerlessConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = new Client(\n\t\t\t\tconnection as PlanetscaleConfig,\n\t\t\t);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = client(connection as PostgresJSOptions<Record<string, PostgresJSPostgresType>>);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = connect(connection as TiDBServerlessConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'vercel-postgres': {\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\treturn drizzle(sql, drizzleConfig) as any;\n\t\t}\n\t}\n};\n"],"mappings":"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","names":["drizzle","instance","client"]}
|
package/monodriver.d.cts
CHANGED
|
@@ -48,11 +48,11 @@ type BunSqliteDatabaseOptions = number | {
|
|
|
48
48
|
type BunSqliteDatabaseConfig = {
|
|
49
49
|
filename?: string;
|
|
50
50
|
options?: BunSqliteDatabaseOptions;
|
|
51
|
-
};
|
|
51
|
+
} | string | undefined;
|
|
52
52
|
type BetterSQLite3DatabaseConfig = {
|
|
53
53
|
filename?: string | Buffer;
|
|
54
54
|
options?: BetterSQLite3Options;
|
|
55
|
-
};
|
|
55
|
+
} | string | undefined;
|
|
56
56
|
type MonodriverNeonHttpConfig = {
|
|
57
57
|
connectionString: string;
|
|
58
58
|
options?: NeonHttpConfig<boolean, boolean>;
|
|
@@ -69,7 +69,7 @@ type ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {
|
|
|
69
69
|
'tidb-serverless': TiDBServerlessDatabase<TSchema>;
|
|
70
70
|
libsql: LibSQLDatabase<TSchema>;
|
|
71
71
|
d1: DrizzleD1Database<TSchema>;
|
|
72
|
-
'bun
|
|
72
|
+
'bun:sqlite': BunSQLiteDatabase<TSchema>;
|
|
73
73
|
'better-sqlite3': BetterSQLite3Database<TSchema>;
|
|
74
74
|
};
|
|
75
75
|
type InitializerParams<TSchema extends Record<string, unknown> = Record<string, never>> = ({
|
|
@@ -106,12 +106,12 @@ type InitializerParams<TSchema extends Record<string, unknown> = Record<string,
|
|
|
106
106
|
client: 'd1';
|
|
107
107
|
connection: D1Database;
|
|
108
108
|
} & DrizzleConfig<TSchema>) | ({
|
|
109
|
-
client: 'bun
|
|
109
|
+
client: 'bun:sqlite';
|
|
110
110
|
connection: BunSqliteDatabaseConfig;
|
|
111
111
|
} & DrizzleConfig<TSchema>) | ({
|
|
112
112
|
client: 'better-sqlite3';
|
|
113
113
|
connection: BetterSQLite3DatabaseConfig;
|
|
114
114
|
} & DrizzleConfig<TSchema>);
|
|
115
|
-
type DetermineClient<TParams extends InitializerParams<any>> = ClientDrizzleInstanceMap<TParams['schema']>[TParams['client']];
|
|
115
|
+
type DetermineClient<TParams extends InitializerParams<any>> = ClientDrizzleInstanceMap<TParams['schema'] extends Record<string, unknown> ? TParams['schema'] : Record<string, never>>[TParams['client']];
|
|
116
116
|
export declare const drizzle: <TSchema extends Record<string, any>, TParams extends InitializerParams<TSchema>>(params: TParams) => Promise<DetermineClient<TParams>>;
|
|
117
117
|
export {};
|
package/monodriver.d.ts
CHANGED
|
@@ -48,11 +48,11 @@ type BunSqliteDatabaseOptions = number | {
|
|
|
48
48
|
type BunSqliteDatabaseConfig = {
|
|
49
49
|
filename?: string;
|
|
50
50
|
options?: BunSqliteDatabaseOptions;
|
|
51
|
-
};
|
|
51
|
+
} | string | undefined;
|
|
52
52
|
type BetterSQLite3DatabaseConfig = {
|
|
53
53
|
filename?: string | Buffer;
|
|
54
54
|
options?: BetterSQLite3Options;
|
|
55
|
-
};
|
|
55
|
+
} | string | undefined;
|
|
56
56
|
type MonodriverNeonHttpConfig = {
|
|
57
57
|
connectionString: string;
|
|
58
58
|
options?: NeonHttpConfig<boolean, boolean>;
|
|
@@ -69,7 +69,7 @@ type ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {
|
|
|
69
69
|
'tidb-serverless': TiDBServerlessDatabase<TSchema>;
|
|
70
70
|
libsql: LibSQLDatabase<TSchema>;
|
|
71
71
|
d1: DrizzleD1Database<TSchema>;
|
|
72
|
-
'bun
|
|
72
|
+
'bun:sqlite': BunSQLiteDatabase<TSchema>;
|
|
73
73
|
'better-sqlite3': BetterSQLite3Database<TSchema>;
|
|
74
74
|
};
|
|
75
75
|
type InitializerParams<TSchema extends Record<string, unknown> = Record<string, never>> = ({
|
|
@@ -106,12 +106,12 @@ type InitializerParams<TSchema extends Record<string, unknown> = Record<string,
|
|
|
106
106
|
client: 'd1';
|
|
107
107
|
connection: D1Database;
|
|
108
108
|
} & DrizzleConfig<TSchema>) | ({
|
|
109
|
-
client: 'bun
|
|
109
|
+
client: 'bun:sqlite';
|
|
110
110
|
connection: BunSqliteDatabaseConfig;
|
|
111
111
|
} & DrizzleConfig<TSchema>) | ({
|
|
112
112
|
client: 'better-sqlite3';
|
|
113
113
|
connection: BetterSQLite3DatabaseConfig;
|
|
114
114
|
} & DrizzleConfig<TSchema>);
|
|
115
|
-
type DetermineClient<TParams extends InitializerParams<any>> = ClientDrizzleInstanceMap<TParams['schema']>[TParams['client']];
|
|
115
|
+
type DetermineClient<TParams extends InitializerParams<any>> = ClientDrizzleInstanceMap<TParams['schema'] extends Record<string, unknown> ? TParams['schema'] : Record<string, never>>[TParams['client']];
|
|
116
116
|
export declare const drizzle: <TSchema extends Record<string, any>, TParams extends InitializerParams<TSchema>>(params: TParams) => Promise<DetermineClient<TParams>>;
|
|
117
117
|
export {};
|
package/monodriver.js
CHANGED
|
@@ -4,10 +4,7 @@ const importError = (libName) => {
|
|
|
4
4
|
);
|
|
5
5
|
};
|
|
6
6
|
const drizzle = async (params) => {
|
|
7
|
-
const { client, connection } = params;
|
|
8
|
-
const drizzleConfig = params;
|
|
9
|
-
delete drizzleConfig.client;
|
|
10
|
-
delete drizzleConfig.connection;
|
|
7
|
+
const { client, connection, ...drizzleConfig } = params;
|
|
11
8
|
switch (client) {
|
|
12
9
|
case "node-postgres": {
|
|
13
10
|
const { Pool } = await import("pg").catch(() => importError("pg"));
|
|
@@ -25,16 +22,24 @@ const drizzle = async (params) => {
|
|
|
25
22
|
}
|
|
26
23
|
case "better-sqlite3": {
|
|
27
24
|
const { default: Client } = await import("better-sqlite3").catch(() => importError("better-sqlite3"));
|
|
28
|
-
const { filename, options } = connection;
|
|
29
25
|
const { drizzle: drizzle2 } = await import("./better-sqlite3");
|
|
30
|
-
|
|
26
|
+
if (typeof connection === "object") {
|
|
27
|
+
const { filename, options } = connection;
|
|
28
|
+
const instance2 = new Client(filename, options);
|
|
29
|
+
return drizzle2(instance2, drizzleConfig);
|
|
30
|
+
}
|
|
31
|
+
const instance = new Client(connection);
|
|
31
32
|
return drizzle2(instance, drizzleConfig);
|
|
32
33
|
}
|
|
33
|
-
case "bun
|
|
34
|
+
case "bun:sqlite": {
|
|
34
35
|
const { Database: Client } = await import("bun:sqlite").catch(() => importError("bun:sqlite"));
|
|
35
|
-
const { filename, options } = connection;
|
|
36
36
|
const { drizzle: drizzle2 } = await import("./bun-sqlite");
|
|
37
|
-
|
|
37
|
+
if (typeof connection === "object") {
|
|
38
|
+
const { filename, options } = connection;
|
|
39
|
+
const instance2 = new Client(filename, options);
|
|
40
|
+
return drizzle2(instance2, drizzleConfig);
|
|
41
|
+
}
|
|
42
|
+
const instance = new Client(connection);
|
|
38
43
|
return drizzle2(instance, drizzleConfig);
|
|
39
44
|
}
|
|
40
45
|
case "d1": {
|
package/monodriver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/monodriver.ts"],"sourcesContent":["/* eslint-disable import/extensions */\nimport type { RDSDataClientConfig as RDSConfig } from '@aws-sdk/client-rds-data';\nimport type { Config as LibsqlConfig } from '@libsql/client';\nimport type {\n\tHTTPTransactionOptions as NeonHttpConfig,\n\tPoolConfig as NeonServerlessConfig,\n} from '@neondatabase/serverless';\nimport type { Config as PlanetscaleConfig } from '@planetscale/database';\nimport type { Config as TiDBServerlessConfig } from '@tidbcloud/serverless';\nimport type { VercelPool } from '@vercel/postgres';\nimport type { Options as BetterSQLite3Options } from 'better-sqlite3';\nimport type { PoolOptions as Mysql2Config } from 'mysql2';\nimport type { PoolConfig as NodePGPoolConfig } from 'pg';\nimport type { Options as PostgresJSOptions, PostgresType as PostgresJSPostgresType } from 'postgres';\nimport type { AwsDataApiPgDatabase, DrizzleAwsDataApiPgConfig } 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 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 { 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 { 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\tfilename?: string;\n\toptions?: BunSqliteDatabaseOptions;\n};\n\ntype BetterSQLite3DatabaseConfig = {\n\tfilename?: string | Buffer;\n\toptions?: BetterSQLite3Options;\n};\n\ntype MonodriverNeonHttpConfig = {\n\tconnectionString: string;\n\toptions?: NeonHttpConfig<boolean, boolean>;\n};\n\ntype ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {\n\t'node-postgres': NodePgDatabase<TSchema>;\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\td1: DrizzleD1Database<TSchema>;\n\t'bun-sqlite': BunSQLiteDatabase<TSchema>;\n\t'better-sqlite3': BetterSQLite3Database<TSchema>;\n};\n\ntype InitializerParams<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> =\n\t| ({\n\t\tclient: 'node-postgres';\n\t\tconnection: NodePGPoolConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'postgres-js';\n\t\tconnection: PostgresJSOptions<Record<string, PostgresJSPostgresType>>;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'neon-serverless';\n\t\tconnection: NeonServerlessConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'neon-http';\n\t\tconnection: MonodriverNeonHttpConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'vercel-postgres';\n\t\tconnection: VercelPool;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'aws-data-api-pg';\n\t\tconnection: RDSConfig;\n\t} & DrizzleAwsDataApiPgConfig<TSchema>)\n\t| ({\n\t\tclient: 'planetscale';\n\t\tconnection: PlanetscaleConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'mysql2';\n\t\tconnection: Mysql2Config;\n\t} & MySql2DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'tidb-serverless';\n\t\tconnection: TiDBServerlessConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'libsql';\n\t\tconnection: LibsqlConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'd1';\n\t\tconnection: D1Database;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'bun-sqlite';\n\t\tconnection: BunSqliteDatabaseConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'better-sqlite3';\n\t\tconnection: BetterSQLite3DatabaseConfig;\n\t} & DrizzleConfig<TSchema>);\n\ntype DetermineClient<\n\tTParams extends InitializerParams<any>,\n> = ClientDrizzleInstanceMap<TParams['schema']>[TParams['client']];\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\nexport const drizzle = async <\n\tTSchema extends Record<string, any>,\n\tTParams extends InitializerParams<TSchema>,\n>(params: TParams): Promise<DetermineClient<TParams>> => {\n\tconst { client, connection } = params;\n\tconst drizzleConfig = params as DrizzleConfig;\n\tdelete (<any> drizzleConfig).client;\n\tdelete (<any> drizzleConfig).connection;\n\n\tswitch (client) {\n\t\tcase 'node-postgres': {\n\t\t\tconst { Pool } = await import('pg').catch(() => importError('pg'));\n\t\t\tconst { drizzle } = await import('./node-postgres');\n\t\t\tconst instance = new Pool(connection as NodePGPoolConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'aws-data-api-pg': {\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\t\t\tconst instance = new RDSDataClient(connection);\n\n\t\t\treturn drizzle(instance, drizzleConfig as any as DrizzleAwsDataApiPgConfig) as any;\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 { filename, options } = connection as BetterSQLite3DatabaseConfig;\n\t\t\tconst { drizzle } = await import('./better-sqlite3');\n\t\t\tconst instance = new Client(filename, options);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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 { filename, options } = connection as BunSqliteDatabaseConfig;\n\t\t\tconst { drizzle } = await import('./bun-sqlite');\n\t\t\tconst instance = new Client(filename, options);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'd1': {\n\t\t\tconst { drizzle } = await import('./d1');\n\t\t\treturn drizzle(connection as D1Database, drizzleConfig) as any;\n\t\t}\n\t\tcase 'libsql': {\n\t\t\tconst { createClient } = await import('@libsql/client').catch(() => importError('@libsql/client'));\n\t\t\tconst { drizzle } = await import('./libsql');\n\t\t\tconst instance = createClient(connection as LibsqlConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'mysql2': {\n\t\t\tconst { createConnection } = await import('mysql2/promise').catch(() => importError('mysql2/promise'));\n\t\t\tconst instance = await createConnection(connection as Mysql2Config);\n\t\t\tconst { drizzle } = await import('./mysql2');\n\n\t\t\treturn drizzle(instance, drizzleConfig as MySql2DrizzleConfig) as any;\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 { connectionString, options } = connection as MonodriverNeonHttpConfig;\n\t\t\tconst { drizzle } = await import('./neon-http');\n\t\t\tconst instance = neon(connectionString, options);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'neon-serverless': {\n\t\t\tconst { Pool } = await import('@neondatabase/serverless').catch(() => importError('@neondatabase/serverless'));\n\t\t\tconst { drizzle } = await import('./neon-serverless');\n\t\t\tconst instance = new Pool(connection as NeonServerlessConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = new Client(\n\t\t\t\tconnection as PlanetscaleConfig,\n\t\t\t);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = client(connection as PostgresJSOptions<Record<string, PostgresJSPostgresType>>);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = connect(connection as TiDBServerlessConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'vercel-postgres': {\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\treturn drizzle(sql, drizzleConfig) as any;\n\t\t}\n\t}\n};\n"],"mappings":"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","names":["drizzle","client"]}
|
|
1
|
+
{"version":3,"sources":["../src/monodriver.ts"],"sourcesContent":["/* eslint-disable import/extensions */\nimport type { RDSDataClientConfig as RDSConfig } from '@aws-sdk/client-rds-data';\nimport type { Config as LibsqlConfig } from '@libsql/client';\nimport type {\n\tHTTPTransactionOptions as NeonHttpConfig,\n\tPoolConfig as NeonServerlessConfig,\n} from '@neondatabase/serverless';\nimport type { Config as PlanetscaleConfig } from '@planetscale/database';\nimport type { Config as TiDBServerlessConfig } from '@tidbcloud/serverless';\nimport type { VercelPool } from '@vercel/postgres';\nimport type { Options as BetterSQLite3Options } from 'better-sqlite3';\nimport type { PoolOptions as Mysql2Config } from 'mysql2';\nimport type { PoolConfig as NodePGPoolConfig } from 'pg';\nimport type { Options as PostgresJSOptions, PostgresType as PostgresJSPostgresType } from 'postgres';\nimport type { AwsDataApiPgDatabase, DrizzleAwsDataApiPgConfig } 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 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 { 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 { 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?: string;\n\t\toptions?: BunSqliteDatabaseOptions;\n\t}\n\t| string\n\t| undefined;\n\ntype BetterSQLite3DatabaseConfig =\n\t| {\n\t\tfilename?: string | Buffer;\n\t\toptions?: BetterSQLite3Options;\n\t}\n\t| string\n\t| undefined;\n\ntype MonodriverNeonHttpConfig = {\n\tconnectionString: string;\n\toptions?: NeonHttpConfig<boolean, boolean>;\n};\n\ntype ClientDrizzleInstanceMap<TSchema extends Record<string, any>> = {\n\t'node-postgres': NodePgDatabase<TSchema>;\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\td1: DrizzleD1Database<TSchema>;\n\t'bun:sqlite': BunSQLiteDatabase<TSchema>;\n\t'better-sqlite3': BetterSQLite3Database<TSchema>;\n};\n\ntype InitializerParams<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> =\n\t| ({\n\t\tclient: 'node-postgres';\n\t\tconnection: NodePGPoolConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'postgres-js';\n\t\tconnection: PostgresJSOptions<Record<string, PostgresJSPostgresType>>;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'neon-serverless';\n\t\tconnection: NeonServerlessConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'neon-http';\n\t\tconnection: MonodriverNeonHttpConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'vercel-postgres';\n\t\tconnection: VercelPool;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'aws-data-api-pg';\n\t\tconnection: RDSConfig;\n\t} & DrizzleAwsDataApiPgConfig<TSchema>)\n\t| ({\n\t\tclient: 'planetscale';\n\t\tconnection: PlanetscaleConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'mysql2';\n\t\tconnection: Mysql2Config;\n\t} & MySql2DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'tidb-serverless';\n\t\tconnection: TiDBServerlessConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'libsql';\n\t\tconnection: LibsqlConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'd1';\n\t\tconnection: D1Database;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'bun:sqlite';\n\t\tconnection: BunSqliteDatabaseConfig;\n\t} & DrizzleConfig<TSchema>)\n\t| ({\n\t\tclient: 'better-sqlite3';\n\t\tconnection: BetterSQLite3DatabaseConfig;\n\t} & DrizzleConfig<TSchema>);\n\ntype DetermineClient<\n\tTParams extends InitializerParams<any>,\n> = ClientDrizzleInstanceMap<\n\tTParams['schema'] extends Record<string, unknown> ? TParams['schema'] : Record<string, never>\n>[TParams['client']];\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\nexport const drizzle = async <\n\tTSchema extends Record<string, any>,\n\tTParams extends InitializerParams<TSchema>,\n>(params: TParams): Promise<DetermineClient<TParams>> => {\n\tconst { client, connection, ...drizzleConfig } = params;\n\n\tswitch (client) {\n\t\tcase 'node-postgres': {\n\t\t\tconst { Pool } = await import('pg').catch(() => importError('pg'));\n\t\t\tconst { drizzle } = await import('./node-postgres');\n\t\t\tconst instance = new Pool(connection as NodePGPoolConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'aws-data-api-pg': {\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\t\t\tconst instance = new RDSDataClient(connection);\n\n\t\t\treturn drizzle(instance, drizzleConfig as any as DrizzleAwsDataApiPgConfig) as any;\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 connection === 'object') {\n\t\t\t\tconst { filename, options } = connection as Exclude<BetterSQLite3DatabaseConfig, string | undefined>;\n\n\t\t\t\tconst instance = new Client(filename, options);\n\n\t\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t\t}\n\n\t\t\tconst instance = new Client(connection);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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 connection === 'object') {\n\t\t\t\tconst { filename, options } = connection as Exclude<BunSqliteDatabaseConfig, string | undefined>;\n\n\t\t\t\tconst instance = new Client(filename, options);\n\n\t\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t\t}\n\n\t\t\tconst instance = new Client(connection);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'd1': {\n\t\t\tconst { drizzle } = await import('./d1');\n\t\t\treturn drizzle(connection as D1Database, drizzleConfig) as any;\n\t\t}\n\t\tcase 'libsql': {\n\t\t\tconst { createClient } = await import('@libsql/client').catch(() => importError('@libsql/client'));\n\t\t\tconst { drizzle } = await import('./libsql');\n\t\t\tconst instance = createClient(connection as LibsqlConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'mysql2': {\n\t\t\tconst { createConnection } = await import('mysql2/promise').catch(() => importError('mysql2/promise'));\n\t\t\tconst instance = await createConnection(connection as Mysql2Config);\n\t\t\tconst { drizzle } = await import('./mysql2');\n\n\t\t\treturn drizzle(instance, drizzleConfig as MySql2DrizzleConfig) as any;\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 { connectionString, options } = connection as MonodriverNeonHttpConfig;\n\t\t\tconst { drizzle } = await import('./neon-http');\n\t\t\tconst instance = neon(connectionString, options);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'neon-serverless': {\n\t\t\tconst { Pool } = await import('@neondatabase/serverless').catch(() => importError('@neondatabase/serverless'));\n\t\t\tconst { drizzle } = await import('./neon-serverless');\n\t\t\tconst instance = new Pool(connection as NeonServerlessConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = new Client(\n\t\t\t\tconnection as PlanetscaleConfig,\n\t\t\t);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = client(connection as PostgresJSOptions<Record<string, PostgresJSPostgresType>>);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\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\t\t\tconst instance = connect(connection as TiDBServerlessConfig);\n\n\t\t\treturn drizzle(instance, drizzleConfig) as any;\n\t\t}\n\t\tcase 'vercel-postgres': {\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\treturn drizzle(sql, drizzleConfig) as any;\n\t\t}\n\t}\n};\n"],"mappings":"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","names":["drizzle","instance","client"]}
|
package/monomigrator.cjs
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
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
|
+
async function migrate(type, db, config, extraConfig) {
|
|
35
|
+
const rest = [db, config, extraConfig];
|
|
36
|
+
switch (type) {
|
|
37
|
+
case "aws-data-api-pg": {
|
|
38
|
+
const { migrate: migrate2 } = await import("./aws-data-api/pg/migrator");
|
|
39
|
+
return migrate2(rest[0], rest[1]);
|
|
40
|
+
}
|
|
41
|
+
case "better-sqlite3": {
|
|
42
|
+
const { migrate: migrate2 } = await import("./better-sqlite3/migrator");
|
|
43
|
+
return migrate2(rest[0], rest[1]);
|
|
44
|
+
}
|
|
45
|
+
case "bun:sqlite": {
|
|
46
|
+
const { migrate: migrate2 } = await import("./bun-sqlite/migrator");
|
|
47
|
+
return migrate2(rest[0], rest[1]);
|
|
48
|
+
}
|
|
49
|
+
case "d1": {
|
|
50
|
+
const { migrate: migrate2 } = await import("./d1/migrator");
|
|
51
|
+
return migrate2(rest[0], rest[1]);
|
|
52
|
+
}
|
|
53
|
+
case "expo-sqlite": {
|
|
54
|
+
const { migrate: migrate2 } = await import("./expo-sqlite/migrator");
|
|
55
|
+
return migrate2(rest[0], rest[1]);
|
|
56
|
+
}
|
|
57
|
+
case "libsql": {
|
|
58
|
+
const { migrate: migrate2 } = await import("./libsql/migrator");
|
|
59
|
+
return migrate2(rest[0], rest[1]);
|
|
60
|
+
}
|
|
61
|
+
case "mysql-proxy": {
|
|
62
|
+
const { migrate: migrate2 } = await import("./mysql-proxy/migrator");
|
|
63
|
+
return migrate2(rest[0], rest[1], rest[2]);
|
|
64
|
+
}
|
|
65
|
+
case "mysql2": {
|
|
66
|
+
const { migrate: migrate2 } = await import("./mysql2/migrator");
|
|
67
|
+
return migrate2(rest[0], rest[1]);
|
|
68
|
+
}
|
|
69
|
+
case "neon-http": {
|
|
70
|
+
const { migrate: migrate2 } = await import("./neon-http/migrator");
|
|
71
|
+
return migrate2(rest[0], rest[1]);
|
|
72
|
+
}
|
|
73
|
+
case "neon-serverless": {
|
|
74
|
+
const { migrate: migrate2 } = await import("./neon-serverless/migrator");
|
|
75
|
+
return migrate2(rest[0], rest[1]);
|
|
76
|
+
}
|
|
77
|
+
case "node-postgres": {
|
|
78
|
+
const { migrate: migrate2 } = await import("./node-postgres/migrator");
|
|
79
|
+
return migrate2(rest[0], rest[1]);
|
|
80
|
+
}
|
|
81
|
+
case "op-sqlite": {
|
|
82
|
+
const { migrate: migrate2 } = await import("./op-sqlite/migrator");
|
|
83
|
+
return migrate2(rest[0], rest[1]);
|
|
84
|
+
}
|
|
85
|
+
case "pg-proxy": {
|
|
86
|
+
const { migrate: migrate2 } = await import("./pg-proxy/migrator");
|
|
87
|
+
return migrate2(rest[0], rest[1], rest[2]);
|
|
88
|
+
}
|
|
89
|
+
case "pglite": {
|
|
90
|
+
const { migrate: migrate2 } = await import("./pglite/migrator");
|
|
91
|
+
return migrate2(rest[0], rest[1]);
|
|
92
|
+
}
|
|
93
|
+
case "planetscale": {
|
|
94
|
+
const { migrate: migrate2 } = await import("./planetscale-serverless/migrator");
|
|
95
|
+
return migrate2(rest[0], rest[1]);
|
|
96
|
+
}
|
|
97
|
+
case "postgres-js": {
|
|
98
|
+
const { migrate: migrate2 } = await import("./postgres-js/migrator");
|
|
99
|
+
return migrate2(rest[0], rest[1]);
|
|
100
|
+
}
|
|
101
|
+
case "sqlite-proxy": {
|
|
102
|
+
const { migrate: migrate2 } = await import("./sqlite-proxy/migrator");
|
|
103
|
+
return migrate2(rest[0], rest[1], rest[2]);
|
|
104
|
+
}
|
|
105
|
+
case "tidb-serverless": {
|
|
106
|
+
const { migrate: migrate2 } = await import("./tidb-serverless/migrator");
|
|
107
|
+
return migrate2(rest[0], rest[1]);
|
|
108
|
+
}
|
|
109
|
+
case "vercel-postgres": {
|
|
110
|
+
const { migrate: migrate2 } = await import("./vercel-postgres/migrator");
|
|
111
|
+
return migrate2(rest[0], rest[1]);
|
|
112
|
+
}
|
|
113
|
+
case "xata-http": {
|
|
114
|
+
const { migrate: migrate2 } = await import("./xata-http/migrator");
|
|
115
|
+
return migrate2(rest[0], rest[1]);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
120
|
+
0 && (module.exports = {
|
|
121
|
+
migrate
|
|
122
|
+
});
|
|
123
|
+
//# 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 type { ExpoSQLiteDatabase } from './expo-sqlite/index.ts';\nimport type { LibSQLDatabase } from './libsql/index.ts';\nimport type { MigrationConfig } from './migrator.ts';\nimport type { MySqlRemoteDatabase } from './mysql-proxy/index.ts';\nimport type { ProxyMigrator as MySqlProxyMigrator } from './mysql-proxy/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 { OPSQLiteDatabase } from './op-sqlite/index.ts';\nimport type { PgRemoteDatabase } from './pg-proxy/index.ts';\nimport type { ProxyMigrator as PgProxyMigrator } from './pg-proxy/migrator.ts';\nimport type { PgliteDatabase } from './pglite/index.ts';\nimport type { PlanetScaleDatabase } from './planetscale-serverless/index.ts';\nimport type { ProxyMigrator as SQLiteProxyMigrator } from './sqlite-proxy/migrator.ts';\nimport type { VercelPgDatabase } from './vercel-postgres/index.ts';\nimport type { XataHttpDatabase } from './xata-http/index.ts';\nimport type { MigrationConfig as XataHttpMigrationConfig } from './xata-http/migrator.ts';\n\ntype OPSQLiteMigrationConfig = {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n};\n\ntype ExpoSQLiteMigrationConfig = {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n};\n\ntype DatabaseType =\n\t| 'aws-data-api-pg'\n\t| 'better-sqlite3'\n\t| 'bun:sqlite'\n\t| 'd1'\n\t| 'expo-sqlite'\n\t| 'libsql'\n\t| 'mysql-proxy'\n\t| 'mysql2'\n\t| 'neon-http'\n\t| 'neon-serverless'\n\t| 'node-postgres'\n\t| 'op-sqlite'\n\t| 'pg-proxy'\n\t| 'pglite'\n\t| 'planetscale'\n\t| 'postgres-js'\n\t| 'sqlite-proxy'\n\t| 'tidb-serverless'\n\t| 'vercel-postgres'\n\t| 'xata-http';\n\nexport async function migrate(\n\ttype: 'aws-data-api-pg',\n\tdb: AwsDataApiPgDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'better-sqlite3',\n\tdb: BetterSQLite3Database<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'bun:sqlite',\n\tdb: BunSQLiteDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(type: 'd1', db: DrizzleD1Database<any>, config: string | MigrationConfig): Promise<void>;\nexport async function migrate(\n\ttype: 'expo-sqlite',\n\tdb: ExpoSQLiteDatabase<any>,\n\tconfig: ExpoSQLiteMigrationConfig,\n): Promise<void>;\nexport async function migrate(type: 'libsql', db: LibSQLDatabase<any>, config: MigrationConfig): Promise<void>;\nexport async function migrate(\n\ttype: 'mysql-proxy',\n\tdb: MySqlRemoteDatabase<any>,\n\tcallback: MySqlProxyMigrator,\n\tconfig: MigrationConfig,\n): Promise<void>;\nexport async function migrate(type: 'mysql2', db: MySql2Database<any>, config: MigrationConfig): Promise<void>;\nexport async function migrate(\n\ttype: 'neon-http',\n\tdb: NeonHttpDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'neon-serverless',\n\tdb: NeonDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'node-postgres',\n\tdb: NodePgDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'op-sqlite',\n\tdb: OPSQLiteDatabase<any>,\n\tconfig: OPSQLiteMigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'pg-proxy',\n\tdb: PgRemoteDatabase<any>,\n\tcallback: PgProxyMigrator,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(type: 'pglite', db: PgliteDatabase<any>, config: string | MigrationConfig): Promise<void>;\nexport async function migrate(\n\ttype: 'planetscale',\n\tdb: PlanetScaleDatabase<any>,\n\tconfig: MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'postgres-js',\n\tdb: PlanetScaleDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'sqlite-proxy',\n\tdb: PgRemoteDatabase<any>,\n\tcallback: SQLiteProxyMigrator,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'tidb-serverless',\n\tdb: PlanetScaleDatabase<any>,\n\tconfig: MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'vercel-postgres',\n\tdb: VercelPgDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'xata-http',\n\tdb: XataHttpDatabase<any>,\n\tconfig: string | XataHttpMigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: DatabaseType,\n\tdb: any,\n\tconfig:\n\t\t| string\n\t\t| MigrationConfig\n\t\t| ExpoSQLiteMigrationConfig\n\t\t| OPSQLiteMigrationConfig\n\t\t| XataHttpMigrationConfig\n\t\t| PgProxyMigrator\n\t\t| MySqlProxyMigrator\n\t\t| SQLiteProxyMigrator,\n\textraConfig?: string | MigrationConfig | undefined,\n) {\n\tconst rest = [db, config, extraConfig];\n\n\tswitch (type) {\n\t\tcase 'aws-data-api-pg': {\n\t\t\tconst { migrate } = await import('./aws-data-api/pg/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'better-sqlite3': {\n\t\t\tconst { migrate } = await import('./better-sqlite3/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'bun:sqlite': {\n\t\t\tconst { migrate } = await import('./bun-sqlite/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'd1': {\n\t\t\tconst { migrate } = await import('./d1/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'expo-sqlite': {\n\t\t\tconst { migrate } = await import('./expo-sqlite/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as ExpoSQLiteMigrationConfig);\n\t\t}\n\t\tcase 'libsql': {\n\t\t\tconst { migrate } = await import('./libsql/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MigrationConfig);\n\t\t}\n\t\tcase 'mysql-proxy': {\n\t\t\tconst { migrate } = await import('./mysql-proxy/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MySqlProxyMigrator, rest[2] as MigrationConfig);\n\t\t}\n\t\tcase 'mysql2': {\n\t\t\tconst { migrate } = await import('./mysql2/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MigrationConfig);\n\t\t}\n\t\tcase 'neon-http': {\n\t\t\tconst { migrate } = await import('./neon-http/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'neon-serverless': {\n\t\t\tconst { migrate } = await import('./neon-serverless/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'node-postgres': {\n\t\t\tconst { migrate } = await import('./node-postgres/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'op-sqlite': {\n\t\t\tconst { migrate } = await import('./op-sqlite/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as OPSQLiteMigrationConfig);\n\t\t}\n\t\tcase 'pg-proxy': {\n\t\t\tconst { migrate } = await import('./pg-proxy/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as PgProxyMigrator, rest[2] as string | MigrationConfig);\n\t\t}\n\t\tcase 'pglite': {\n\t\t\tconst { migrate } = await import('./pglite/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'planetscale': {\n\t\t\tconst { migrate } = await import('./planetscale-serverless/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MigrationConfig);\n\t\t}\n\t\tcase 'postgres-js': {\n\t\t\tconst { migrate } = await import('./postgres-js/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'sqlite-proxy': {\n\t\t\tconst { migrate } = await import('./sqlite-proxy/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as SQLiteProxyMigrator, rest[2] as string | MigrationConfig);\n\t\t}\n\t\tcase 'tidb-serverless': {\n\t\t\tconst { migrate } = await import('./tidb-serverless/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MigrationConfig);\n\t\t}\n\t\tcase 'vercel-postgres': {\n\t\t\tconst { migrate } = await import('./vercel-postgres/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'xata-http': {\n\t\t\tconst { migrate } = await import('./xata-http/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t}\n}\n"],"mappings":"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","names":["migrate"]}
|
|
@@ -0,0 +1,65 @@
|
|
|
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 { ExpoSQLiteDatabase } from "./expo-sqlite/index.cjs";
|
|
6
|
+
import type { LibSQLDatabase } from "./libsql/index.cjs";
|
|
7
|
+
import type { MigrationConfig } from "./migrator.cjs";
|
|
8
|
+
import type { MySqlRemoteDatabase } from "./mysql-proxy/index.cjs";
|
|
9
|
+
import type { ProxyMigrator as MySqlProxyMigrator } from "./mysql-proxy/migrator.cjs";
|
|
10
|
+
import type { MySql2Database } from "./mysql2/index.cjs";
|
|
11
|
+
import type { NeonHttpDatabase } from "./neon-http/index.cjs";
|
|
12
|
+
import type { NeonDatabase } from "./neon-serverless/index.cjs";
|
|
13
|
+
import type { NodePgDatabase } from "./node-postgres/index.cjs";
|
|
14
|
+
import type { OPSQLiteDatabase } from "./op-sqlite/index.cjs";
|
|
15
|
+
import type { PgRemoteDatabase } from "./pg-proxy/index.cjs";
|
|
16
|
+
import type { ProxyMigrator as PgProxyMigrator } from "./pg-proxy/migrator.cjs";
|
|
17
|
+
import type { PgliteDatabase } from "./pglite/index.cjs";
|
|
18
|
+
import type { PlanetScaleDatabase } from "./planetscale-serverless/index.cjs";
|
|
19
|
+
import type { ProxyMigrator as SQLiteProxyMigrator } from "./sqlite-proxy/migrator.cjs";
|
|
20
|
+
import type { VercelPgDatabase } from "./vercel-postgres/index.cjs";
|
|
21
|
+
import type { XataHttpDatabase } from "./xata-http/index.cjs";
|
|
22
|
+
import type { MigrationConfig as XataHttpMigrationConfig } from "./xata-http/migrator.cjs";
|
|
23
|
+
type OPSQLiteMigrationConfig = {
|
|
24
|
+
journal: {
|
|
25
|
+
entries: {
|
|
26
|
+
idx: number;
|
|
27
|
+
when: number;
|
|
28
|
+
tag: string;
|
|
29
|
+
breakpoints: boolean;
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
32
|
+
migrations: Record<string, string>;
|
|
33
|
+
};
|
|
34
|
+
type ExpoSQLiteMigrationConfig = {
|
|
35
|
+
journal: {
|
|
36
|
+
entries: {
|
|
37
|
+
idx: number;
|
|
38
|
+
when: number;
|
|
39
|
+
tag: string;
|
|
40
|
+
breakpoints: boolean;
|
|
41
|
+
}[];
|
|
42
|
+
};
|
|
43
|
+
migrations: Record<string, string>;
|
|
44
|
+
};
|
|
45
|
+
export declare function migrate(type: 'aws-data-api-pg', db: AwsDataApiPgDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
46
|
+
export declare function migrate(type: 'better-sqlite3', db: BetterSQLite3Database<any>, config: string | MigrationConfig): Promise<void>;
|
|
47
|
+
export declare function migrate(type: 'bun:sqlite', db: BunSQLiteDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
48
|
+
export declare function migrate(type: 'd1', db: DrizzleD1Database<any>, config: string | MigrationConfig): Promise<void>;
|
|
49
|
+
export declare function migrate(type: 'expo-sqlite', db: ExpoSQLiteDatabase<any>, config: ExpoSQLiteMigrationConfig): Promise<void>;
|
|
50
|
+
export declare function migrate(type: 'libsql', db: LibSQLDatabase<any>, config: MigrationConfig): Promise<void>;
|
|
51
|
+
export declare function migrate(type: 'mysql-proxy', db: MySqlRemoteDatabase<any>, callback: MySqlProxyMigrator, config: MigrationConfig): Promise<void>;
|
|
52
|
+
export declare function migrate(type: 'mysql2', db: MySql2Database<any>, config: MigrationConfig): Promise<void>;
|
|
53
|
+
export declare function migrate(type: 'neon-http', db: NeonHttpDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
54
|
+
export declare function migrate(type: 'neon-serverless', db: NeonDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
55
|
+
export declare function migrate(type: 'node-postgres', db: NodePgDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
56
|
+
export declare function migrate(type: 'op-sqlite', db: OPSQLiteDatabase<any>, config: OPSQLiteMigrationConfig): Promise<void>;
|
|
57
|
+
export declare function migrate(type: 'pg-proxy', db: PgRemoteDatabase<any>, callback: PgProxyMigrator, config: string | MigrationConfig): Promise<void>;
|
|
58
|
+
export declare function migrate(type: 'pglite', db: PgliteDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
59
|
+
export declare function migrate(type: 'planetscale', db: PlanetScaleDatabase<any>, config: MigrationConfig): Promise<void>;
|
|
60
|
+
export declare function migrate(type: 'postgres-js', db: PlanetScaleDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
61
|
+
export declare function migrate(type: 'sqlite-proxy', db: PgRemoteDatabase<any>, callback: SQLiteProxyMigrator, config: string | MigrationConfig): Promise<void>;
|
|
62
|
+
export declare function migrate(type: 'tidb-serverless', db: PlanetScaleDatabase<any>, config: MigrationConfig): Promise<void>;
|
|
63
|
+
export declare function migrate(type: 'vercel-postgres', db: VercelPgDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
64
|
+
export declare function migrate(type: 'xata-http', db: XataHttpDatabase<any>, config: string | XataHttpMigrationConfig): Promise<void>;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
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 { ExpoSQLiteDatabase } from "./expo-sqlite/index.js";
|
|
6
|
+
import type { LibSQLDatabase } from "./libsql/index.js";
|
|
7
|
+
import type { MigrationConfig } from "./migrator.js";
|
|
8
|
+
import type { MySqlRemoteDatabase } from "./mysql-proxy/index.js";
|
|
9
|
+
import type { ProxyMigrator as MySqlProxyMigrator } from "./mysql-proxy/migrator.js";
|
|
10
|
+
import type { MySql2Database } from "./mysql2/index.js";
|
|
11
|
+
import type { NeonHttpDatabase } from "./neon-http/index.js";
|
|
12
|
+
import type { NeonDatabase } from "./neon-serverless/index.js";
|
|
13
|
+
import type { NodePgDatabase } from "./node-postgres/index.js";
|
|
14
|
+
import type { OPSQLiteDatabase } from "./op-sqlite/index.js";
|
|
15
|
+
import type { PgRemoteDatabase } from "./pg-proxy/index.js";
|
|
16
|
+
import type { ProxyMigrator as PgProxyMigrator } from "./pg-proxy/migrator.js";
|
|
17
|
+
import type { PgliteDatabase } from "./pglite/index.js";
|
|
18
|
+
import type { PlanetScaleDatabase } from "./planetscale-serverless/index.js";
|
|
19
|
+
import type { ProxyMigrator as SQLiteProxyMigrator } from "./sqlite-proxy/migrator.js";
|
|
20
|
+
import type { VercelPgDatabase } from "./vercel-postgres/index.js";
|
|
21
|
+
import type { XataHttpDatabase } from "./xata-http/index.js";
|
|
22
|
+
import type { MigrationConfig as XataHttpMigrationConfig } from "./xata-http/migrator.js";
|
|
23
|
+
type OPSQLiteMigrationConfig = {
|
|
24
|
+
journal: {
|
|
25
|
+
entries: {
|
|
26
|
+
idx: number;
|
|
27
|
+
when: number;
|
|
28
|
+
tag: string;
|
|
29
|
+
breakpoints: boolean;
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
32
|
+
migrations: Record<string, string>;
|
|
33
|
+
};
|
|
34
|
+
type ExpoSQLiteMigrationConfig = {
|
|
35
|
+
journal: {
|
|
36
|
+
entries: {
|
|
37
|
+
idx: number;
|
|
38
|
+
when: number;
|
|
39
|
+
tag: string;
|
|
40
|
+
breakpoints: boolean;
|
|
41
|
+
}[];
|
|
42
|
+
};
|
|
43
|
+
migrations: Record<string, string>;
|
|
44
|
+
};
|
|
45
|
+
export declare function migrate(type: 'aws-data-api-pg', db: AwsDataApiPgDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
46
|
+
export declare function migrate(type: 'better-sqlite3', db: BetterSQLite3Database<any>, config: string | MigrationConfig): Promise<void>;
|
|
47
|
+
export declare function migrate(type: 'bun:sqlite', db: BunSQLiteDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
48
|
+
export declare function migrate(type: 'd1', db: DrizzleD1Database<any>, config: string | MigrationConfig): Promise<void>;
|
|
49
|
+
export declare function migrate(type: 'expo-sqlite', db: ExpoSQLiteDatabase<any>, config: ExpoSQLiteMigrationConfig): Promise<void>;
|
|
50
|
+
export declare function migrate(type: 'libsql', db: LibSQLDatabase<any>, config: MigrationConfig): Promise<void>;
|
|
51
|
+
export declare function migrate(type: 'mysql-proxy', db: MySqlRemoteDatabase<any>, callback: MySqlProxyMigrator, config: MigrationConfig): Promise<void>;
|
|
52
|
+
export declare function migrate(type: 'mysql2', db: MySql2Database<any>, config: MigrationConfig): Promise<void>;
|
|
53
|
+
export declare function migrate(type: 'neon-http', db: NeonHttpDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
54
|
+
export declare function migrate(type: 'neon-serverless', db: NeonDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
55
|
+
export declare function migrate(type: 'node-postgres', db: NodePgDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
56
|
+
export declare function migrate(type: 'op-sqlite', db: OPSQLiteDatabase<any>, config: OPSQLiteMigrationConfig): Promise<void>;
|
|
57
|
+
export declare function migrate(type: 'pg-proxy', db: PgRemoteDatabase<any>, callback: PgProxyMigrator, config: string | MigrationConfig): Promise<void>;
|
|
58
|
+
export declare function migrate(type: 'pglite', db: PgliteDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
59
|
+
export declare function migrate(type: 'planetscale', db: PlanetScaleDatabase<any>, config: MigrationConfig): Promise<void>;
|
|
60
|
+
export declare function migrate(type: 'postgres-js', db: PlanetScaleDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
61
|
+
export declare function migrate(type: 'sqlite-proxy', db: PgRemoteDatabase<any>, callback: SQLiteProxyMigrator, config: string | MigrationConfig): Promise<void>;
|
|
62
|
+
export declare function migrate(type: 'tidb-serverless', db: PlanetScaleDatabase<any>, config: MigrationConfig): Promise<void>;
|
|
63
|
+
export declare function migrate(type: 'vercel-postgres', db: VercelPgDatabase<any>, config: string | MigrationConfig): Promise<void>;
|
|
64
|
+
export declare function migrate(type: 'xata-http', db: XataHttpDatabase<any>, config: string | XataHttpMigrationConfig): Promise<void>;
|
|
65
|
+
export {};
|
package/monomigrator.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
async function migrate(type, db, config, extraConfig) {
|
|
2
|
+
const rest = [db, config, extraConfig];
|
|
3
|
+
switch (type) {
|
|
4
|
+
case "aws-data-api-pg": {
|
|
5
|
+
const { migrate: migrate2 } = await import("./aws-data-api/pg/migrator");
|
|
6
|
+
return migrate2(rest[0], rest[1]);
|
|
7
|
+
}
|
|
8
|
+
case "better-sqlite3": {
|
|
9
|
+
const { migrate: migrate2 } = await import("./better-sqlite3/migrator");
|
|
10
|
+
return migrate2(rest[0], rest[1]);
|
|
11
|
+
}
|
|
12
|
+
case "bun:sqlite": {
|
|
13
|
+
const { migrate: migrate2 } = await import("./bun-sqlite/migrator");
|
|
14
|
+
return migrate2(rest[0], rest[1]);
|
|
15
|
+
}
|
|
16
|
+
case "d1": {
|
|
17
|
+
const { migrate: migrate2 } = await import("./d1/migrator");
|
|
18
|
+
return migrate2(rest[0], rest[1]);
|
|
19
|
+
}
|
|
20
|
+
case "expo-sqlite": {
|
|
21
|
+
const { migrate: migrate2 } = await import("./expo-sqlite/migrator");
|
|
22
|
+
return migrate2(rest[0], rest[1]);
|
|
23
|
+
}
|
|
24
|
+
case "libsql": {
|
|
25
|
+
const { migrate: migrate2 } = await import("./libsql/migrator");
|
|
26
|
+
return migrate2(rest[0], rest[1]);
|
|
27
|
+
}
|
|
28
|
+
case "mysql-proxy": {
|
|
29
|
+
const { migrate: migrate2 } = await import("./mysql-proxy/migrator");
|
|
30
|
+
return migrate2(rest[0], rest[1], rest[2]);
|
|
31
|
+
}
|
|
32
|
+
case "mysql2": {
|
|
33
|
+
const { migrate: migrate2 } = await import("./mysql2/migrator");
|
|
34
|
+
return migrate2(rest[0], rest[1]);
|
|
35
|
+
}
|
|
36
|
+
case "neon-http": {
|
|
37
|
+
const { migrate: migrate2 } = await import("./neon-http/migrator");
|
|
38
|
+
return migrate2(rest[0], rest[1]);
|
|
39
|
+
}
|
|
40
|
+
case "neon-serverless": {
|
|
41
|
+
const { migrate: migrate2 } = await import("./neon-serverless/migrator");
|
|
42
|
+
return migrate2(rest[0], rest[1]);
|
|
43
|
+
}
|
|
44
|
+
case "node-postgres": {
|
|
45
|
+
const { migrate: migrate2 } = await import("./node-postgres/migrator");
|
|
46
|
+
return migrate2(rest[0], rest[1]);
|
|
47
|
+
}
|
|
48
|
+
case "op-sqlite": {
|
|
49
|
+
const { migrate: migrate2 } = await import("./op-sqlite/migrator");
|
|
50
|
+
return migrate2(rest[0], rest[1]);
|
|
51
|
+
}
|
|
52
|
+
case "pg-proxy": {
|
|
53
|
+
const { migrate: migrate2 } = await import("./pg-proxy/migrator");
|
|
54
|
+
return migrate2(rest[0], rest[1], rest[2]);
|
|
55
|
+
}
|
|
56
|
+
case "pglite": {
|
|
57
|
+
const { migrate: migrate2 } = await import("./pglite/migrator");
|
|
58
|
+
return migrate2(rest[0], rest[1]);
|
|
59
|
+
}
|
|
60
|
+
case "planetscale": {
|
|
61
|
+
const { migrate: migrate2 } = await import("./planetscale-serverless/migrator");
|
|
62
|
+
return migrate2(rest[0], rest[1]);
|
|
63
|
+
}
|
|
64
|
+
case "postgres-js": {
|
|
65
|
+
const { migrate: migrate2 } = await import("./postgres-js/migrator");
|
|
66
|
+
return migrate2(rest[0], rest[1]);
|
|
67
|
+
}
|
|
68
|
+
case "sqlite-proxy": {
|
|
69
|
+
const { migrate: migrate2 } = await import("./sqlite-proxy/migrator");
|
|
70
|
+
return migrate2(rest[0], rest[1], rest[2]);
|
|
71
|
+
}
|
|
72
|
+
case "tidb-serverless": {
|
|
73
|
+
const { migrate: migrate2 } = await import("./tidb-serverless/migrator");
|
|
74
|
+
return migrate2(rest[0], rest[1]);
|
|
75
|
+
}
|
|
76
|
+
case "vercel-postgres": {
|
|
77
|
+
const { migrate: migrate2 } = await import("./vercel-postgres/migrator");
|
|
78
|
+
return migrate2(rest[0], rest[1]);
|
|
79
|
+
}
|
|
80
|
+
case "xata-http": {
|
|
81
|
+
const { migrate: migrate2 } = await import("./xata-http/migrator");
|
|
82
|
+
return migrate2(rest[0], rest[1]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
migrate
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=monomigrator.js.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 type { ExpoSQLiteDatabase } from './expo-sqlite/index.ts';\nimport type { LibSQLDatabase } from './libsql/index.ts';\nimport type { MigrationConfig } from './migrator.ts';\nimport type { MySqlRemoteDatabase } from './mysql-proxy/index.ts';\nimport type { ProxyMigrator as MySqlProxyMigrator } from './mysql-proxy/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 { OPSQLiteDatabase } from './op-sqlite/index.ts';\nimport type { PgRemoteDatabase } from './pg-proxy/index.ts';\nimport type { ProxyMigrator as PgProxyMigrator } from './pg-proxy/migrator.ts';\nimport type { PgliteDatabase } from './pglite/index.ts';\nimport type { PlanetScaleDatabase } from './planetscale-serverless/index.ts';\nimport type { ProxyMigrator as SQLiteProxyMigrator } from './sqlite-proxy/migrator.ts';\nimport type { VercelPgDatabase } from './vercel-postgres/index.ts';\nimport type { XataHttpDatabase } from './xata-http/index.ts';\nimport type { MigrationConfig as XataHttpMigrationConfig } from './xata-http/migrator.ts';\n\ntype OPSQLiteMigrationConfig = {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n};\n\ntype ExpoSQLiteMigrationConfig = {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n};\n\ntype DatabaseType =\n\t| 'aws-data-api-pg'\n\t| 'better-sqlite3'\n\t| 'bun:sqlite'\n\t| 'd1'\n\t| 'expo-sqlite'\n\t| 'libsql'\n\t| 'mysql-proxy'\n\t| 'mysql2'\n\t| 'neon-http'\n\t| 'neon-serverless'\n\t| 'node-postgres'\n\t| 'op-sqlite'\n\t| 'pg-proxy'\n\t| 'pglite'\n\t| 'planetscale'\n\t| 'postgres-js'\n\t| 'sqlite-proxy'\n\t| 'tidb-serverless'\n\t| 'vercel-postgres'\n\t| 'xata-http';\n\nexport async function migrate(\n\ttype: 'aws-data-api-pg',\n\tdb: AwsDataApiPgDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'better-sqlite3',\n\tdb: BetterSQLite3Database<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'bun:sqlite',\n\tdb: BunSQLiteDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(type: 'd1', db: DrizzleD1Database<any>, config: string | MigrationConfig): Promise<void>;\nexport async function migrate(\n\ttype: 'expo-sqlite',\n\tdb: ExpoSQLiteDatabase<any>,\n\tconfig: ExpoSQLiteMigrationConfig,\n): Promise<void>;\nexport async function migrate(type: 'libsql', db: LibSQLDatabase<any>, config: MigrationConfig): Promise<void>;\nexport async function migrate(\n\ttype: 'mysql-proxy',\n\tdb: MySqlRemoteDatabase<any>,\n\tcallback: MySqlProxyMigrator,\n\tconfig: MigrationConfig,\n): Promise<void>;\nexport async function migrate(type: 'mysql2', db: MySql2Database<any>, config: MigrationConfig): Promise<void>;\nexport async function migrate(\n\ttype: 'neon-http',\n\tdb: NeonHttpDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'neon-serverless',\n\tdb: NeonDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'node-postgres',\n\tdb: NodePgDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'op-sqlite',\n\tdb: OPSQLiteDatabase<any>,\n\tconfig: OPSQLiteMigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'pg-proxy',\n\tdb: PgRemoteDatabase<any>,\n\tcallback: PgProxyMigrator,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(type: 'pglite', db: PgliteDatabase<any>, config: string | MigrationConfig): Promise<void>;\nexport async function migrate(\n\ttype: 'planetscale',\n\tdb: PlanetScaleDatabase<any>,\n\tconfig: MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'postgres-js',\n\tdb: PlanetScaleDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'sqlite-proxy',\n\tdb: PgRemoteDatabase<any>,\n\tcallback: SQLiteProxyMigrator,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'tidb-serverless',\n\tdb: PlanetScaleDatabase<any>,\n\tconfig: MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'vercel-postgres',\n\tdb: VercelPgDatabase<any>,\n\tconfig: string | MigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: 'xata-http',\n\tdb: XataHttpDatabase<any>,\n\tconfig: string | XataHttpMigrationConfig,\n): Promise<void>;\nexport async function migrate(\n\ttype: DatabaseType,\n\tdb: any,\n\tconfig:\n\t\t| string\n\t\t| MigrationConfig\n\t\t| ExpoSQLiteMigrationConfig\n\t\t| OPSQLiteMigrationConfig\n\t\t| XataHttpMigrationConfig\n\t\t| PgProxyMigrator\n\t\t| MySqlProxyMigrator\n\t\t| SQLiteProxyMigrator,\n\textraConfig?: string | MigrationConfig | undefined,\n) {\n\tconst rest = [db, config, extraConfig];\n\n\tswitch (type) {\n\t\tcase 'aws-data-api-pg': {\n\t\t\tconst { migrate } = await import('./aws-data-api/pg/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'better-sqlite3': {\n\t\t\tconst { migrate } = await import('./better-sqlite3/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'bun:sqlite': {\n\t\t\tconst { migrate } = await import('./bun-sqlite/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'd1': {\n\t\t\tconst { migrate } = await import('./d1/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'expo-sqlite': {\n\t\t\tconst { migrate } = await import('./expo-sqlite/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as ExpoSQLiteMigrationConfig);\n\t\t}\n\t\tcase 'libsql': {\n\t\t\tconst { migrate } = await import('./libsql/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MigrationConfig);\n\t\t}\n\t\tcase 'mysql-proxy': {\n\t\t\tconst { migrate } = await import('./mysql-proxy/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MySqlProxyMigrator, rest[2] as MigrationConfig);\n\t\t}\n\t\tcase 'mysql2': {\n\t\t\tconst { migrate } = await import('./mysql2/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MigrationConfig);\n\t\t}\n\t\tcase 'neon-http': {\n\t\t\tconst { migrate } = await import('./neon-http/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'neon-serverless': {\n\t\t\tconst { migrate } = await import('./neon-serverless/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'node-postgres': {\n\t\t\tconst { migrate } = await import('./node-postgres/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'op-sqlite': {\n\t\t\tconst { migrate } = await import('./op-sqlite/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as OPSQLiteMigrationConfig);\n\t\t}\n\t\tcase 'pg-proxy': {\n\t\t\tconst { migrate } = await import('./pg-proxy/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as PgProxyMigrator, rest[2] as string | MigrationConfig);\n\t\t}\n\t\tcase 'pglite': {\n\t\t\tconst { migrate } = await import('./pglite/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'planetscale': {\n\t\t\tconst { migrate } = await import('./planetscale-serverless/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MigrationConfig);\n\t\t}\n\t\tcase 'postgres-js': {\n\t\t\tconst { migrate } = await import('./postgres-js/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'sqlite-proxy': {\n\t\t\tconst { migrate } = await import('./sqlite-proxy/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as SQLiteProxyMigrator, rest[2] as string | MigrationConfig);\n\t\t}\n\t\tcase 'tidb-serverless': {\n\t\t\tconst { migrate } = await import('./tidb-serverless/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as MigrationConfig);\n\t\t}\n\t\tcase 'vercel-postgres': {\n\t\t\tconst { migrate } = await import('./vercel-postgres/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t\tcase 'xata-http': {\n\t\t\tconst { migrate } = await import('./xata-http/migrator');\n\n\t\t\treturn migrate(rest[0], rest[1] as string | MigrationConfig);\n\t\t}\n\t}\n}\n"],"mappings":"AAmJA,eAAsB,QACrB,MACA,IACA,QASA,aACC;AACD,QAAM,OAAO,CAAC,IAAI,QAAQ,WAAW;AAErC,UAAQ,MAAM;AAAA,IACb,KAAK,mBAAmB;AACvB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,4BAA4B;AAE7D,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,kBAAkB;AACtB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,2BAA2B;AAE5D,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,cAAc;AAClB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,uBAAuB;AAExD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,MAAM;AACV,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,eAAe;AAEhD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,eAAe;AACnB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,wBAAwB;AAEzD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA8B;AAAA,IAC7D;AAAA,IACA,KAAK,UAAU;AACd,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,mBAAmB;AAEpD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAAoB;AAAA,IACnD;AAAA,IACA,KAAK,eAAe;AACnB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,wBAAwB;AAEzD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,GAAyB,KAAK,CAAC,CAAoB;AAAA,IAClF;AAAA,IACA,KAAK,UAAU;AACd,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,mBAAmB;AAEpD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAAoB;AAAA,IACnD;AAAA,IACA,KAAK,aAAa;AACjB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,sBAAsB;AAEvD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,mBAAmB;AACvB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,4BAA4B;AAE7D,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,iBAAiB;AACrB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,0BAA0B;AAE3D,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,aAAa;AACjB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,sBAAsB;AAEvD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA4B;AAAA,IAC3D;AAAA,IACA,KAAK,YAAY;AAChB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,qBAAqB;AAEtD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,GAAsB,KAAK,CAAC,CAA6B;AAAA,IACxF;AAAA,IACA,KAAK,UAAU;AACd,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,mBAAmB;AAEpD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,eAAe;AACnB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,mCAAmC;AAEpE,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAAoB;AAAA,IACnD;AAAA,IACA,KAAK,eAAe;AACnB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,wBAAwB;AAEzD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,gBAAgB;AACpB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,yBAAyB;AAE1D,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,GAA0B,KAAK,CAAC,CAA6B;AAAA,IAC5F;AAAA,IACA,KAAK,mBAAmB;AACvB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,4BAA4B;AAE7D,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAAoB;AAAA,IACnD;AAAA,IACA,KAAK,mBAAmB;AACvB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,4BAA4B;AAE7D,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,IACA,KAAK,aAAa;AACjB,YAAM,EAAE,SAAAA,SAAQ,IAAI,MAAM,OAAO,sBAAsB;AAEvD,aAAOA,SAAQ,KAAK,CAAC,GAAG,KAAK,CAAC,CAA6B;AAAA,IAC5D;AAAA,EACD;AACD;","names":["migrate"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drizzle-orm",
|
|
3
|
-
"version": "0.33.0-
|
|
3
|
+
"version": "0.33.0-ab3b46d",
|
|
4
4
|
"description": "Drizzle ORM package for SQL databases",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -329,6 +329,18 @@
|
|
|
329
329
|
"types": "./monodriver.d.ts",
|
|
330
330
|
"default": "./monodriver.js"
|
|
331
331
|
},
|
|
332
|
+
"./monomigrator": {
|
|
333
|
+
"import": {
|
|
334
|
+
"types": "./monomigrator.d.ts",
|
|
335
|
+
"default": "./monomigrator.js"
|
|
336
|
+
},
|
|
337
|
+
"require": {
|
|
338
|
+
"types": "./monomigrator.d.cts",
|
|
339
|
+
"default": "./monomigrator.cjs"
|
|
340
|
+
},
|
|
341
|
+
"types": "./monomigrator.d.ts",
|
|
342
|
+
"default": "./monomigrator.js"
|
|
343
|
+
},
|
|
332
344
|
"./operations": {
|
|
333
345
|
"import": {
|
|
334
346
|
"types": "./operations.d.ts",
|
package/version.cjs
CHANGED
package/version.d.cts
CHANGED
package/version.d.ts
CHANGED
package/version.js
CHANGED