drizzle-orm 1.0.0-beta.1-fd8bfcc → 1.0.0-beta.1-17c242e

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.
Files changed (170) hide show
  1. package/bun-sql/driver.cjs +35 -75
  2. package/bun-sql/driver.cjs.map +1 -1
  3. package/bun-sql/driver.d.cts +69 -10
  4. package/bun-sql/driver.d.ts +69 -10
  5. package/bun-sql/driver.js +35 -64
  6. package/bun-sql/driver.js.map +1 -1
  7. package/bun-sql/migrator.cjs +18 -3
  8. package/bun-sql/migrator.cjs.map +1 -1
  9. package/bun-sql/migrator.d.cts +8 -1
  10. package/bun-sql/migrator.d.ts +8 -1
  11. package/bun-sql/migrator.js +18 -3
  12. package/bun-sql/migrator.js.map +1 -1
  13. package/bun-sql/mysql/driver.cjs +117 -0
  14. package/bun-sql/mysql/driver.cjs.map +1 -0
  15. package/bun-sql/mysql/driver.d.cts +38 -0
  16. package/bun-sql/mysql/driver.d.ts +38 -0
  17. package/bun-sql/mysql/driver.js +82 -0
  18. package/bun-sql/mysql/driver.js.map +1 -0
  19. package/bun-sql/mysql/index.cjs +25 -0
  20. package/bun-sql/mysql/index.cjs.map +1 -0
  21. package/bun-sql/mysql/index.d.cts +2 -0
  22. package/bun-sql/mysql/index.d.ts +2 -0
  23. package/bun-sql/mysql/index.js +3 -0
  24. package/bun-sql/mysql/index.js.map +1 -0
  25. package/bun-sql/mysql/migrator.cjs +33 -0
  26. package/bun-sql/mysql/migrator.cjs.map +1 -0
  27. package/bun-sql/mysql/migrator.d.cts +4 -0
  28. package/bun-sql/mysql/migrator.d.ts +4 -0
  29. package/bun-sql/mysql/migrator.js +9 -0
  30. package/bun-sql/mysql/migrator.js.map +1 -0
  31. package/bun-sql/mysql/session.cjs +244 -0
  32. package/bun-sql/mysql/session.cjs.map +1 -0
  33. package/bun-sql/mysql/session.d.cts +65 -0
  34. package/bun-sql/mysql/session.d.ts +65 -0
  35. package/bun-sql/mysql/session.js +222 -0
  36. package/bun-sql/mysql/session.js.map +1 -0
  37. package/bun-sql/postgres/driver.cjs +110 -0
  38. package/bun-sql/postgres/driver.cjs.map +1 -0
  39. package/bun-sql/postgres/driver.d.cts +30 -0
  40. package/bun-sql/postgres/driver.d.ts +30 -0
  41. package/bun-sql/postgres/driver.js +75 -0
  42. package/bun-sql/postgres/driver.js.map +1 -0
  43. package/bun-sql/postgres/index.cjs +25 -0
  44. package/bun-sql/postgres/index.cjs.map +1 -0
  45. package/bun-sql/postgres/index.d.cts +2 -0
  46. package/bun-sql/postgres/index.d.ts +2 -0
  47. package/bun-sql/postgres/index.js +3 -0
  48. package/bun-sql/postgres/index.js.map +1 -0
  49. package/bun-sql/postgres/migrator.cjs +33 -0
  50. package/bun-sql/postgres/migrator.cjs.map +1 -0
  51. package/bun-sql/postgres/migrator.d.cts +4 -0
  52. package/bun-sql/postgres/migrator.d.ts +4 -0
  53. package/bun-sql/postgres/migrator.js +9 -0
  54. package/bun-sql/postgres/migrator.js.map +1 -0
  55. package/bun-sql/postgres/session.cjs +220 -0
  56. package/bun-sql/postgres/session.cjs.map +1 -0
  57. package/bun-sql/postgres/session.d.cts +65 -0
  58. package/bun-sql/postgres/session.d.ts +65 -0
  59. package/bun-sql/postgres/session.js +194 -0
  60. package/bun-sql/postgres/session.js.map +1 -0
  61. package/bun-sql/session.cjs +3 -200
  62. package/bun-sql/session.cjs.map +1 -1
  63. package/bun-sql/session.d.cts +1 -65
  64. package/bun-sql/session.d.ts +1 -65
  65. package/bun-sql/session.js +1 -193
  66. package/bun-sql/session.js.map +1 -1
  67. package/bun-sql/sqlite/driver.cjs +110 -0
  68. package/bun-sql/sqlite/driver.cjs.map +1 -0
  69. package/bun-sql/sqlite/driver.d.cts +30 -0
  70. package/bun-sql/sqlite/driver.d.ts +30 -0
  71. package/bun-sql/sqlite/driver.js +75 -0
  72. package/bun-sql/sqlite/driver.js.map +1 -0
  73. package/bun-sql/sqlite/index.cjs +25 -0
  74. package/bun-sql/sqlite/index.cjs.map +1 -0
  75. package/bun-sql/sqlite/index.d.cts +2 -0
  76. package/bun-sql/sqlite/index.d.ts +2 -0
  77. package/bun-sql/sqlite/index.js +3 -0
  78. package/bun-sql/sqlite/index.js.map +1 -0
  79. package/bun-sql/sqlite/migrator.cjs +33 -0
  80. package/bun-sql/sqlite/migrator.cjs.map +1 -0
  81. package/bun-sql/sqlite/migrator.d.cts +4 -0
  82. package/bun-sql/sqlite/migrator.d.ts +4 -0
  83. package/bun-sql/sqlite/migrator.js +9 -0
  84. package/bun-sql/sqlite/migrator.js.map +1 -0
  85. package/bun-sql/sqlite/session.cjs +225 -0
  86. package/bun-sql/sqlite/session.cjs.map +1 -0
  87. package/bun-sql/sqlite/session.d.cts +67 -0
  88. package/bun-sql/sqlite/session.d.ts +67 -0
  89. package/bun-sql/sqlite/session.js +199 -0
  90. package/bun-sql/sqlite/session.js.map +1 -0
  91. package/bun-sqlite/driver.cjs +5 -5
  92. package/bun-sqlite/driver.cjs.map +1 -1
  93. package/bun-sqlite/driver.d.cts +5 -5
  94. package/bun-sqlite/driver.d.ts +5 -5
  95. package/bun-sqlite/driver.js +4 -4
  96. package/bun-sqlite/driver.js.map +1 -1
  97. package/bun-sqlite/migrator.cjs.map +1 -1
  98. package/bun-sqlite/migrator.d.cts +2 -2
  99. package/bun-sqlite/migrator.d.ts +2 -2
  100. package/bun-sqlite/migrator.js.map +1 -1
  101. package/cache/core/cache.cjs.map +1 -1
  102. package/cache/core/cache.d.cts +1 -1
  103. package/cache/core/cache.d.ts +1 -1
  104. package/cache/core/cache.js.map +1 -1
  105. package/cache/upstash/cache.cjs +2 -2
  106. package/cache/upstash/cache.cjs.map +1 -1
  107. package/cache/upstash/cache.js +1 -1
  108. package/cache/upstash/cache.js.map +1 -1
  109. package/mysql-core/columns/bigint.cjs +4 -0
  110. package/mysql-core/columns/bigint.cjs.map +1 -1
  111. package/mysql-core/columns/bigint.d.cts +2 -1
  112. package/mysql-core/columns/bigint.d.ts +2 -1
  113. package/mysql-core/columns/bigint.js +4 -0
  114. package/mysql-core/columns/bigint.js.map +1 -1
  115. package/mysql-core/columns/custom.cjs +1 -3
  116. package/mysql-core/columns/custom.cjs.map +1 -1
  117. package/mysql-core/columns/custom.js +1 -3
  118. package/mysql-core/columns/custom.js.map +1 -1
  119. package/mysql-core/columns/date.cjs +4 -0
  120. package/mysql-core/columns/date.cjs.map +1 -1
  121. package/mysql-core/columns/date.d.cts +1 -0
  122. package/mysql-core/columns/date.d.ts +1 -0
  123. package/mysql-core/columns/date.js +4 -0
  124. package/mysql-core/columns/date.js.map +1 -1
  125. package/mysql-core/columns/datetime.cjs +6 -1
  126. package/mysql-core/columns/datetime.cjs.map +1 -1
  127. package/mysql-core/columns/datetime.d.cts +2 -1
  128. package/mysql-core/columns/datetime.d.ts +2 -1
  129. package/mysql-core/columns/datetime.js +6 -1
  130. package/mysql-core/columns/datetime.js.map +1 -1
  131. package/mysql-core/columns/time.cjs +4 -0
  132. package/mysql-core/columns/time.cjs.map +1 -1
  133. package/mysql-core/columns/time.d.cts +1 -0
  134. package/mysql-core/columns/time.d.ts +1 -0
  135. package/mysql-core/columns/time.js +4 -0
  136. package/mysql-core/columns/time.js.map +1 -1
  137. package/mysql-core/columns/timestamp.cjs +8 -1
  138. package/mysql-core/columns/timestamp.cjs.map +1 -1
  139. package/mysql-core/columns/timestamp.d.cts +2 -1
  140. package/mysql-core/columns/timestamp.d.ts +2 -1
  141. package/mysql-core/columns/timestamp.js +8 -1
  142. package/mysql-core/columns/timestamp.js.map +1 -1
  143. package/mysql-core/columns/varchar.cjs.map +1 -1
  144. package/mysql-core/columns/varchar.js.map +1 -1
  145. package/mysql-core/columns/year.cjs +4 -0
  146. package/mysql-core/columns/year.cjs.map +1 -1
  147. package/mysql-core/columns/year.d.cts +1 -0
  148. package/mysql-core/columns/year.d.ts +1 -0
  149. package/mysql-core/columns/year.js +4 -0
  150. package/mysql-core/columns/year.js.map +1 -1
  151. package/mysql-core/utils.cjs +2 -2
  152. package/mysql-core/utils.cjs.map +1 -1
  153. package/mysql-core/utils.d.cts +2 -2
  154. package/mysql-core/utils.d.ts +2 -2
  155. package/mysql-core/utils.js +1 -1
  156. package/mysql-core/utils.js.map +1 -1
  157. package/package.json +149 -5
  158. package/relations.cjs +4 -1
  159. package/relations.cjs.map +1 -1
  160. package/relations.js +4 -1
  161. package/relations.js.map +1 -1
  162. package/session.cjs.map +1 -1
  163. package/session.d.cts +1 -1
  164. package/session.d.ts +1 -1
  165. package/sqlite-core/columns/blob.cjs.map +1 -1
  166. package/sqlite-core/columns/blob.js.map +1 -1
  167. package/version.cjs +1 -1
  168. package/version.d.cts +1 -1
  169. package/version.d.ts +1 -1
  170. package/version.js +1 -1
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,94 +15,56 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
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
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var driver_exports = {};
30
20
  __export(driver_exports, {
31
- BunSQLDatabase: () => BunSQLDatabase,
32
21
  drizzle: () => drizzle
33
22
  });
34
23
  module.exports = __toCommonJS(driver_exports);
35
- var import_bun = require("bun");
36
- var V1 = __toESM(require("../_relations.cjs"), 1);
37
- var import_entity = require("../entity.cjs");
38
- var import_logger = require("../logger.cjs");
39
- var import_db = require("../pg-core/db.cjs");
40
- var import_dialect = require("../pg-core/dialect.cjs");
41
- var import_utils = require("../utils.cjs");
42
- var import_session = require("./session.cjs");
43
- class BunSQLDatabase extends import_db.PgDatabase {
44
- static [import_entity.entityKind] = "BunSQLDatabase";
45
- }
46
- function construct(client, config = {}) {
47
- const dialect = new import_dialect.PgDialect({ casing: config.casing });
48
- let logger;
49
- if (config.logger === true) {
50
- logger = new import_logger.DefaultLogger();
51
- } else if (config.logger !== false) {
52
- logger = config.logger;
53
- }
54
- let schema;
55
- if (config.schema) {
56
- const tablesConfig = V1.extractTablesRelationalConfig(
57
- config.schema,
58
- V1.createTableRelationsHelpers
59
- );
60
- schema = {
61
- fullSchema: config.schema,
62
- schema: tablesConfig.tables,
63
- tableNamesMap: tablesConfig.tableNamesMap
64
- };
65
- }
66
- const relations = config.relations ?? {};
67
- const session = new import_session.BunSQLSession(client, dialect, relations, schema, { logger, cache: config.cache });
68
- const db = new BunSQLDatabase(dialect, session, relations, schema);
69
- db.$client = client;
70
- db.$cache = config.cache;
71
- if (db.$cache) {
72
- db.$cache["invalidate"] = config.cache?.onMutate;
73
- }
74
- return db;
75
- }
24
+ var import_driver = require("./mysql/driver.cjs");
25
+ var import_driver2 = require("./postgres/driver.cjs");
26
+ var import_driver3 = require("./sqlite/driver.cjs");
76
27
  function drizzle(...params) {
77
- if (typeof params[0] === "string") {
78
- const instance = new import_bun.SQL(params[0]);
79
- return construct(instance, params[1]);
80
- }
81
- if ((0, import_utils.isConfig)(params[0])) {
82
- const { connection, client, ...drizzleConfig } = params[0];
83
- if (client) return construct(client, drizzleConfig);
84
- if (typeof connection === "object" && connection.url !== void 0) {
85
- const { url, ...config } = connection;
86
- const instance2 = new import_bun.SQL({ url, ...config });
87
- return construct(instance2, drizzleConfig);
88
- }
89
- const instance = new import_bun.SQL(connection);
90
- return construct(instance, drizzleConfig);
91
- }
92
- return construct(params[0], params[1]);
28
+ return (0, import_driver2.drizzle)(...params);
93
29
  }
94
30
  ((drizzle2) => {
95
31
  function mock(config) {
96
- return construct({
97
- options: {
98
- parsers: {},
99
- serializers: {}
100
- }
101
- }, config);
32
+ return import_driver2.drizzle.mock(config);
102
33
  }
103
34
  drizzle2.mock = mock;
35
+ function postgres(...params) {
36
+ return (0, import_driver2.drizzle)(...params);
37
+ }
38
+ drizzle2.postgres = postgres;
39
+ ((postgres2) => {
40
+ function mock2(config) {
41
+ return import_driver2.drizzle.mock(config);
42
+ }
43
+ postgres2.mock = mock2;
44
+ })(postgres = drizzle2.postgres || (drizzle2.postgres = {}));
45
+ function sqlite(...params) {
46
+ return (0, import_driver3.drizzle)(...params);
47
+ }
48
+ drizzle2.sqlite = sqlite;
49
+ ((sqlite2) => {
50
+ function mock2(config) {
51
+ return import_driver3.drizzle.mock(config);
52
+ }
53
+ sqlite2.mock = mock2;
54
+ })(sqlite = drizzle2.sqlite || (drizzle2.sqlite = {}));
55
+ function mysql(...params) {
56
+ return (0, import_driver.drizzle)(...params);
57
+ }
58
+ drizzle2.mysql = mysql;
59
+ ((mysql2) => {
60
+ function mock2(config) {
61
+ return import_driver.drizzle.mock(config);
62
+ }
63
+ mysql2.mock = mock2;
64
+ })(mysql = drizzle2.mysql || (drizzle2.mysql = {}));
104
65
  })(drizzle || (drizzle = {}));
105
66
  // Annotate the CommonJS export names for ESM import in node:
106
67
  0 && (module.exports = {
107
- BunSQLDatabase,
108
68
  drizzle
109
69
  });
110
70
  //# sourceMappingURL=driver.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bun-sql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SQLOptions } from 'bun';\nimport { SQL } from 'bun';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgDatabase<BunSQLQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): BunSQLDatabase<TSchema, TRelations> & {\n\t$client: SQL;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new BunSQLSession(client, dialect, relations, schema, { logger, cache: config.cache });\n\tconst db = new BunSQLDatabase(dialect, session, relations, schema as any) as BunSQLDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQLOptions);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { url?: string } & SQLOptions;\n\t\t\tclient?: TClient;\n\t\t} & DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\t\tconst { url, ...config } = connection;\n\n\t\t\tconst instance = new SQL({ url, ...config });\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new SQL(connection);\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): BunSQLDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAAoB;AACpB,SAAoB;AACpB,oBAA2B;AAC3B,oBAA8B;AAC9B,gBAA2B;AAC3B,qBAA0B;AAE1B,mBAA6C;AAE7C,qBAA8B;AAEvB,MAAM,uBAGH,qBAAsD;AAAA,EAC/D,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,yBAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,UAAU,IAAI,6BAAc,QAAQ,SAAS,WAAW,QAAQ,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AACrG,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,WAAW,MAAa;AAIxE,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAKZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,eAAI,OAAO,CAAC,CAAC;AAElC,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;AACnE,YAAM,EAAE,KAAK,GAAG,OAAO,IAAI;AAE3B,YAAMA,YAAW,IAAI,eAAI,EAAE,KAAK,GAAG,OAAO,CAAC;AAC3C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,eAAI,UAAU;AACnC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAmD;AACnG;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KAIf,QAGC;AACD,WAAO,UAAU;AAAA,MAChB,SAAS;AAAA,QACR,SAAS,CAAC;AAAA,QACV,aAAa,CAAC;AAAA,MACf;AAAA,IACD,GAAU,MAAM;AAAA,EACjB;AAdO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
1
+ {"version":3,"sources":["../../src/bun-sql/driver.ts"],"sourcesContent":["import type { SQL } from 'bun';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type BunMySqlDatabase, type BunMySqlDrizzleConfig, drizzle as mysqlConstructor } from './mysql/driver.ts';\nimport { type BunSQLDatabase, drizzle as postgresConstructor } from './postgres/driver.ts';\nimport { type BunSQLiteDatabase, drizzle as sqliteConstructor } from './sqlite/driver.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\treturn postgresConstructor(...params);\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn postgresConstructor.mock(config);\n\t}\n\n\texport function postgres<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\tTClient extends SQL = SQL,\n\t>(\n\t\t...params: [\n\t\t\tTClient | string,\n\t\t] | [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t] | [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t): BunSQLDatabase<TSchema, TRelations> & {\n\t\t$client: TClient;\n\t} {\n\t\treturn postgresConstructor(...params);\n\t}\n\n\texport namespace postgres {\n\t\texport function mock<\n\t\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\t>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLDatabase<TSchema, TRelations> & {\n\t\t\t$client: '$client is not available on drizzle.mock()';\n\t\t} {\n\t\t\treturn postgresConstructor.mock(config);\n\t\t}\n\t}\n\n\texport function sqlite<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\tTClient extends SQL = SQL,\n\t>(\n\t\t...params: [\n\t\t\tTClient | string,\n\t\t] | [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t] | [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t): BunSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: TClient;\n\t} {\n\t\treturn sqliteConstructor(...params);\n\t}\n\n\texport namespace sqlite {\n\t\texport function mock<\n\t\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\t>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLiteDatabase<TSchema, TRelations> & {\n\t\t\t$client: '$client is not available on drizzle.mock()';\n\t\t} {\n\t\t\treturn sqliteConstructor.mock(config);\n\t\t}\n\t}\n\n\texport function mysql<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\tTClient extends SQL = SQL,\n\t>(\n\t\t...params: [\n\t\t\tTClient | string,\n\t\t] | [\n\t\t\tTClient | string,\n\t\t\tBunMySqlDrizzleConfig<TSchema, TRelations>,\n\t\t] | [\n\t\t\t(\n\t\t\t\t& BunMySqlDrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t): BunMySqlDatabase<TSchema, TRelations> & {\n\t\t$client: TClient;\n\t} {\n\t\treturn mysqlConstructor(...params) as BunMySqlDatabase<TSchema, TRelations> & {\n\t\t\t$client: TClient;\n\t\t};\n\t}\n\n\texport namespace mysql {\n\t\texport function mock<\n\t\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\t>(config?: BunMySqlDrizzleConfig<TSchema, TRelations>): BunMySqlDatabase<TSchema, TRelations> & {\n\t\t\t$client: '$client is not available on drizzle.mock()';\n\t\t} {\n\t\t\treturn mysqlConstructor.mock(config) as BunMySqlDatabase<TSchema, TRelations> & {\n\t\t\t\t$client: '$client is not available on drizzle.mock()';\n\t\t\t};\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA+F;AAC/F,IAAAA,iBAAoE;AACpE,IAAAA,iBAAqE;AAE9D,SAAS,WAKZ,QAiBF;AACD,aAAO,eAAAC,SAAoB,GAAG,MAAM;AACrC;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KAGd,QAEA;AACD,WAAO,eAAAD,QAAoB,KAAK,MAAM;AAAA,EACvC;AAPO,EAAAC,SAAS;AAST,WAAS,YAKZ,QAiBF;AACD,eAAO,eAAAD,SAAoB,GAAG,MAAM;AAAA,EACrC;AAxBO,EAAAC,SAAS;AA0BT,IAAUC,cAAV;AACC,aAASC,MAGd,QAEA;AACD,aAAO,eAAAH,QAAoB,KAAK,MAAM;AAAA,IACvC;AAPO,IAAAE,UAAS,OAAAC;AAAA,KADA,WAAAF,SAAA,aAAAA,SAAA;AAWV,WAAS,UAKZ,QAiBF;AACD,eAAO,eAAAG,SAAkB,GAAG,MAAM;AAAA,EACnC;AAxBO,EAAAH,SAAS;AA0BT,IAAUI,YAAV;AACC,aAASF,MAGd,QAEA;AACD,aAAO,eAAAC,QAAkB,KAAK,MAAM;AAAA,IACrC;AAPO,IAAAC,QAAS,OAAAF;AAAA,KADA,SAAAF,SAAA,WAAAA,SAAA;AAWV,WAAS,SAKZ,QAiBF;AACD,eAAO,cAAAK,SAAiB,GAAG,MAAM;AAAA,EAGlC;AA1BO,EAAAL,SAAS;AA4BT,IAAUM,WAAV;AACC,aAASJ,MAGd,QAEA;AACD,aAAO,cAAAG,QAAiB,KAAK,MAAM;AAAA,IAGpC;AATO,IAAAC,OAAS,OAAAJ;AAAA,KADA,QAAAF,SAAA,UAAAA,SAAA;AAAA,GAhHD;","names":["import_driver","postgresConstructor","drizzle","postgres","mock","sqliteConstructor","sqlite","mysqlConstructor","mysql"]}
@@ -1,13 +1,9 @@
1
- import type { SQLOptions } from 'bun';
2
- import { SQL } from 'bun';
3
- import { entityKind } from "../entity.cjs";
4
- import { PgDatabase } from "../pg-core/db.cjs";
1
+ import type { SQL } from 'bun';
5
2
  import type { AnyRelations, EmptyRelations } from "../relations.cjs";
6
- import { type DrizzleConfig } from "../utils.cjs";
7
- import type { BunSQLQueryResultHKT } from "./session.cjs";
8
- export declare class BunSQLDatabase<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends PgDatabase<BunSQLQueryResultHKT, TSchema, TRelations> {
9
- static readonly [entityKind]: string;
10
- }
3
+ import type { DrizzleConfig } from "../utils.cjs";
4
+ import { type BunMySqlDatabase, type BunMySqlDrizzleConfig } from "./mysql/driver.cjs";
5
+ import { type BunSQLDatabase } from "./postgres/driver.cjs";
6
+ import { type BunSQLiteDatabase } from "./sqlite/driver.cjs";
11
7
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends SQL = SQL>(...params: [
12
8
  TClient | string
13
9
  ] | [
@@ -17,7 +13,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
17
13
  (DrizzleConfig<TSchema, TRelations> & ({
18
14
  connection: string | ({
19
15
  url?: string;
20
- } & SQLOptions);
16
+ } & SQL.Options);
21
17
  } | {
22
18
  client: TClient;
23
19
  }))
@@ -28,4 +24,67 @@ export declare namespace drizzle {
28
24
  function mock<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLDatabase<TSchema, TRelations> & {
29
25
  $client: '$client is not available on drizzle.mock()';
30
26
  };
27
+ function postgres<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends SQL = SQL>(...params: [
28
+ TClient | string
29
+ ] | [
30
+ TClient | string,
31
+ DrizzleConfig<TSchema, TRelations>
32
+ ] | [
33
+ (DrizzleConfig<TSchema, TRelations> & ({
34
+ connection: string | ({
35
+ url?: string;
36
+ } & SQL.Options);
37
+ } | {
38
+ client: TClient;
39
+ }))
40
+ ]): BunSQLDatabase<TSchema, TRelations> & {
41
+ $client: TClient;
42
+ };
43
+ namespace postgres {
44
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLDatabase<TSchema, TRelations> & {
45
+ $client: '$client is not available on drizzle.mock()';
46
+ };
47
+ }
48
+ function sqlite<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends SQL = SQL>(...params: [
49
+ TClient | string
50
+ ] | [
51
+ TClient | string,
52
+ DrizzleConfig<TSchema, TRelations>
53
+ ] | [
54
+ (DrizzleConfig<TSchema, TRelations> & ({
55
+ connection: string | ({
56
+ url?: string;
57
+ } & SQL.Options);
58
+ } | {
59
+ client: TClient;
60
+ }))
61
+ ]): BunSQLiteDatabase<TSchema, TRelations> & {
62
+ $client: TClient;
63
+ };
64
+ namespace sqlite {
65
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLiteDatabase<TSchema, TRelations> & {
66
+ $client: '$client is not available on drizzle.mock()';
67
+ };
68
+ }
69
+ function mysql<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends SQL = SQL>(...params: [
70
+ TClient | string
71
+ ] | [
72
+ TClient | string,
73
+ BunMySqlDrizzleConfig<TSchema, TRelations>
74
+ ] | [
75
+ (BunMySqlDrizzleConfig<TSchema, TRelations> & ({
76
+ connection: string | ({
77
+ url?: string;
78
+ } & SQL.Options);
79
+ } | {
80
+ client: TClient;
81
+ }))
82
+ ]): BunMySqlDatabase<TSchema, TRelations> & {
83
+ $client: TClient;
84
+ };
85
+ namespace mysql {
86
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(config?: BunMySqlDrizzleConfig<TSchema, TRelations>): BunMySqlDatabase<TSchema, TRelations> & {
87
+ $client: '$client is not available on drizzle.mock()';
88
+ };
89
+ }
31
90
  }
@@ -1,13 +1,9 @@
1
- import type { SQLOptions } from 'bun';
2
- import { SQL } from 'bun';
3
- import { entityKind } from "../entity.js";
4
- import { PgDatabase } from "../pg-core/db.js";
1
+ import type { SQL } from 'bun';
5
2
  import type { AnyRelations, EmptyRelations } from "../relations.js";
6
- import { type DrizzleConfig } from "../utils.js";
7
- import type { BunSQLQueryResultHKT } from "./session.js";
8
- export declare class BunSQLDatabase<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends PgDatabase<BunSQLQueryResultHKT, TSchema, TRelations> {
9
- static readonly [entityKind]: string;
10
- }
3
+ import type { DrizzleConfig } from "../utils.js";
4
+ import { type BunMySqlDatabase, type BunMySqlDrizzleConfig } from "./mysql/driver.js";
5
+ import { type BunSQLDatabase } from "./postgres/driver.js";
6
+ import { type BunSQLiteDatabase } from "./sqlite/driver.js";
11
7
  export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends SQL = SQL>(...params: [
12
8
  TClient | string
13
9
  ] | [
@@ -17,7 +13,7 @@ export declare function drizzle<TSchema extends Record<string, unknown> = Record
17
13
  (DrizzleConfig<TSchema, TRelations> & ({
18
14
  connection: string | ({
19
15
  url?: string;
20
- } & SQLOptions);
16
+ } & SQL.Options);
21
17
  } | {
22
18
  client: TClient;
23
19
  }))
@@ -28,4 +24,67 @@ export declare namespace drizzle {
28
24
  function mock<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLDatabase<TSchema, TRelations> & {
29
25
  $client: '$client is not available on drizzle.mock()';
30
26
  };
27
+ function postgres<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends SQL = SQL>(...params: [
28
+ TClient | string
29
+ ] | [
30
+ TClient | string,
31
+ DrizzleConfig<TSchema, TRelations>
32
+ ] | [
33
+ (DrizzleConfig<TSchema, TRelations> & ({
34
+ connection: string | ({
35
+ url?: string;
36
+ } & SQL.Options);
37
+ } | {
38
+ client: TClient;
39
+ }))
40
+ ]): BunSQLDatabase<TSchema, TRelations> & {
41
+ $client: TClient;
42
+ };
43
+ namespace postgres {
44
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLDatabase<TSchema, TRelations> & {
45
+ $client: '$client is not available on drizzle.mock()';
46
+ };
47
+ }
48
+ function sqlite<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends SQL = SQL>(...params: [
49
+ TClient | string
50
+ ] | [
51
+ TClient | string,
52
+ DrizzleConfig<TSchema, TRelations>
53
+ ] | [
54
+ (DrizzleConfig<TSchema, TRelations> & ({
55
+ connection: string | ({
56
+ url?: string;
57
+ } & SQL.Options);
58
+ } | {
59
+ client: TClient;
60
+ }))
61
+ ]): BunSQLiteDatabase<TSchema, TRelations> & {
62
+ $client: TClient;
63
+ };
64
+ namespace sqlite {
65
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLiteDatabase<TSchema, TRelations> & {
66
+ $client: '$client is not available on drizzle.mock()';
67
+ };
68
+ }
69
+ function mysql<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations, TClient extends SQL = SQL>(...params: [
70
+ TClient | string
71
+ ] | [
72
+ TClient | string,
73
+ BunMySqlDrizzleConfig<TSchema, TRelations>
74
+ ] | [
75
+ (BunMySqlDrizzleConfig<TSchema, TRelations> & ({
76
+ connection: string | ({
77
+ url?: string;
78
+ } & SQL.Options);
79
+ } | {
80
+ client: TClient;
81
+ }))
82
+ ]): BunMySqlDatabase<TSchema, TRelations> & {
83
+ $client: TClient;
84
+ };
85
+ namespace mysql {
86
+ function mock<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations>(config?: BunMySqlDrizzleConfig<TSchema, TRelations>): BunMySqlDatabase<TSchema, TRelations> & {
87
+ $client: '$client is not available on drizzle.mock()';
88
+ };
89
+ }
31
90
  }
package/bun-sql/driver.js CHANGED
@@ -1,75 +1,46 @@
1
- import { SQL } from "bun";
2
- import * as V1 from "../_relations.js";
3
- import { entityKind } from "../entity.js";
4
- import { DefaultLogger } from "../logger.js";
5
- import { PgDatabase } from "../pg-core/db.js";
6
- import { PgDialect } from "../pg-core/dialect.js";
7
- import { isConfig } from "../utils.js";
8
- import { BunSQLSession } from "./session.js";
9
- class BunSQLDatabase extends PgDatabase {
10
- static [entityKind] = "BunSQLDatabase";
11
- }
12
- function construct(client, config = {}) {
13
- const dialect = new PgDialect({ casing: config.casing });
14
- let logger;
15
- if (config.logger === true) {
16
- logger = new DefaultLogger();
17
- } else if (config.logger !== false) {
18
- logger = config.logger;
19
- }
20
- let schema;
21
- if (config.schema) {
22
- const tablesConfig = V1.extractTablesRelationalConfig(
23
- config.schema,
24
- V1.createTableRelationsHelpers
25
- );
26
- schema = {
27
- fullSchema: config.schema,
28
- schema: tablesConfig.tables,
29
- tableNamesMap: tablesConfig.tableNamesMap
30
- };
31
- }
32
- const relations = config.relations ?? {};
33
- const session = new BunSQLSession(client, dialect, relations, schema, { logger, cache: config.cache });
34
- const db = new BunSQLDatabase(dialect, session, relations, schema);
35
- db.$client = client;
36
- db.$cache = config.cache;
37
- if (db.$cache) {
38
- db.$cache["invalidate"] = config.cache?.onMutate;
39
- }
40
- return db;
41
- }
1
+ import { drizzle as mysqlConstructor } from "./mysql/driver.js";
2
+ import { drizzle as postgresConstructor } from "./postgres/driver.js";
3
+ import { drizzle as sqliteConstructor } from "./sqlite/driver.js";
42
4
  function drizzle(...params) {
43
- if (typeof params[0] === "string") {
44
- const instance = new SQL(params[0]);
45
- return construct(instance, params[1]);
46
- }
47
- if (isConfig(params[0])) {
48
- const { connection, client, ...drizzleConfig } = params[0];
49
- if (client) return construct(client, drizzleConfig);
50
- if (typeof connection === "object" && connection.url !== void 0) {
51
- const { url, ...config } = connection;
52
- const instance2 = new SQL({ url, ...config });
53
- return construct(instance2, drizzleConfig);
54
- }
55
- const instance = new SQL(connection);
56
- return construct(instance, drizzleConfig);
57
- }
58
- return construct(params[0], params[1]);
5
+ return postgresConstructor(...params);
59
6
  }
60
7
  ((drizzle2) => {
61
8
  function mock(config) {
62
- return construct({
63
- options: {
64
- parsers: {},
65
- serializers: {}
66
- }
67
- }, config);
9
+ return postgresConstructor.mock(config);
68
10
  }
69
11
  drizzle2.mock = mock;
12
+ function postgres(...params) {
13
+ return postgresConstructor(...params);
14
+ }
15
+ drizzle2.postgres = postgres;
16
+ ((postgres2) => {
17
+ function mock2(config) {
18
+ return postgresConstructor.mock(config);
19
+ }
20
+ postgres2.mock = mock2;
21
+ })(postgres = drizzle2.postgres || (drizzle2.postgres = {}));
22
+ function sqlite(...params) {
23
+ return sqliteConstructor(...params);
24
+ }
25
+ drizzle2.sqlite = sqlite;
26
+ ((sqlite2) => {
27
+ function mock2(config) {
28
+ return sqliteConstructor.mock(config);
29
+ }
30
+ sqlite2.mock = mock2;
31
+ })(sqlite = drizzle2.sqlite || (drizzle2.sqlite = {}));
32
+ function mysql(...params) {
33
+ return mysqlConstructor(...params);
34
+ }
35
+ drizzle2.mysql = mysql;
36
+ ((mysql2) => {
37
+ function mock2(config) {
38
+ return mysqlConstructor.mock(config);
39
+ }
40
+ mysql2.mock = mock2;
41
+ })(mysql = drizzle2.mysql || (drizzle2.mysql = {}));
70
42
  })(drizzle || (drizzle = {}));
71
43
  export {
72
- BunSQLDatabase,
73
44
  drizzle
74
45
  };
75
46
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bun-sql/driver.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport type { SQLOptions } from 'bun';\nimport { SQL } from 'bun';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { BunSQLQueryResultHKT } from './session.ts';\nimport { BunSQLSession } from './session.ts';\n\nexport class BunSQLDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgDatabase<BunSQLQueryResultHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'BunSQLDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: SQL,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): BunSQLDatabase<TSchema, TRelations> & {\n\t$client: SQL;\n} {\n\tconst dialect = new PgDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new BunSQLSession(client, dialect, relations, schema, { logger, cache: config.cache });\n\tconst db = new BunSQLDatabase(dialect, session, relations, schema as any) as BunSQLDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQLOptions);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new SQL(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { url?: string } & SQLOptions;\n\t\t\tclient?: TClient;\n\t\t} & DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tif (typeof connection === 'object' && connection.url !== undefined) {\n\t\t\tconst { url, ...config } = connection;\n\n\t\t\tconst instance = new SQL({ url, ...config });\n\t\t\treturn construct(instance, drizzleConfig) as any;\n\t\t}\n\n\t\tconst instance = new SQL(connection);\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): BunSQLDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({\n\t\t\toptions: {\n\t\t\t\tparsers: {},\n\t\t\t\tserializers: {},\n\t\t\t},\n\t\t} as any, config) as any;\n\t}\n}\n"],"mappings":"AAGA,SAAS,WAAW;AACpB,YAAY,QAAQ;AACpB,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAA6B,gBAAgB;AAE7C,SAAS,qBAAqB;AAEvB,MAAM,uBAGH,WAAsD;AAAA,EAC/D,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,UAAU,EAAE,QAAQ,OAAO,OAAO,CAAC;AACvD,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,UAAU,IAAI,cAAc,QAAQ,SAAS,WAAW,QAAQ,EAAE,QAAQ,OAAO,OAAO,MAAM,CAAC;AACrG,QAAM,KAAK,IAAI,eAAe,SAAS,SAAS,WAAW,MAAa;AAIxE,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAKZ,QAiBF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,IAAI,IAAI,OAAO,CAAC,CAAC;AAElC,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAKzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,QAAI,OAAO,eAAe,YAAY,WAAW,QAAQ,QAAW;AACnE,YAAM,EAAE,KAAK,GAAG,OAAO,IAAI;AAE3B,YAAMA,YAAW,IAAI,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;AAC3C,aAAO,UAAUA,WAAU,aAAa;AAAA,IACzC;AAEA,UAAM,WAAW,IAAI,IAAI,UAAU;AACnC,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAmD;AACnG;AAAA,CAEO,CAAUC,aAAV;AACC,WAAS,KAIf,QAGC;AACD,WAAO,UAAU;AAAA,MAChB,SAAS;AAAA,QACR,SAAS,CAAC;AAAA,QACV,aAAa,CAAC;AAAA,MACf;AAAA,IACD,GAAU,MAAM;AAAA,EACjB;AAdO,EAAAA,SAAS;AAAA,GADA;","names":["instance","drizzle"]}
1
+ {"version":3,"sources":["../../src/bun-sql/driver.ts"],"sourcesContent":["import type { SQL } from 'bun';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport { type BunMySqlDatabase, type BunMySqlDrizzleConfig, drizzle as mysqlConstructor } from './mysql/driver.ts';\nimport { type BunSQLDatabase, drizzle as postgresConstructor } from './postgres/driver.ts';\nimport { type BunSQLiteDatabase, drizzle as sqliteConstructor } from './sqlite/driver.ts';\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends SQL = SQL,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): BunSQLDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\treturn postgresConstructor(...params);\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn postgresConstructor.mock(config);\n\t}\n\n\texport function postgres<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\tTClient extends SQL = SQL,\n\t>(\n\t\t...params: [\n\t\t\tTClient | string,\n\t\t] | [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t] | [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t): BunSQLDatabase<TSchema, TRelations> & {\n\t\t$client: TClient;\n\t} {\n\t\treturn postgresConstructor(...params);\n\t}\n\n\texport namespace postgres {\n\t\texport function mock<\n\t\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\t>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLDatabase<TSchema, TRelations> & {\n\t\t\t$client: '$client is not available on drizzle.mock()';\n\t\t} {\n\t\t\treturn postgresConstructor.mock(config);\n\t\t}\n\t}\n\n\texport function sqlite<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\tTClient extends SQL = SQL,\n\t>(\n\t\t...params: [\n\t\t\tTClient | string,\n\t\t] | [\n\t\t\tTClient | string,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t] | [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t): BunSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: TClient;\n\t} {\n\t\treturn sqliteConstructor(...params);\n\t}\n\n\texport namespace sqlite {\n\t\texport function mock<\n\t\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\t>(config?: DrizzleConfig<TSchema, TRelations>): BunSQLiteDatabase<TSchema, TRelations> & {\n\t\t\t$client: '$client is not available on drizzle.mock()';\n\t\t} {\n\t\t\treturn sqliteConstructor.mock(config);\n\t\t}\n\t}\n\n\texport function mysql<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\tTClient extends SQL = SQL,\n\t>(\n\t\t...params: [\n\t\t\tTClient | string,\n\t\t] | [\n\t\t\tTClient | string,\n\t\t\tBunMySqlDrizzleConfig<TSchema, TRelations>,\n\t\t] | [\n\t\t\t(\n\t\t\t\t& BunMySqlDrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: string | ({ url?: string } & SQL.Options);\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n\t): BunMySqlDatabase<TSchema, TRelations> & {\n\t\t$client: TClient;\n\t} {\n\t\treturn mysqlConstructor(...params) as BunMySqlDatabase<TSchema, TRelations> & {\n\t\t\t$client: TClient;\n\t\t};\n\t}\n\n\texport namespace mysql {\n\t\texport function mock<\n\t\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\t\tTRelations extends AnyRelations = EmptyRelations,\n\t\t>(config?: BunMySqlDrizzleConfig<TSchema, TRelations>): BunMySqlDatabase<TSchema, TRelations> & {\n\t\t\t$client: '$client is not available on drizzle.mock()';\n\t\t} {\n\t\t\treturn mysqlConstructor.mock(config) as BunMySqlDatabase<TSchema, TRelations> & {\n\t\t\t\t$client: '$client is not available on drizzle.mock()';\n\t\t\t};\n\t\t}\n\t}\n}\n"],"mappings":"AAGA,SAA4D,WAAW,wBAAwB;AAC/F,SAA8B,WAAW,2BAA2B;AACpE,SAAiC,WAAW,yBAAyB;AAE9D,SAAS,WAKZ,QAiBF;AACD,SAAO,oBAAoB,GAAG,MAAM;AACrC;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KAGd,QAEA;AACD,WAAO,oBAAoB,KAAK,MAAM;AAAA,EACvC;AAPO,EAAAA,SAAS;AAST,WAAS,YAKZ,QAiBF;AACD,WAAO,oBAAoB,GAAG,MAAM;AAAA,EACrC;AAxBO,EAAAA,SAAS;AA0BT,IAAUC,cAAV;AACC,aAASC,MAGd,QAEA;AACD,aAAO,oBAAoB,KAAK,MAAM;AAAA,IACvC;AAPO,IAAAD,UAAS,OAAAC;AAAA,KADA,WAAAF,SAAA,aAAAA,SAAA;AAWV,WAAS,UAKZ,QAiBF;AACD,WAAO,kBAAkB,GAAG,MAAM;AAAA,EACnC;AAxBO,EAAAA,SAAS;AA0BT,IAAUG,YAAV;AACC,aAASD,MAGd,QAEA;AACD,aAAO,kBAAkB,KAAK,MAAM;AAAA,IACrC;AAPO,IAAAC,QAAS,OAAAD;AAAA,KADA,SAAAF,SAAA,WAAAA,SAAA;AAWV,WAAS,SAKZ,QAiBF;AACD,WAAO,iBAAiB,GAAG,MAAM;AAAA,EAGlC;AA1BO,EAAAA,SAAS;AA4BT,IAAUI,WAAV;AACC,aAASF,MAGd,QAEA;AACD,aAAO,iBAAiB,KAAK,MAAM;AAAA,IAGpC;AATO,IAAAE,OAAS,OAAAF;AAAA,KADA,QAAAF,SAAA,UAAAA,SAAA;AAAA,GAhHD;","names":["drizzle","postgres","mock","sqlite","mysql"]}
@@ -21,11 +21,26 @@ __export(migrator_exports, {
21
21
  migrate: () => migrate
22
22
  });
23
23
  module.exports = __toCommonJS(migrator_exports);
24
- var import_migrator = require("../migrator.cjs");
24
+ var import_migrator = require("./mysql/migrator.cjs");
25
+ var import_migrator2 = require("./postgres/migrator.cjs");
26
+ var import_migrator3 = require("./sqlite/migrator.cjs");
25
27
  async function migrate(db, config) {
26
- const migrations = (0, import_migrator.readMigrationFiles)(config);
27
- await db.dialect.migrate(migrations, db.session, config);
28
+ return (0, import_migrator2.migrate)(db, config);
28
29
  }
30
+ ((migrate2) => {
31
+ async function postgres(db, config) {
32
+ return (0, import_migrator2.migrate)(db, config);
33
+ }
34
+ migrate2.postgres = postgres;
35
+ async function sqlite(db, config) {
36
+ return (0, import_migrator3.migrate)(db, config);
37
+ }
38
+ migrate2.sqlite = sqlite;
39
+ async function mysql(db, config) {
40
+ return (0, import_migrator.migrate)(db, config);
41
+ }
42
+ migrate2.mysql = mysql;
43
+ })(migrate || (migrate = {}));
29
44
  // Annotate the CommonJS export names for ESM import in node:
30
45
  0 && (module.exports = {
31
46
  migrate
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bun-sql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { BunSQLDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: BunSQLDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tawait db.dialect.migrate(migrations, db.session, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAmC;AAInC,eAAsB,QACrB,IACA,QACC;AACD,QAAM,iBAAa,oCAAmB,MAAM;AAC5C,QAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,MAAM;AACxD;","names":[]}
1
+ {"version":3,"sources":["../../src/bun-sql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { BunMySqlDatabase } from './mysql/driver.ts';\nimport { migrate as mysqlMigrator } from './mysql/migrator.ts';\nimport type { BunSQLDatabase } from './postgres/driver.ts';\nimport { migrate as pgMigrator } from './postgres/migrator.ts';\nimport type { BunSQLiteDatabase } from './sqlite/driver.ts';\nimport { migrate as sqliteMigrator } from './sqlite/migrator.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: BunSQLDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\treturn pgMigrator(db, config);\n}\n\nexport namespace migrate {\n\texport async function postgres<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\t\tdb: BunSQLDatabase<TSchema, TRelations>,\n\t\tconfig: MigrationConfig,\n\t) {\n\t\treturn pgMigrator(db, config);\n\t}\n\n\texport async function sqlite<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\t\tdb: BunSQLiteDatabase<TSchema, TRelations>,\n\t\tconfig: MigrationConfig,\n\t) {\n\t\treturn sqliteMigrator(db, config);\n\t}\n\n\texport async function mysql<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\t\tdb: BunMySqlDatabase<TSchema, TRelations>,\n\t\tconfig: MigrationConfig,\n\t) {\n\t\treturn mysqlMigrator(db, config);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sBAAyC;AAEzC,IAAAA,mBAAsC;AAEtC,IAAAA,mBAA0C;AAE1C,eAAsB,QACrB,IACA,QACC;AACD,aAAO,iBAAAC,SAAW,IAAI,MAAM;AAC7B;AAAA,CAEO,CAAUC,aAAV;AACN,iBAAsB,SACrB,IACA,QACC;AACD,eAAO,iBAAAD,SAAW,IAAI,MAAM;AAAA,EAC7B;AALA,EAAAC,SAAsB;AAOtB,iBAAsB,OACrB,IACA,QACC;AACD,eAAO,iBAAAC,SAAe,IAAI,MAAM;AAAA,EACjC;AALA,EAAAD,SAAsB;AAOtB,iBAAsB,MACrB,IACA,QACC;AACD,eAAO,gBAAAE,SAAc,IAAI,MAAM;AAAA,EAChC;AALA,EAAAF,SAAsB;AAAA,GAfN;","names":["import_migrator","pgMigrator","migrate","sqliteMigrator","mysqlMigrator"]}
@@ -1,4 +1,11 @@
1
1
  import type { MigrationConfig } from "../migrator.cjs";
2
2
  import type { AnyRelations } from "../relations.cjs";
3
- import type { BunSQLDatabase } from "./driver.cjs";
3
+ import type { BunMySqlDatabase } from "./mysql/driver.cjs";
4
+ import type { BunSQLDatabase } from "./postgres/driver.cjs";
5
+ import type { BunSQLiteDatabase } from "./sqlite/driver.cjs";
4
6
  export declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
7
+ export declare namespace migrate {
8
+ function postgres<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
9
+ function sqlite<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
10
+ function mysql<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunMySqlDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
11
+ }
@@ -1,4 +1,11 @@
1
1
  import type { MigrationConfig } from "../migrator.js";
2
2
  import type { AnyRelations } from "../relations.js";
3
- import type { BunSQLDatabase } from "./driver.js";
3
+ import type { BunMySqlDatabase } from "./mysql/driver.js";
4
+ import type { BunSQLDatabase } from "./postgres/driver.js";
5
+ import type { BunSQLiteDatabase } from "./sqlite/driver.js";
4
6
  export declare function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
7
+ export declare namespace migrate {
8
+ function postgres<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
9
+ function sqlite<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunSQLiteDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
10
+ function mysql<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(db: BunMySqlDatabase<TSchema, TRelations>, config: MigrationConfig): Promise<void>;
11
+ }
@@ -1,8 +1,23 @@
1
- import { readMigrationFiles } from "../migrator.js";
1
+ import { migrate as mysqlMigrator } from "./mysql/migrator.js";
2
+ import { migrate as pgMigrator } from "./postgres/migrator.js";
3
+ import { migrate as sqliteMigrator } from "./sqlite/migrator.js";
2
4
  async function migrate(db, config) {
3
- const migrations = readMigrationFiles(config);
4
- await db.dialect.migrate(migrations, db.session, config);
5
+ return pgMigrator(db, config);
5
6
  }
7
+ ((migrate2) => {
8
+ async function postgres(db, config) {
9
+ return pgMigrator(db, config);
10
+ }
11
+ migrate2.postgres = postgres;
12
+ async function sqlite(db, config) {
13
+ return sqliteMigrator(db, config);
14
+ }
15
+ migrate2.sqlite = sqlite;
16
+ async function mysql(db, config) {
17
+ return mysqlMigrator(db, config);
18
+ }
19
+ migrate2.mysql = mysql;
20
+ })(migrate || (migrate = {}));
6
21
  export {
7
22
  migrate
8
23
  };