drizzle-orm 0.34.0-178591 → 0.34.0-605ef48

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 (260) hide show
  1. package/aws-data-api/pg/driver.cjs +3 -1
  2. package/aws-data-api/pg/driver.cjs.map +1 -1
  3. package/aws-data-api/pg/driver.d.cts +4 -2
  4. package/aws-data-api/pg/driver.d.ts +4 -2
  5. package/aws-data-api/pg/driver.js +3 -1
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/migrator.cjs.map +1 -1
  8. package/aws-data-api/pg/migrator.d.cts +1 -1
  9. package/aws-data-api/pg/migrator.d.ts +1 -1
  10. package/aws-data-api/pg/migrator.js.map +1 -1
  11. package/aws-data-api/pg/session.cjs +3 -0
  12. package/aws-data-api/pg/session.cjs.map +1 -1
  13. package/aws-data-api/pg/session.js +3 -0
  14. package/aws-data-api/pg/session.js.map +1 -1
  15. package/better-sqlite3/driver.cjs +3 -1
  16. package/better-sqlite3/driver.cjs.map +1 -1
  17. package/better-sqlite3/driver.d.cts +3 -1
  18. package/better-sqlite3/driver.d.ts +3 -1
  19. package/better-sqlite3/driver.js +3 -1
  20. package/better-sqlite3/driver.js.map +1 -1
  21. package/better-sqlite3/migrator.cjs.map +1 -1
  22. package/better-sqlite3/migrator.d.cts +1 -1
  23. package/better-sqlite3/migrator.d.ts +1 -1
  24. package/better-sqlite3/migrator.js.map +1 -1
  25. package/bun-sqlite/driver.cjs +3 -1
  26. package/bun-sqlite/driver.cjs.map +1 -1
  27. package/bun-sqlite/driver.d.cts +3 -1
  28. package/bun-sqlite/driver.d.ts +3 -1
  29. package/bun-sqlite/driver.js +3 -1
  30. package/bun-sqlite/driver.js.map +1 -1
  31. package/bun-sqlite/migrator.cjs.map +1 -1
  32. package/bun-sqlite/migrator.d.cts +1 -1
  33. package/bun-sqlite/migrator.d.ts +1 -1
  34. package/bun-sqlite/migrator.js.map +1 -1
  35. package/d1/driver.cjs +3 -1
  36. package/d1/driver.cjs.map +1 -1
  37. package/d1/driver.d.cts +6 -2
  38. package/d1/driver.d.ts +6 -2
  39. package/d1/driver.js +3 -1
  40. package/d1/driver.js.map +1 -1
  41. package/d1/migrator.cjs +1 -1
  42. package/d1/migrator.cjs.map +1 -1
  43. package/d1/migrator.d.cts +1 -1
  44. package/d1/migrator.d.ts +1 -1
  45. package/d1/migrator.js +1 -1
  46. package/d1/migrator.js.map +1 -1
  47. package/expo-sqlite/driver.cjs +3 -1
  48. package/expo-sqlite/driver.cjs.map +1 -1
  49. package/expo-sqlite/driver.d.cts +3 -1
  50. package/expo-sqlite/driver.d.ts +3 -1
  51. package/expo-sqlite/driver.js +3 -1
  52. package/expo-sqlite/driver.js.map +1 -1
  53. package/libsql/driver.cjs +3 -1
  54. package/libsql/driver.cjs.map +1 -1
  55. package/libsql/driver.d.cts +3 -1
  56. package/libsql/driver.d.ts +3 -1
  57. package/libsql/driver.js +3 -1
  58. package/libsql/driver.js.map +1 -1
  59. package/libsql/migrator.cjs +1 -1
  60. package/libsql/migrator.cjs.map +1 -1
  61. package/libsql/migrator.d.cts +1 -1
  62. package/libsql/migrator.d.ts +1 -1
  63. package/libsql/migrator.js +1 -1
  64. package/libsql/migrator.js.map +1 -1
  65. package/migrator.cjs +1 -12
  66. package/migrator.cjs.map +1 -1
  67. package/migrator.d.cts +1 -1
  68. package/migrator.d.ts +1 -1
  69. package/migrator.js +1 -12
  70. package/migrator.js.map +1 -1
  71. package/monodriver.cjs +140 -53
  72. package/monodriver.cjs.map +1 -1
  73. package/monodriver.d.cts +85 -41
  74. package/monodriver.d.ts +85 -41
  75. package/monodriver.js +140 -53
  76. package/monodriver.js.map +1 -1
  77. package/monomigrator.cjs.map +1 -1
  78. package/monomigrator.d.cts +1 -1
  79. package/monomigrator.d.ts +1 -1
  80. package/monomigrator.js.map +1 -1
  81. package/mysql-core/db.cjs +2 -1
  82. package/mysql-core/db.cjs.map +1 -1
  83. package/mysql-core/db.d.cts +2 -2
  84. package/mysql-core/db.d.ts +2 -2
  85. package/mysql-core/db.js +2 -1
  86. package/mysql-core/db.js.map +1 -1
  87. package/mysql2/driver.cjs +5 -5
  88. package/mysql2/driver.cjs.map +1 -1
  89. package/mysql2/driver.d.cts +3 -1
  90. package/mysql2/driver.d.ts +3 -1
  91. package/mysql2/driver.js +5 -5
  92. package/mysql2/driver.js.map +1 -1
  93. package/mysql2/migrator.cjs +1 -4
  94. package/mysql2/migrator.cjs.map +1 -1
  95. package/mysql2/migrator.d.cts +1 -1
  96. package/mysql2/migrator.d.ts +1 -1
  97. package/mysql2/migrator.js +1 -4
  98. package/mysql2/migrator.js.map +1 -1
  99. package/neon-http/driver.cjs +3 -1
  100. package/neon-http/driver.cjs.map +1 -1
  101. package/neon-http/driver.d.cts +3 -1
  102. package/neon-http/driver.d.ts +3 -1
  103. package/neon-http/driver.js +3 -1
  104. package/neon-http/driver.js.map +1 -1
  105. package/neon-http/migrator.cjs +2 -2
  106. package/neon-http/migrator.cjs.map +1 -1
  107. package/neon-http/migrator.d.cts +1 -1
  108. package/neon-http/migrator.d.ts +1 -1
  109. package/neon-http/migrator.js +2 -2
  110. package/neon-http/migrator.js.map +1 -1
  111. package/neon-serverless/driver.cjs +3 -1
  112. package/neon-serverless/driver.cjs.map +1 -1
  113. package/neon-serverless/driver.d.cts +3 -1
  114. package/neon-serverless/driver.d.ts +3 -1
  115. package/neon-serverless/driver.js +3 -1
  116. package/neon-serverless/driver.js.map +1 -1
  117. package/neon-serverless/migrator.cjs.map +1 -1
  118. package/neon-serverless/migrator.d.cts +1 -1
  119. package/neon-serverless/migrator.d.ts +1 -1
  120. package/neon-serverless/migrator.js.map +1 -1
  121. package/node-postgres/driver.cjs +3 -1
  122. package/node-postgres/driver.cjs.map +1 -1
  123. package/node-postgres/driver.d.cts +3 -1
  124. package/node-postgres/driver.d.ts +3 -1
  125. package/node-postgres/driver.js +3 -1
  126. package/node-postgres/driver.js.map +1 -1
  127. package/node-postgres/migrator.cjs.map +1 -1
  128. package/node-postgres/migrator.d.cts +1 -1
  129. package/node-postgres/migrator.d.ts +1 -1
  130. package/node-postgres/migrator.js.map +1 -1
  131. package/node-postgres/session.cjs +15 -5
  132. package/node-postgres/session.cjs.map +1 -1
  133. package/node-postgres/session.d.cts +3 -2
  134. package/node-postgres/session.d.ts +3 -2
  135. package/node-postgres/session.js +15 -5
  136. package/node-postgres/session.js.map +1 -1
  137. package/op-sqlite/driver.cjs +3 -1
  138. package/op-sqlite/driver.cjs.map +1 -1
  139. package/op-sqlite/driver.d.cts +3 -1
  140. package/op-sqlite/driver.d.ts +3 -1
  141. package/op-sqlite/driver.js +3 -1
  142. package/op-sqlite/driver.js.map +1 -1
  143. package/package.json +50 -49
  144. package/pg-core/db.cjs +4 -3
  145. package/pg-core/db.cjs.map +1 -1
  146. package/pg-core/db.d.cts +2 -2
  147. package/pg-core/db.d.ts +2 -2
  148. package/pg-core/db.js +4 -3
  149. package/pg-core/db.js.map +1 -1
  150. package/pg-core/dialect.cjs +45 -2
  151. package/pg-core/dialect.cjs.map +1 -1
  152. package/pg-core/dialect.d.cts +2 -1
  153. package/pg-core/dialect.d.ts +2 -1
  154. package/pg-core/dialect.js +45 -2
  155. package/pg-core/dialect.js.map +1 -1
  156. package/pg-core/query-builders/select.cjs +5 -1
  157. package/pg-core/query-builders/select.cjs.map +1 -1
  158. package/pg-core/query-builders/select.d.cts +1 -0
  159. package/pg-core/query-builders/select.d.ts +1 -0
  160. package/pg-core/query-builders/select.js +5 -1
  161. package/pg-core/query-builders/select.js.map +1 -1
  162. package/pg-core/query-builders/select.types.cjs.map +1 -1
  163. package/pg-core/query-builders/select.types.d.cts +1 -0
  164. package/pg-core/query-builders/select.types.d.ts +1 -0
  165. package/pg-core/session.cjs.map +1 -1
  166. package/pg-core/session.d.cts +1 -1
  167. package/pg-core/session.d.ts +1 -1
  168. package/pg-core/session.js.map +1 -1
  169. package/pg-proxy/migrator.cjs.map +1 -1
  170. package/pg-proxy/migrator.d.cts +1 -1
  171. package/pg-proxy/migrator.d.ts +1 -1
  172. package/pg-proxy/migrator.js.map +1 -1
  173. package/pglite/driver.cjs +3 -1
  174. package/pglite/driver.cjs.map +1 -1
  175. package/pglite/driver.d.cts +3 -1
  176. package/pglite/driver.d.ts +3 -1
  177. package/pglite/driver.js +3 -1
  178. package/pglite/driver.js.map +1 -1
  179. package/pglite/migrator.cjs.map +1 -1
  180. package/pglite/migrator.d.cts +1 -1
  181. package/pglite/migrator.d.ts +1 -1
  182. package/pglite/migrator.js.map +1 -1
  183. package/planetscale-serverless/driver.cjs +3 -1
  184. package/planetscale-serverless/driver.cjs.map +1 -1
  185. package/planetscale-serverless/driver.d.cts +3 -1
  186. package/planetscale-serverless/driver.d.ts +3 -1
  187. package/planetscale-serverless/driver.js +3 -1
  188. package/planetscale-serverless/driver.js.map +1 -1
  189. package/planetscale-serverless/migrator.cjs +1 -4
  190. package/planetscale-serverless/migrator.cjs.map +1 -1
  191. package/planetscale-serverless/migrator.d.cts +1 -1
  192. package/planetscale-serverless/migrator.d.ts +1 -1
  193. package/planetscale-serverless/migrator.js +1 -4
  194. package/planetscale-serverless/migrator.js.map +1 -1
  195. package/postgres-js/driver.cjs +3 -1
  196. package/postgres-js/driver.cjs.map +1 -1
  197. package/postgres-js/driver.d.cts +3 -1
  198. package/postgres-js/driver.d.ts +3 -1
  199. package/postgres-js/driver.js +3 -1
  200. package/postgres-js/driver.js.map +1 -1
  201. package/postgres-js/migrator.cjs.map +1 -1
  202. package/postgres-js/migrator.d.cts +1 -1
  203. package/postgres-js/migrator.d.ts +1 -1
  204. package/postgres-js/migrator.js.map +1 -1
  205. package/postgres-js/session.cjs +7 -5
  206. package/postgres-js/session.cjs.map +1 -1
  207. package/postgres-js/session.d.cts +3 -2
  208. package/postgres-js/session.d.ts +3 -2
  209. package/postgres-js/session.js +7 -5
  210. package/postgres-js/session.js.map +1 -1
  211. package/sql-js/migrator.cjs.map +1 -1
  212. package/sql-js/migrator.d.cts +1 -1
  213. package/sql-js/migrator.d.ts +1 -1
  214. package/sql-js/migrator.js.map +1 -1
  215. package/sqlite-core/db.cjs +17 -16
  216. package/sqlite-core/db.cjs.map +1 -1
  217. package/sqlite-core/db.d.cts +5 -5
  218. package/sqlite-core/db.d.ts +5 -5
  219. package/sqlite-core/db.js +17 -16
  220. package/sqlite-core/db.js.map +1 -1
  221. package/sqlite-proxy/migrator.cjs.map +1 -1
  222. package/sqlite-proxy/migrator.d.cts +1 -1
  223. package/sqlite-proxy/migrator.d.ts +1 -1
  224. package/sqlite-proxy/migrator.js.map +1 -1
  225. package/tidb-serverless/driver.cjs +3 -1
  226. package/tidb-serverless/driver.cjs.map +1 -1
  227. package/tidb-serverless/driver.d.cts +3 -1
  228. package/tidb-serverless/driver.d.ts +3 -1
  229. package/tidb-serverless/driver.js +3 -1
  230. package/tidb-serverless/driver.js.map +1 -1
  231. package/utils.cjs.map +1 -1
  232. package/utils.d.cts +1 -0
  233. package/utils.d.ts +1 -0
  234. package/utils.js.map +1 -1
  235. package/vercel-postgres/driver.cjs +3 -1
  236. package/vercel-postgres/driver.cjs.map +1 -1
  237. package/vercel-postgres/driver.d.cts +3 -1
  238. package/vercel-postgres/driver.d.ts +3 -1
  239. package/vercel-postgres/driver.js +3 -1
  240. package/vercel-postgres/driver.js.map +1 -1
  241. package/vercel-postgres/migrator.cjs.map +1 -1
  242. package/vercel-postgres/migrator.d.cts +1 -1
  243. package/vercel-postgres/migrator.d.ts +1 -1
  244. package/vercel-postgres/migrator.js.map +1 -1
  245. package/version.cjs +1 -1
  246. package/version.d.cts +1 -1
  247. package/version.d.ts +1 -1
  248. package/version.js +1 -1
  249. package/xata-http/driver.cjs +3 -1
  250. package/xata-http/driver.cjs.map +1 -1
  251. package/xata-http/driver.d.cts +3 -1
  252. package/xata-http/driver.d.ts +3 -1
  253. package/xata-http/driver.js +3 -1
  254. package/xata-http/driver.js.map +1 -1
  255. package/xata-http/migrator.cjs +1 -1
  256. package/xata-http/migrator.cjs.map +1 -1
  257. package/xata-http/migrator.d.cts +1 -1
  258. package/xata-http/migrator.d.ts +1 -1
  259. package/xata-http/migrator.js +1 -1
  260. package/xata-http/migrator.js.map +1 -1
package/version.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- var version = "0.34.0-178591";
1
+ var version = "0.34.0-605ef48";
2
2
 
3
3
  declare const compatibilityVersion = 8;
4
4
 
package/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- var version = "0.34.0-178591";
1
+ var version = "0.34.0-605ef48";
2
2
 
3
3
  declare const compatibilityVersion = 8;
4
4
 
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "0.34.0-178591";
2
+ var version = "0.34.0-605ef48";
3
3
 
4
4
  // src/version.ts
5
5
  var compatibilityVersion = 8;
@@ -67,11 +67,13 @@ function drizzle(client, config = {}) {
67
67
  }
68
68
  const driver = new XataHttpDriver(client, dialect, { logger });
69
69
  const session = driver.createSession(schema);
70
- return new XataHttpDatabase(
70
+ const db = new XataHttpDatabase(
71
71
  dialect,
72
72
  session,
73
73
  schema
74
74
  );
75
+ db.$client = client;
76
+ return db;
75
77
  }
76
78
  // Annotate the CommonJS export names for ESM import in node:
77
79
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/xata-http/driver.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { createTableRelationsHelpers, extractTablesRelationalConfig } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { XataHttpClient, XataHttpQueryResultHKT } from './session.ts';\nimport { XataHttpSession } from './session.ts';\n\nexport interface XataDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class XataHttpDriver {\n\tstatic readonly [entityKind]: string = 'XataDriver';\n\n\tconstructor(\n\t\tprivate client: XataHttpClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: XataDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): XataHttpSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new XataHttpSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\t// TODO: Add custom type parsers\n\t}\n}\n\nexport class XataHttpDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends PgDatabase<XataHttpQueryResultHKT, TSchema>\n{\n\tstatic readonly [entityKind]: string = 'XataHttpDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: XataHttpSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n}\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: XataHttpClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): XataHttpDatabase<TSchema> {\n\tconst dialect = new PgDialect();\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: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);\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 driver = new XataHttpDriver(client, dialect, { logger });\n\tconst session = driver.createSession(schema);\n\n\treturn new XataHttpDatabase(\n\t\tdialect,\n\t\tsession,\n\t\tschema as RelationalSchemaConfig<ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAE3B,oBAA8B;AAC9B,gBAA2B;AAC3B,qBAA0B;AAE1B,uBAA2E;AAG3E,qBAAgC;AAMzB,MAAM,eAAe;AAAA,EAG3B,YACS,QACA,SACA,UAA6B,CAAC,GACrC;AAHO;AACA;AACA;AAER,SAAK,YAAY;AAAA,EAClB;AAAA,EARA,QAAiB,wBAAU,IAAY;AAAA,EAUvC,cACC,QACmE;AACnE,WAAO,IAAI,+BAAgB,KAAK,QAAQ,KAAK,SAAS,QAAQ;AAAA,MAC7D,QAAQ,KAAK,QAAQ;AAAA,IACtB,CAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd;AACD;AAEO,MAAM,yBACJ,qBACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAIxC;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GACN;AAC5B,QAAM,UAAU,IAAI,yBAAU;AAC9B,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,mBAAe,gDAA8B,OAAO,QAAQ,4CAA2B;AAC7F,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,SAAS,IAAI,eAAe,QAAQ,SAAS,EAAE,OAAO,CAAC;AAC7D,QAAM,UAAU,OAAO,cAAc,MAAM;AAE3C,SAAO,IAAI;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/xata-http/driver.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { createTableRelationsHelpers, extractTablesRelationalConfig } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { XataHttpClient, XataHttpQueryResultHKT } from './session.ts';\nimport { XataHttpSession } from './session.ts';\n\nexport interface XataDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class XataHttpDriver {\n\tstatic readonly [entityKind]: string = 'XataDriver';\n\n\tconstructor(\n\t\tprivate client: XataHttpClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: XataDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): XataHttpSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new XataHttpSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\t// TODO: Add custom type parsers\n\t}\n}\n\nexport class XataHttpDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends PgDatabase<XataHttpQueryResultHKT, TSchema>\n{\n\tstatic readonly [entityKind]: string = 'XataHttpDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: XataHttpSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n}\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: XataHttpClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): XataHttpDatabase<TSchema> & {\n\t$client: XataHttpClient;\n} {\n\tconst dialect = new PgDialect();\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: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);\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 driver = new XataHttpDriver(client, dialect, { logger });\n\tconst session = driver.createSession(schema);\n\n\tconst db = new XataHttpDatabase(\n\t\tdialect,\n\t\tsession,\n\t\tschema as RelationalSchemaConfig<ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAE3B,oBAA8B;AAC9B,gBAA2B;AAC3B,qBAA0B;AAE1B,uBAA2E;AAG3E,qBAAgC;AAMzB,MAAM,eAAe;AAAA,EAG3B,YACS,QACA,SACA,UAA6B,CAAC,GACrC;AAHO;AACA;AACA;AAER,SAAK,YAAY;AAAA,EAClB;AAAA,EARA,QAAiB,wBAAU,IAAY;AAAA,EAUvC,cACC,QACmE;AACnE,WAAO,IAAI,+BAAgB,KAAK,QAAQ,KAAK,SAAS,QAAQ;AAAA,MAC7D,QAAQ,KAAK,QAAQ;AAAA,IACtB,CAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd;AACD;AAEO,MAAM,yBACJ,qBACT;AAAA,EACC,QAAiB,wBAAU,IAAY;AAIxC;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,yBAAU;AAC9B,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,mBAAe,gDAA8B,OAAO,QAAQ,4CAA2B;AAC7F,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,SAAS,IAAI,eAAe,QAAQ,SAAS,EAAE,OAAO,CAAC;AAC7D,QAAM,UAAU,OAAO,cAAc,MAAM;AAE3C,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -21,4 +21,6 @@ export declare class XataHttpDriver {
21
21
  export declare class XataHttpDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends PgDatabase<XataHttpQueryResultHKT, TSchema> {
22
22
  static readonly [entityKind]: string;
23
23
  }
24
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: XataHttpClient, config?: DrizzleConfig<TSchema>): XataHttpDatabase<TSchema>;
24
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: XataHttpClient, config?: DrizzleConfig<TSchema>): XataHttpDatabase<TSchema> & {
25
+ $client: XataHttpClient;
26
+ };
@@ -21,4 +21,6 @@ export declare class XataHttpDriver {
21
21
  export declare class XataHttpDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends PgDatabase<XataHttpQueryResultHKT, TSchema> {
22
22
  static readonly [entityKind]: string;
23
23
  }
24
- export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: XataHttpClient, config?: DrizzleConfig<TSchema>): XataHttpDatabase<TSchema>;
24
+ export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: XataHttpClient, config?: DrizzleConfig<TSchema>): XataHttpDatabase<TSchema> & {
25
+ $client: XataHttpClient;
26
+ };
@@ -42,11 +42,13 @@ function drizzle(client, config = {}) {
42
42
  }
43
43
  const driver = new XataHttpDriver(client, dialect, { logger });
44
44
  const session = driver.createSession(schema);
45
- return new XataHttpDatabase(
45
+ const db = new XataHttpDatabase(
46
46
  dialect,
47
47
  session,
48
48
  schema
49
49
  );
50
+ db.$client = client;
51
+ return db;
50
52
  }
51
53
  export {
52
54
  XataHttpDatabase,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/xata-http/driver.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { createTableRelationsHelpers, extractTablesRelationalConfig } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { XataHttpClient, XataHttpQueryResultHKT } from './session.ts';\nimport { XataHttpSession } from './session.ts';\n\nexport interface XataDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class XataHttpDriver {\n\tstatic readonly [entityKind]: string = 'XataDriver';\n\n\tconstructor(\n\t\tprivate client: XataHttpClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: XataDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): XataHttpSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new XataHttpSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\t// TODO: Add custom type parsers\n\t}\n}\n\nexport class XataHttpDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends PgDatabase<XataHttpQueryResultHKT, TSchema>\n{\n\tstatic readonly [entityKind]: string = 'XataHttpDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: XataHttpSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n}\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: XataHttpClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): XataHttpDatabase<TSchema> {\n\tconst dialect = new PgDialect();\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: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);\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 driver = new XataHttpDriver(client, dialect, { logger });\n\tconst session = driver.createSession(schema);\n\n\treturn new XataHttpDatabase(\n\t\tdialect,\n\t\tsession,\n\t\tschema as RelationalSchemaConfig<ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,6BAA6B,qCAAqC;AAG3E,SAAS,uBAAuB;AAMzB,MAAM,eAAe;AAAA,EAG3B,YACS,QACA,SACA,UAA6B,CAAC,GACrC;AAHO;AACA;AACA;AAER,SAAK,YAAY;AAAA,EAClB;AAAA,EARA,QAAiB,UAAU,IAAY;AAAA,EAUvC,cACC,QACmE;AACnE,WAAO,IAAI,gBAAgB,KAAK,QAAQ,KAAK,SAAS,QAAQ;AAAA,MAC7D,QAAQ,KAAK,QAAQ;AAAA,IACtB,CAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd;AACD;AAEO,MAAM,yBACJ,WACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAIxC;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GACN;AAC5B,QAAM,UAAU,IAAI,UAAU;AAC9B,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,8BAA8B,OAAO,QAAQ,2BAA2B;AAC7F,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,SAAS,IAAI,eAAe,QAAQ,SAAS,EAAE,OAAO,CAAC;AAC7D,QAAM,UAAU,OAAO,cAAc,MAAM;AAE3C,SAAO,IAAI;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/xata-http/driver.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgDatabase } from '~/pg-core/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { ExtractTablesWithRelations, RelationalSchemaConfig, TablesRelationalConfig } from '~/relations.ts';\nimport { createTableRelationsHelpers, extractTablesRelationalConfig } from '~/relations.ts';\nimport type { DrizzleConfig } from '~/utils.ts';\nimport type { XataHttpClient, XataHttpQueryResultHKT } from './session.ts';\nimport { XataHttpSession } from './session.ts';\n\nexport interface XataDriverOptions {\n\tlogger?: Logger;\n}\n\nexport class XataHttpDriver {\n\tstatic readonly [entityKind]: string = 'XataDriver';\n\n\tconstructor(\n\t\tprivate client: XataHttpClient,\n\t\tprivate dialect: PgDialect,\n\t\tprivate options: XataDriverOptions = {},\n\t) {\n\t\tthis.initMappers();\n\t}\n\n\tcreateSession(\n\t\tschema: RelationalSchemaConfig<TablesRelationalConfig> | undefined,\n\t): XataHttpSession<Record<string, unknown>, TablesRelationalConfig> {\n\t\treturn new XataHttpSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t});\n\t}\n\n\tinitMappers() {\n\t\t// TODO: Add custom type parsers\n\t}\n}\n\nexport class XataHttpDatabase<TSchema extends Record<string, unknown> = Record<string, never>>\n\textends PgDatabase<XataHttpQueryResultHKT, TSchema>\n{\n\tstatic readonly [entityKind]: string = 'XataHttpDatabase';\n\n\t/** @internal */\n\tdeclare readonly session: XataHttpSession<TSchema, ExtractTablesWithRelations<TSchema>>;\n}\n\nexport function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(\n\tclient: XataHttpClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): XataHttpDatabase<TSchema> & {\n\t$client: XataHttpClient;\n} {\n\tconst dialect = new PgDialect();\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: RelationalSchemaConfig<TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = extractTablesRelationalConfig(config.schema, createTableRelationsHelpers);\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 driver = new XataHttpDriver(client, dialect, { logger });\n\tconst session = driver.createSession(schema);\n\n\tconst db = new XataHttpDatabase(\n\t\tdialect,\n\t\tsession,\n\t\tschema as RelationalSchemaConfig<ExtractTablesWithRelations<TSchema>> | undefined,\n\t);\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAE1B,SAAS,6BAA6B,qCAAqC;AAG3E,SAAS,uBAAuB;AAMzB,MAAM,eAAe;AAAA,EAG3B,YACS,QACA,SACA,UAA6B,CAAC,GACrC;AAHO;AACA;AACA;AAER,SAAK,YAAY;AAAA,EAClB;AAAA,EARA,QAAiB,UAAU,IAAY;AAAA,EAUvC,cACC,QACmE;AACnE,WAAO,IAAI,gBAAgB,KAAK,QAAQ,KAAK,SAAS,QAAQ;AAAA,MAC7D,QAAQ,KAAK,QAAQ;AAAA,IACtB,CAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd;AACD;AAEO,MAAM,yBACJ,WACT;AAAA,EACC,QAAiB,UAAU,IAAY;AAIxC;AAEO,SAAS,QACf,QACA,SAAiC,CAAC,GAGjC;AACD,QAAM,UAAU,IAAI,UAAU;AAC9B,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,8BAA8B,OAAO,QAAQ,2BAA2B;AAC7F,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,SAAS,IAAI,eAAe,QAAQ,SAAS,EAAE,OAAO,CAAC;AAC7D,QAAM,UAAU,OAAO,cAAc,MAAM;AAE3C,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,EAAO,GAAI,UAAU;AAErB,SAAO;AACR;","names":[]}
@@ -25,7 +25,7 @@ var import_migrator = require("../migrator.cjs");
25
25
  var import_sql = require("../sql/sql.cjs");
26
26
  async function migrate(db, config) {
27
27
  const migrations = (0, import_migrator.readMigrationFiles)(config);
28
- const migrationsTable = typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
28
+ const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
29
29
  const migrationTableCreate = import_sql.sql`
30
30
  CREATE TABLE IF NOT EXISTS ${import_sql.sql.identifier(migrationsTable)} (
31
31
  id SERIAL PRIMARY KEY,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/xata-http/migrator.ts"],"sourcesContent":["import { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { XataHttpDatabase } from './driver.ts';\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n}\n\n/**\n * This function reads migrationFolder and execute each unapplied migration and mark it as executed in database\n *\n * NOTE: The Xata HTTP driver does not support transactions. This means that if any part of a migration fails,\n * no rollback will be executed. Currently, you will need to handle unsuccessful migration yourself.\n * @param db - drizzle db instance\n * @param config - path to migration folder generated by drizzle-kit\n */ export async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: XataHttpDatabase<TSchema>,\n\tconfig: string | MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at bigint\n\t\t)\n\t`;\n\tawait db.session.execute(migrationTableCreate);\n\n\tconst dbMigrations = await db.session.all<{\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t}>(\n\t\tsql`select id, hash, created_at from ${sql.identifier(migrationsTable)} order by created_at desc limit 1`,\n\t);\n\n\tconst lastDbMigration = dbMigrations[0];\n\n\tfor await (const migration of migrations) {\n\t\tif (!lastDbMigration || Number(lastDbMigration.created_at) < migration.folderMillis) {\n\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\tawait db.session.execute(sql.raw(stmt));\n\t\t\t}\n\n\t\t\tawait db.session.execute(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\") values(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t);\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAmC;AACnC,iBAAoB;AAehB,eAAsB,QACzB,IACA,QACC;AACD,QAAM,iBAAa,oCAAmB,MAAM;AAC5C,QAAM,kBAAkB,OAAO,WAAW,WACvC,yBACA,OAAO,mBAAmB;AAC7B,QAAM,uBAAuB;AAAA,+BACC,eAAI,WAAW,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAM7D,QAAM,GAAG,QAAQ,QAAQ,oBAAoB;AAE7C,QAAM,eAAe,MAAM,GAAG,QAAQ;AAAA,IAKrC,kDAAuC,eAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAEA,QAAM,kBAAkB,aAAa,CAAC;AAEtC,mBAAiB,aAAa,YAAY;AACzC,QAAI,CAAC,mBAAmB,OAAO,gBAAgB,UAAU,IAAI,UAAU,cAAc;AACpF,iBAAW,QAAQ,UAAU,KAAK;AACjC,cAAM,GAAG,QAAQ,QAAQ,eAAI,IAAI,IAAI,CAAC;AAAA,MACvC;AAEA,YAAM,GAAG,QAAQ;AAAA,QAChB,6BACC,eAAI,WAAW,eAAe,CAC/B,kCAAkC,UAAU,IAAI,KAAK,UAAU,YAAY;AAAA,MAC5E;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/xata-http/migrator.ts"],"sourcesContent":["import { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { XataHttpDatabase } from './driver.ts';\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n}\n\n/**\n * This function reads migrationFolder and execute each unapplied migration and mark it as executed in database\n *\n * NOTE: The Xata HTTP driver does not support transactions. This means that if any part of a migration fails,\n * no rollback will be executed. Currently, you will need to handle unsuccessful migration yourself.\n * @param db - drizzle db instance\n * @param config - path to migration folder generated by drizzle-kit\n */ export async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: XataHttpDatabase<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at bigint\n\t\t)\n\t`;\n\tawait db.session.execute(migrationTableCreate);\n\n\tconst dbMigrations = await db.session.all<{\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t}>(\n\t\tsql`select id, hash, created_at from ${sql.identifier(migrationsTable)} order by created_at desc limit 1`,\n\t);\n\n\tconst lastDbMigration = dbMigrations[0];\n\n\tfor await (const migration of migrations) {\n\t\tif (!lastDbMigration || Number(lastDbMigration.created_at) < migration.folderMillis) {\n\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\tawait db.session.execute(sql.raw(stmt));\n\t\t\t}\n\n\t\t\tawait db.session.execute(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\") values(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t);\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAmC;AACnC,iBAAoB;AAehB,eAAsB,QACzB,IACA,QACC;AACD,QAAM,iBAAa,oCAAmB,MAAM;AAC5C,QAAM,kBAAkB,OAAO,mBAAmB;AAClD,QAAM,uBAAuB;AAAA,+BACC,eAAI,WAAW,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAM7D,QAAM,GAAG,QAAQ,QAAQ,oBAAoB;AAE7C,QAAM,eAAe,MAAM,GAAG,QAAQ;AAAA,IAKrC,kDAAuC,eAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAEA,QAAM,kBAAkB,aAAa,CAAC;AAEtC,mBAAiB,aAAa,YAAY;AACzC,QAAI,CAAC,mBAAmB,OAAO,gBAAgB,UAAU,IAAI,UAAU,cAAc;AACpF,iBAAW,QAAQ,UAAU,KAAK;AACjC,cAAM,GAAG,QAAQ,QAAQ,eAAI,IAAI,IAAI,CAAC;AAAA,MACvC;AAEA,YAAM,GAAG,QAAQ;AAAA,QAChB,6BACC,eAAI,WAAW,eAAe,CAC/B,kCAAkC,UAAU,IAAI,KAAK,UAAU,YAAY;AAAA,MAC5E;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
@@ -10,4 +10,4 @@ export interface MigrationConfig {
10
10
  * no rollback will be executed. Currently, you will need to handle unsuccessful migration yourself.
11
11
  * @param db - drizzle db instance
12
12
  * @param config - path to migration folder generated by drizzle-kit
13
- */ export declare function migrate<TSchema extends Record<string, unknown>>(db: XataHttpDatabase<TSchema>, config: string | MigrationConfig): Promise<void>;
13
+ */ export declare function migrate<TSchema extends Record<string, unknown>>(db: XataHttpDatabase<TSchema>, config: MigrationConfig): Promise<void>;
@@ -10,4 +10,4 @@ export interface MigrationConfig {
10
10
  * no rollback will be executed. Currently, you will need to handle unsuccessful migration yourself.
11
11
  * @param db - drizzle db instance
12
12
  * @param config - path to migration folder generated by drizzle-kit
13
- */ export declare function migrate<TSchema extends Record<string, unknown>>(db: XataHttpDatabase<TSchema>, config: string | MigrationConfig): Promise<void>;
13
+ */ export declare function migrate<TSchema extends Record<string, unknown>>(db: XataHttpDatabase<TSchema>, config: MigrationConfig): Promise<void>;
@@ -2,7 +2,7 @@ import { readMigrationFiles } from "../migrator.js";
2
2
  import { sql } from "../sql/sql.js";
3
3
  async function migrate(db, config) {
4
4
  const migrations = readMigrationFiles(config);
5
- const migrationsTable = typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
5
+ const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
6
6
  const migrationTableCreate = sql`
7
7
  CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
8
8
  id SERIAL PRIMARY KEY,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/xata-http/migrator.ts"],"sourcesContent":["import { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { XataHttpDatabase } from './driver.ts';\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n}\n\n/**\n * This function reads migrationFolder and execute each unapplied migration and mark it as executed in database\n *\n * NOTE: The Xata HTTP driver does not support transactions. This means that if any part of a migration fails,\n * no rollback will be executed. Currently, you will need to handle unsuccessful migration yourself.\n * @param db - drizzle db instance\n * @param config - path to migration folder generated by drizzle-kit\n */ export async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: XataHttpDatabase<TSchema>,\n\tconfig: string | MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at bigint\n\t\t)\n\t`;\n\tawait db.session.execute(migrationTableCreate);\n\n\tconst dbMigrations = await db.session.all<{\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t}>(\n\t\tsql`select id, hash, created_at from ${sql.identifier(migrationsTable)} order by created_at desc limit 1`,\n\t);\n\n\tconst lastDbMigration = dbMigrations[0];\n\n\tfor await (const migration of migrations) {\n\t\tif (!lastDbMigration || Number(lastDbMigration.created_at) < migration.folderMillis) {\n\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\tawait db.session.execute(sql.raw(stmt));\n\t\t\t}\n\n\t\t\tawait db.session.execute(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\") values(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t);\n\t\t}\n\t}\n}\n"],"mappings":"AAAA,SAAS,0BAA0B;AACnC,SAAS,WAAW;AAehB,eAAsB,QACzB,IACA,QACC;AACD,QAAM,aAAa,mBAAmB,MAAM;AAC5C,QAAM,kBAAkB,OAAO,WAAW,WACvC,yBACA,OAAO,mBAAmB;AAC7B,QAAM,uBAAuB;AAAA,+BACC,IAAI,WAAW,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAM7D,QAAM,GAAG,QAAQ,QAAQ,oBAAoB;AAE7C,QAAM,eAAe,MAAM,GAAG,QAAQ;AAAA,IAKrC,uCAAuC,IAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAEA,QAAM,kBAAkB,aAAa,CAAC;AAEtC,mBAAiB,aAAa,YAAY;AACzC,QAAI,CAAC,mBAAmB,OAAO,gBAAgB,UAAU,IAAI,UAAU,cAAc;AACpF,iBAAW,QAAQ,UAAU,KAAK;AACjC,cAAM,GAAG,QAAQ,QAAQ,IAAI,IAAI,IAAI,CAAC;AAAA,MACvC;AAEA,YAAM,GAAG,QAAQ;AAAA,QAChB,kBACC,IAAI,WAAW,eAAe,CAC/B,kCAAkC,UAAU,IAAI,KAAK,UAAU,YAAY;AAAA,MAC5E;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/xata-http/migrator.ts"],"sourcesContent":["import { readMigrationFiles } from '~/migrator.ts';\nimport { sql } from '~/sql/sql.ts';\nimport type { XataHttpDatabase } from './driver.ts';\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n}\n\n/**\n * This function reads migrationFolder and execute each unapplied migration and mark it as executed in database\n *\n * NOTE: The Xata HTTP driver does not support transactions. This means that if any part of a migration fails,\n * no rollback will be executed. Currently, you will need to handle unsuccessful migration yourself.\n * @param db - drizzle db instance\n * @param config - path to migration folder generated by drizzle-kit\n */ export async function migrate<TSchema extends Record<string, unknown>>(\n\tdb: XataHttpDatabase<TSchema>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at bigint\n\t\t)\n\t`;\n\tawait db.session.execute(migrationTableCreate);\n\n\tconst dbMigrations = await db.session.all<{\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t}>(\n\t\tsql`select id, hash, created_at from ${sql.identifier(migrationsTable)} order by created_at desc limit 1`,\n\t);\n\n\tconst lastDbMigration = dbMigrations[0];\n\n\tfor await (const migration of migrations) {\n\t\tif (!lastDbMigration || Number(lastDbMigration.created_at) < migration.folderMillis) {\n\t\t\tfor (const stmt of migration.sql) {\n\t\t\t\tawait db.session.execute(sql.raw(stmt));\n\t\t\t}\n\n\t\t\tawait db.session.execute(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\") values(${migration.hash}, ${migration.folderMillis})`,\n\t\t\t);\n\t\t}\n\t}\n}\n"],"mappings":"AAAA,SAAS,0BAA0B;AACnC,SAAS,WAAW;AAehB,eAAsB,QACzB,IACA,QACC;AACD,QAAM,aAAa,mBAAmB,MAAM;AAC5C,QAAM,kBAAkB,OAAO,mBAAmB;AAClD,QAAM,uBAAuB;AAAA,+BACC,IAAI,WAAW,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAM7D,QAAM,GAAG,QAAQ,QAAQ,oBAAoB;AAE7C,QAAM,eAAe,MAAM,GAAG,QAAQ;AAAA,IAKrC,uCAAuC,IAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAEA,QAAM,kBAAkB,aAAa,CAAC;AAEtC,mBAAiB,aAAa,YAAY;AACzC,QAAI,CAAC,mBAAmB,OAAO,gBAAgB,UAAU,IAAI,UAAU,cAAc;AACpF,iBAAW,QAAQ,UAAU,KAAK;AACjC,cAAM,GAAG,QAAQ,QAAQ,IAAI,IAAI,IAAI,CAAC;AAAA,MACvC;AAEA,YAAM,GAAG,QAAQ;AAAA,QAChB,kBACC,IAAI,WAAW,eAAe,CAC/B,kCAAkC,UAAU,IAAI,KAAK,UAAU,YAAY;AAAA,MAC5E;AAAA,IACD;AAAA,EACD;AACD;","names":[]}