uql-orm 0.1.0

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 (540) hide show
  1. package/CHANGELOG.md +521 -0
  2. package/LICENSE.md +22 -0
  3. package/README.md +560 -0
  4. package/dist/browser/cc-BEf4wTUm.js +535 -0
  5. package/dist/browser/cc-BEf4wTUm.js.map +1 -0
  6. package/dist/browser/http/bus.d.ts +4 -0
  7. package/dist/browser/http/bus.d.ts.map +1 -0
  8. package/dist/browser/http/bus.js +14 -0
  9. package/dist/browser/http/bus.js.map +1 -0
  10. package/dist/browser/http/http.d.ts +7 -0
  11. package/dist/browser/http/http.d.ts.map +1 -0
  12. package/dist/browser/http/http.js +45 -0
  13. package/dist/browser/http/http.js.map +1 -0
  14. package/dist/browser/http/index.d.ts +3 -0
  15. package/dist/browser/http/index.d.ts.map +1 -0
  16. package/dist/browser/http/index.js +3 -0
  17. package/dist/browser/http/index.js.map +1 -0
  18. package/dist/browser/index.d.ts +5 -0
  19. package/dist/browser/index.d.ts.map +1 -0
  20. package/dist/browser/index.js +5 -0
  21. package/dist/browser/index.js.map +1 -0
  22. package/dist/browser/options.d.ts +5 -0
  23. package/dist/browser/options.d.ts.map +1 -0
  24. package/dist/browser/options.js +14 -0
  25. package/dist/browser/options.js.map +1 -0
  26. package/dist/browser/querier/httpQuerier.d.ts +20 -0
  27. package/dist/browser/querier/httpQuerier.d.ts.map +1 -0
  28. package/dist/browser/querier/httpQuerier.js +68 -0
  29. package/dist/browser/querier/httpQuerier.js.map +1 -0
  30. package/dist/browser/querier/index.d.ts +3 -0
  31. package/dist/browser/querier/index.d.ts.map +1 -0
  32. package/dist/browser/querier/index.js +3 -0
  33. package/dist/browser/querier/index.js.map +1 -0
  34. package/dist/browser/querier/querier.util.d.ts +3 -0
  35. package/dist/browser/querier/querier.util.d.ts.map +1 -0
  36. package/dist/browser/querier/querier.util.js +17 -0
  37. package/dist/browser/querier/querier.util.js.map +1 -0
  38. package/dist/browser/type/clientQuerier.d.ts +24 -0
  39. package/dist/browser/type/clientQuerier.d.ts.map +1 -0
  40. package/dist/browser/type/clientQuerier.js +2 -0
  41. package/dist/browser/type/clientQuerier.js.map +1 -0
  42. package/dist/browser/type/clientQuerierPool.d.ts +5 -0
  43. package/dist/browser/type/clientQuerierPool.d.ts.map +1 -0
  44. package/dist/browser/type/clientQuerierPool.js +2 -0
  45. package/dist/browser/type/clientQuerierPool.js.map +1 -0
  46. package/dist/browser/type/index.d.ts +4 -0
  47. package/dist/browser/type/index.d.ts.map +1 -0
  48. package/dist/browser/type/index.js +4 -0
  49. package/dist/browser/type/index.js.map +1 -0
  50. package/dist/browser/type/request.d.ts +29 -0
  51. package/dist/browser/type/request.d.ts.map +1 -0
  52. package/dist/browser/type/request.js +2 -0
  53. package/dist/browser/type/request.js.map +1 -0
  54. package/dist/browser/uql-browser.min.js +4818 -0
  55. package/dist/browser/uql-browser.min.js.map +1 -0
  56. package/dist/d1/d1Querier.d.ts +45 -0
  57. package/dist/d1/d1Querier.d.ts.map +1 -0
  58. package/dist/d1/d1Querier.js +31 -0
  59. package/dist/d1/d1Querier.js.map +1 -0
  60. package/dist/d1/d1QuerierPool.d.ts +10 -0
  61. package/dist/d1/d1QuerierPool.d.ts.map +1 -0
  62. package/dist/d1/d1QuerierPool.js +16 -0
  63. package/dist/d1/d1QuerierPool.js.map +1 -0
  64. package/dist/d1/index.d.ts +3 -0
  65. package/dist/d1/index.d.ts.map +1 -0
  66. package/dist/d1/index.js +3 -0
  67. package/dist/d1/index.js.map +1 -0
  68. package/dist/dialect/abstractDialect.d.ts +22 -0
  69. package/dist/dialect/abstractDialect.d.ts.map +1 -0
  70. package/dist/dialect/abstractDialect.js +37 -0
  71. package/dist/dialect/abstractDialect.js.map +1 -0
  72. package/dist/dialect/abstractSqlDialect.d.ts +140 -0
  73. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -0
  74. package/dist/dialect/abstractSqlDialect.js +957 -0
  75. package/dist/dialect/abstractSqlDialect.js.map +1 -0
  76. package/dist/dialect/dialectConfig.d.ts +23 -0
  77. package/dist/dialect/dialectConfig.d.ts.map +1 -0
  78. package/dist/dialect/dialectConfig.js +96 -0
  79. package/dist/dialect/dialectConfig.js.map +1 -0
  80. package/dist/dialect/index.d.ts +5 -0
  81. package/dist/dialect/index.d.ts.map +1 -0
  82. package/dist/dialect/index.js +5 -0
  83. package/dist/dialect/index.js.map +1 -0
  84. package/dist/dialect/queryContext.d.ts +49 -0
  85. package/dist/dialect/queryContext.d.ts.map +1 -0
  86. package/dist/dialect/queryContext.js +65 -0
  87. package/dist/dialect/queryContext.js.map +1 -0
  88. package/dist/entity/decorator/definition.d.ts +11 -0
  89. package/dist/entity/decorator/definition.d.ts.map +1 -0
  90. package/dist/entity/decorator/definition.js +247 -0
  91. package/dist/entity/decorator/definition.js.map +1 -0
  92. package/dist/entity/decorator/entity.d.ts +3 -0
  93. package/dist/entity/decorator/entity.d.ts.map +1 -0
  94. package/dist/entity/decorator/entity.js +7 -0
  95. package/dist/entity/decorator/entity.js.map +1 -0
  96. package/dist/entity/decorator/field.d.ts +3 -0
  97. package/dist/entity/decorator/field.d.ts.map +1 -0
  98. package/dist/entity/decorator/field.js +8 -0
  99. package/dist/entity/decorator/field.js.map +1 -0
  100. package/dist/entity/decorator/hook.d.ts +8 -0
  101. package/dist/entity/decorator/hook.d.ts.map +1 -0
  102. package/dist/entity/decorator/hook.js +15 -0
  103. package/dist/entity/decorator/hook.js.map +1 -0
  104. package/dist/entity/decorator/id.d.ts +3 -0
  105. package/dist/entity/decorator/id.d.ts.map +1 -0
  106. package/dist/entity/decorator/id.js +8 -0
  107. package/dist/entity/decorator/id.js.map +1 -0
  108. package/dist/entity/decorator/index-decorator.d.ts +36 -0
  109. package/dist/entity/decorator/index-decorator.d.ts.map +1 -0
  110. package/dist/entity/decorator/index-decorator.js +52 -0
  111. package/dist/entity/decorator/index-decorator.js.map +1 -0
  112. package/dist/entity/decorator/index.d.ts +8 -0
  113. package/dist/entity/decorator/index.d.ts.map +1 -0
  114. package/dist/entity/decorator/index.js +8 -0
  115. package/dist/entity/decorator/index.js.map +1 -0
  116. package/dist/entity/decorator/relation.d.ts +9 -0
  117. package/dist/entity/decorator/relation.d.ts.map +1 -0
  118. package/dist/entity/decorator/relation.js +20 -0
  119. package/dist/entity/decorator/relation.js.map +1 -0
  120. package/dist/entity/index.d.ts +2 -0
  121. package/dist/entity/index.d.ts.map +1 -0
  122. package/dist/entity/index.js +2 -0
  123. package/dist/entity/index.js.map +1 -0
  124. package/dist/express/index.d.ts +3 -0
  125. package/dist/express/index.d.ts.map +1 -0
  126. package/dist/express/index.js +3 -0
  127. package/dist/express/index.js.map +1 -0
  128. package/dist/express/querierMiddleware.d.ts +26 -0
  129. package/dist/express/querierMiddleware.d.ts.map +1 -0
  130. package/dist/express/querierMiddleware.js +149 -0
  131. package/dist/express/querierMiddleware.js.map +1 -0
  132. package/dist/express/query.util.d.ts +7 -0
  133. package/dist/express/query.util.d.ts.map +1 -0
  134. package/dist/express/query.util.js +28 -0
  135. package/dist/express/query.util.js.map +1 -0
  136. package/dist/index.d.ts +8 -0
  137. package/dist/index.d.ts.map +1 -0
  138. package/dist/index.js +8 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/libsql/index.d.ts +3 -0
  141. package/dist/libsql/index.d.ts.map +1 -0
  142. package/dist/libsql/index.js +3 -0
  143. package/dist/libsql/index.js.map +1 -0
  144. package/dist/libsql/libsqlQuerier.d.ts +17 -0
  145. package/dist/libsql/libsqlQuerier.d.ts.map +1 -0
  146. package/dist/libsql/libsqlQuerier.js +71 -0
  147. package/dist/libsql/libsqlQuerier.js.map +1 -0
  148. package/dist/libsql/libsqlQuerierPool.d.ts +12 -0
  149. package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -0
  150. package/dist/libsql/libsqlQuerierPool.js +19 -0
  151. package/dist/libsql/libsqlQuerierPool.js.map +1 -0
  152. package/dist/maria/index.d.ts +4 -0
  153. package/dist/maria/index.d.ts.map +1 -0
  154. package/dist/maria/index.js +4 -0
  155. package/dist/maria/index.js.map +1 -0
  156. package/dist/maria/mariaDialect.d.ts +10 -0
  157. package/dist/maria/mariaDialect.d.ts.map +1 -0
  158. package/dist/maria/mariaDialect.js +41 -0
  159. package/dist/maria/mariaDialect.js.map +1 -0
  160. package/dist/maria/mariadbQuerier.d.ts +10 -0
  161. package/dist/maria/mariadbQuerier.d.ts.map +1 -0
  162. package/dist/maria/mariadbQuerier.js +20 -0
  163. package/dist/maria/mariadbQuerier.js.map +1 -0
  164. package/dist/maria/mariadbQuerierPool.d.ts +11 -0
  165. package/dist/maria/mariadbQuerierPool.d.ts.map +1 -0
  166. package/dist/maria/mariadbQuerierPool.js +17 -0
  167. package/dist/maria/mariadbQuerierPool.js.map +1 -0
  168. package/dist/migrate/bin.d.ts +3 -0
  169. package/dist/migrate/bin.d.ts.map +1 -0
  170. package/dist/migrate/bin.js +7 -0
  171. package/dist/migrate/bin.js.map +1 -0
  172. package/dist/migrate/builder/columnBuilder.d.ts +79 -0
  173. package/dist/migrate/builder/columnBuilder.d.ts.map +1 -0
  174. package/dist/migrate/builder/columnBuilder.js +159 -0
  175. package/dist/migrate/builder/columnBuilder.js.map +1 -0
  176. package/dist/migrate/builder/expressions.d.ts +87 -0
  177. package/dist/migrate/builder/expressions.d.ts.map +1 -0
  178. package/dist/migrate/builder/expressions.js +150 -0
  179. package/dist/migrate/builder/expressions.js.map +1 -0
  180. package/dist/migrate/builder/index.d.ts +6 -0
  181. package/dist/migrate/builder/index.d.ts.map +1 -0
  182. package/dist/migrate/builder/index.js +6 -0
  183. package/dist/migrate/builder/index.js.map +1 -0
  184. package/dist/migrate/builder/migrationBuilder.d.ts +109 -0
  185. package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -0
  186. package/dist/migrate/builder/migrationBuilder.js +463 -0
  187. package/dist/migrate/builder/migrationBuilder.js.map +1 -0
  188. package/dist/migrate/builder/tableBuilder.d.ts +51 -0
  189. package/dist/migrate/builder/tableBuilder.d.ts.map +1 -0
  190. package/dist/migrate/builder/tableBuilder.js +291 -0
  191. package/dist/migrate/builder/tableBuilder.js.map +1 -0
  192. package/dist/migrate/builder/types.d.ts +466 -0
  193. package/dist/migrate/builder/types.d.ts.map +1 -0
  194. package/dist/migrate/builder/types.js +8 -0
  195. package/dist/migrate/builder/types.js.map +1 -0
  196. package/dist/migrate/cli-config.d.ts +3 -0
  197. package/dist/migrate/cli-config.d.ts.map +1 -0
  198. package/dist/migrate/cli-config.js +35 -0
  199. package/dist/migrate/cli-config.js.map +1 -0
  200. package/dist/migrate/cli.d.ts +16 -0
  201. package/dist/migrate/cli.d.ts.map +1 -0
  202. package/dist/migrate/cli.js +394 -0
  203. package/dist/migrate/cli.js.map +1 -0
  204. package/dist/migrate/codegen/entityCodeGenerator.d.ts +137 -0
  205. package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +1 -0
  206. package/dist/migrate/codegen/entityCodeGenerator.js +405 -0
  207. package/dist/migrate/codegen/entityCodeGenerator.js.map +1 -0
  208. package/dist/migrate/codegen/entityMerger.d.ts +115 -0
  209. package/dist/migrate/codegen/entityMerger.d.ts.map +1 -0
  210. package/dist/migrate/codegen/entityMerger.js +294 -0
  211. package/dist/migrate/codegen/entityMerger.js.map +1 -0
  212. package/dist/migrate/codegen/index.d.ts +10 -0
  213. package/dist/migrate/codegen/index.d.ts.map +1 -0
  214. package/dist/migrate/codegen/index.js +14 -0
  215. package/dist/migrate/codegen/index.js.map +1 -0
  216. package/dist/migrate/codegen/migrationCodeGenerator.d.ts +62 -0
  217. package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +1 -0
  218. package/dist/migrate/codegen/migrationCodeGenerator.js +356 -0
  219. package/dist/migrate/codegen/migrationCodeGenerator.js.map +1 -0
  220. package/dist/migrate/codegen/smartRelationDetector.d.ts +48 -0
  221. package/dist/migrate/codegen/smartRelationDetector.d.ts.map +1 -0
  222. package/dist/migrate/codegen/smartRelationDetector.js +135 -0
  223. package/dist/migrate/codegen/smartRelationDetector.js.map +1 -0
  224. package/dist/migrate/drift/driftDetector.d.ts +81 -0
  225. package/dist/migrate/drift/driftDetector.d.ts.map +1 -0
  226. package/dist/migrate/drift/driftDetector.js +248 -0
  227. package/dist/migrate/drift/driftDetector.js.map +1 -0
  228. package/dist/migrate/drift/index.d.ts +7 -0
  229. package/dist/migrate/drift/index.d.ts.map +1 -0
  230. package/dist/migrate/drift/index.js +7 -0
  231. package/dist/migrate/drift/index.js.map +1 -0
  232. package/dist/migrate/generator/index.d.ts +3 -0
  233. package/dist/migrate/generator/index.d.ts.map +1 -0
  234. package/dist/migrate/generator/index.js +3 -0
  235. package/dist/migrate/generator/index.js.map +1 -0
  236. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +39 -0
  237. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -0
  238. package/dist/migrate/generator/mongoSchemaGenerator.js +183 -0
  239. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -0
  240. package/dist/migrate/index.d.ts +13 -0
  241. package/dist/migrate/index.d.ts.map +1 -0
  242. package/dist/migrate/index.js +20 -0
  243. package/dist/migrate/index.js.map +1 -0
  244. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +77 -0
  245. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +1 -0
  246. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +156 -0
  247. package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +1 -0
  248. package/dist/migrate/introspection/baseSqlIntrospector.d.ts +28 -0
  249. package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -0
  250. package/dist/migrate/introspection/baseSqlIntrospector.js +135 -0
  251. package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -0
  252. package/dist/migrate/introspection/index.d.ts +6 -0
  253. package/dist/migrate/introspection/index.d.ts.map +1 -0
  254. package/dist/migrate/introspection/index.js +6 -0
  255. package/dist/migrate/introspection/index.js.map +1 -0
  256. package/dist/migrate/introspection/mongoIntrospector.d.ts +15 -0
  257. package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -0
  258. package/dist/migrate/introspection/mongoIntrospector.js +100 -0
  259. package/dist/migrate/introspection/mongoIntrospector.js.map +1 -0
  260. package/dist/migrate/introspection/mysqlIntrospector.d.ts +59 -0
  261. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -0
  262. package/dist/migrate/introspection/mysqlIntrospector.js +175 -0
  263. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -0
  264. package/dist/migrate/introspection/postgresIntrospector.d.ts +55 -0
  265. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -0
  266. package/dist/migrate/introspection/postgresIntrospector.js +226 -0
  267. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -0
  268. package/dist/migrate/introspection/sqliteIntrospector.d.ts +60 -0
  269. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -0
  270. package/dist/migrate/introspection/sqliteIntrospector.js +180 -0
  271. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -0
  272. package/dist/migrate/migrator.d.ts +176 -0
  273. package/dist/migrate/migrator.d.ts.map +1 -0
  274. package/dist/migrate/migrator.js +624 -0
  275. package/dist/migrate/migrator.js.map +1 -0
  276. package/dist/migrate/schemaGenerator.d.ts +132 -0
  277. package/dist/migrate/schemaGenerator.d.ts.map +1 -0
  278. package/dist/migrate/schemaGenerator.js +628 -0
  279. package/dist/migrate/schemaGenerator.js.map +1 -0
  280. package/dist/migrate/storage/databaseStorage.d.ts +25 -0
  281. package/dist/migrate/storage/databaseStorage.d.ts.map +1 -0
  282. package/dist/migrate/storage/databaseStorage.js +77 -0
  283. package/dist/migrate/storage/databaseStorage.js.map +1 -0
  284. package/dist/migrate/storage/index.d.ts +3 -0
  285. package/dist/migrate/storage/index.d.ts.map +1 -0
  286. package/dist/migrate/storage/index.js +3 -0
  287. package/dist/migrate/storage/index.js.map +1 -0
  288. package/dist/migrate/storage/jsonStorage.d.ts +16 -0
  289. package/dist/migrate/storage/jsonStorage.d.ts.map +1 -0
  290. package/dist/migrate/storage/jsonStorage.js +43 -0
  291. package/dist/migrate/storage/jsonStorage.js.map +1 -0
  292. package/dist/migrate/sync/index.d.ts +7 -0
  293. package/dist/migrate/sync/index.d.ts.map +1 -0
  294. package/dist/migrate/sync/index.js +7 -0
  295. package/dist/migrate/sync/index.js.map +1 -0
  296. package/dist/migrate/sync/schemaSync.d.ts +132 -0
  297. package/dist/migrate/sync/schemaSync.d.ts.map +1 -0
  298. package/dist/migrate/sync/schemaSync.js +260 -0
  299. package/dist/migrate/sync/schemaSync.js.map +1 -0
  300. package/dist/mongo/index.d.ts +4 -0
  301. package/dist/mongo/index.d.ts.map +1 -0
  302. package/dist/mongo/index.js +4 -0
  303. package/dist/mongo/index.js.map +1 -0
  304. package/dist/mongo/mongoDialect.d.ts +47 -0
  305. package/dist/mongo/mongoDialect.d.ts.map +1 -0
  306. package/dist/mongo/mongoDialect.js +299 -0
  307. package/dist/mongo/mongoDialect.js.map +1 -0
  308. package/dist/mongo/mongodbQuerier.d.ts +32 -0
  309. package/dist/mongo/mongodbQuerier.d.ts.map +1 -0
  310. package/dist/mongo/mongodbQuerier.js +267 -0
  311. package/dist/mongo/mongodbQuerier.js.map +1 -0
  312. package/dist/mongo/mongodbQuerierPool.d.ts +11 -0
  313. package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -0
  314. package/dist/mongo/mongodbQuerierPool.js +20 -0
  315. package/dist/mongo/mongodbQuerierPool.js.map +1 -0
  316. package/dist/mysql/index.d.ts +4 -0
  317. package/dist/mysql/index.d.ts.map +1 -0
  318. package/dist/mysql/index.js +4 -0
  319. package/dist/mysql/index.js.map +1 -0
  320. package/dist/mysql/mysql2Querier.d.ts +14 -0
  321. package/dist/mysql/mysql2Querier.d.ts.map +1 -0
  322. package/dist/mysql/mysql2Querier.js +25 -0
  323. package/dist/mysql/mysql2Querier.js.map +1 -0
  324. package/dist/mysql/mysql2QuerierPool.d.ts +11 -0
  325. package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -0
  326. package/dist/mysql/mysql2QuerierPool.js +17 -0
  327. package/dist/mysql/mysql2QuerierPool.js.map +1 -0
  328. package/dist/mysql/mysqlDialect.d.ts +19 -0
  329. package/dist/mysql/mysqlDialect.d.ts.map +1 -0
  330. package/dist/mysql/mysqlDialect.js +97 -0
  331. package/dist/mysql/mysqlDialect.js.map +1 -0
  332. package/dist/namingStrategy/defaultNamingStrategy.d.ts +10 -0
  333. package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +1 -0
  334. package/dist/namingStrategy/defaultNamingStrategy.js +15 -0
  335. package/dist/namingStrategy/defaultNamingStrategy.js.map +1 -0
  336. package/dist/namingStrategy/index.d.ts +3 -0
  337. package/dist/namingStrategy/index.d.ts.map +1 -0
  338. package/dist/namingStrategy/index.js +3 -0
  339. package/dist/namingStrategy/index.js.map +1 -0
  340. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +9 -0
  341. package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +1 -0
  342. package/dist/namingStrategy/snakeCaseNamingStrategy.js +14 -0
  343. package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +1 -0
  344. package/dist/neon/index.d.ts +3 -0
  345. package/dist/neon/index.d.ts.map +1 -0
  346. package/dist/neon/index.js +3 -0
  347. package/dist/neon/index.js.map +1 -0
  348. package/dist/neon/neonQuerier.d.ts +10 -0
  349. package/dist/neon/neonQuerier.d.ts.map +1 -0
  350. package/dist/neon/neonQuerier.js +20 -0
  351. package/dist/neon/neonQuerier.js.map +1 -0
  352. package/dist/neon/neonQuerierPool.d.ts +11 -0
  353. package/dist/neon/neonQuerierPool.d.ts.map +1 -0
  354. package/dist/neon/neonQuerierPool.js +17 -0
  355. package/dist/neon/neonQuerierPool.js.map +1 -0
  356. package/dist/options.d.ts +5 -0
  357. package/dist/options.d.ts.map +1 -0
  358. package/dist/options.js +14 -0
  359. package/dist/options.js.map +1 -0
  360. package/dist/postgres/index.d.ts +4 -0
  361. package/dist/postgres/index.d.ts.map +1 -0
  362. package/dist/postgres/index.js +4 -0
  363. package/dist/postgres/index.js.map +1 -0
  364. package/dist/postgres/pgQuerier.d.ts +10 -0
  365. package/dist/postgres/pgQuerier.d.ts.map +1 -0
  366. package/dist/postgres/pgQuerier.js +20 -0
  367. package/dist/postgres/pgQuerier.js.map +1 -0
  368. package/dist/postgres/pgQuerierPool.d.ts +11 -0
  369. package/dist/postgres/pgQuerierPool.d.ts.map +1 -0
  370. package/dist/postgres/pgQuerierPool.js +17 -0
  371. package/dist/postgres/pgQuerierPool.js.map +1 -0
  372. package/dist/postgres/postgresDialect.d.ts +36 -0
  373. package/dist/postgres/postgresDialect.d.ts.map +1 -0
  374. package/dist/postgres/postgresDialect.js +201 -0
  375. package/dist/postgres/postgresDialect.js.map +1 -0
  376. package/dist/querier/abstractPoolQuerier.d.ts +13 -0
  377. package/dist/querier/abstractPoolQuerier.d.ts.map +1 -0
  378. package/dist/querier/abstractPoolQuerier.js +25 -0
  379. package/dist/querier/abstractPoolQuerier.js.map +1 -0
  380. package/dist/querier/abstractQuerier.d.ts +109 -0
  381. package/dist/querier/abstractQuerier.d.ts.map +1 -0
  382. package/dist/querier/abstractQuerier.js +378 -0
  383. package/dist/querier/abstractQuerier.js.map +1 -0
  384. package/dist/querier/abstractQuerierPool.d.ts +23 -0
  385. package/dist/querier/abstractQuerierPool.d.ts.map +1 -0
  386. package/dist/querier/abstractQuerierPool.js +28 -0
  387. package/dist/querier/abstractQuerierPool.js.map +1 -0
  388. package/dist/querier/abstractSqlQuerier.d.ts +38 -0
  389. package/dist/querier/abstractSqlQuerier.d.ts.map +1 -0
  390. package/dist/querier/abstractSqlQuerier.js +169 -0
  391. package/dist/querier/abstractSqlQuerier.js.map +1 -0
  392. package/dist/querier/decorator/index.d.ts +5 -0
  393. package/dist/querier/decorator/index.d.ts.map +1 -0
  394. package/dist/querier/decorator/index.js +5 -0
  395. package/dist/querier/decorator/index.js.map +1 -0
  396. package/dist/querier/decorator/injectQuerier.d.ts +4 -0
  397. package/dist/querier/decorator/injectQuerier.d.ts.map +1 -0
  398. package/dist/querier/decorator/injectQuerier.js +33 -0
  399. package/dist/querier/decorator/injectQuerier.js.map +1 -0
  400. package/dist/querier/decorator/log.d.ts +7 -0
  401. package/dist/querier/decorator/log.d.ts.map +1 -0
  402. package/dist/querier/decorator/log.js +27 -0
  403. package/dist/querier/decorator/log.js.map +1 -0
  404. package/dist/querier/decorator/serialized.d.ts +7 -0
  405. package/dist/querier/decorator/serialized.d.ts.map +1 -0
  406. package/dist/querier/decorator/serialized.js +14 -0
  407. package/dist/querier/decorator/serialized.js.map +1 -0
  408. package/dist/querier/decorator/transactional.d.ts +6 -0
  409. package/dist/querier/decorator/transactional.d.ts.map +1 -0
  410. package/dist/querier/decorator/transactional.js +48 -0
  411. package/dist/querier/decorator/transactional.js.map +1 -0
  412. package/dist/querier/index.d.ts +5 -0
  413. package/dist/querier/index.d.ts.map +1 -0
  414. package/dist/querier/index.js +5 -0
  415. package/dist/querier/index.js.map +1 -0
  416. package/dist/schema/canonicalType.d.ts +42 -0
  417. package/dist/schema/canonicalType.d.ts.map +1 -0
  418. package/dist/schema/canonicalType.js +524 -0
  419. package/dist/schema/canonicalType.js.map +1 -0
  420. package/dist/schema/index.d.ts +28 -0
  421. package/dist/schema/index.d.ts.map +1 -0
  422. package/dist/schema/index.js +29 -0
  423. package/dist/schema/index.js.map +1 -0
  424. package/dist/schema/schemaAST.d.ts +155 -0
  425. package/dist/schema/schemaAST.d.ts.map +1 -0
  426. package/dist/schema/schemaAST.js +496 -0
  427. package/dist/schema/schemaAST.js.map +1 -0
  428. package/dist/schema/schemaASTBuilder.d.ts +58 -0
  429. package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
  430. package/dist/schema/schemaASTBuilder.js +224 -0
  431. package/dist/schema/schemaASTBuilder.js.map +1 -0
  432. package/dist/schema/schemaASTDiffer.d.ts +84 -0
  433. package/dist/schema/schemaASTDiffer.d.ts.map +1 -0
  434. package/dist/schema/schemaASTDiffer.js +431 -0
  435. package/dist/schema/schemaASTDiffer.js.map +1 -0
  436. package/dist/schema/types.d.ts +347 -0
  437. package/dist/schema/types.d.ts.map +1 -0
  438. package/dist/schema/types.js +11 -0
  439. package/dist/schema/types.js.map +1 -0
  440. package/dist/sqlite/abstractSqliteQuerier.d.ts +6 -0
  441. package/dist/sqlite/abstractSqliteQuerier.d.ts.map +1 -0
  442. package/dist/sqlite/abstractSqliteQuerier.js +13 -0
  443. package/dist/sqlite/abstractSqliteQuerier.js.map +1 -0
  444. package/dist/sqlite/index.d.ts +4 -0
  445. package/dist/sqlite/index.d.ts.map +1 -0
  446. package/dist/sqlite/index.js +4 -0
  447. package/dist/sqlite/index.js.map +1 -0
  448. package/dist/sqlite/sqliteDialect.d.ts +42 -0
  449. package/dist/sqlite/sqliteDialect.d.ts.map +1 -0
  450. package/dist/sqlite/sqliteDialect.js +129 -0
  451. package/dist/sqlite/sqliteDialect.js.map +1 -0
  452. package/dist/sqlite/sqliteQuerier.d.ts +12 -0
  453. package/dist/sqlite/sqliteQuerier.d.ts.map +1 -0
  454. package/dist/sqlite/sqliteQuerier.js +25 -0
  455. package/dist/sqlite/sqliteQuerier.js.map +1 -0
  456. package/dist/sqlite/sqliteQuerierPool.d.ts +13 -0
  457. package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -0
  458. package/dist/sqlite/sqliteQuerierPool.js +34 -0
  459. package/dist/sqlite/sqliteQuerierPool.js.map +1 -0
  460. package/dist/type/config.d.ts +46 -0
  461. package/dist/type/config.d.ts.map +1 -0
  462. package/dist/type/config.js +2 -0
  463. package/dist/type/config.js.map +1 -0
  464. package/dist/type/entity.d.ts +289 -0
  465. package/dist/type/entity.d.ts.map +1 -0
  466. package/dist/type/entity.js +5 -0
  467. package/dist/type/entity.js.map +1 -0
  468. package/dist/type/index.d.ts +11 -0
  469. package/dist/type/index.d.ts.map +1 -0
  470. package/dist/type/index.js +11 -0
  471. package/dist/type/index.js.map +1 -0
  472. package/dist/type/logger.d.ts +61 -0
  473. package/dist/type/logger.d.ts.map +1 -0
  474. package/dist/type/logger.js +2 -0
  475. package/dist/type/logger.js.map +1 -0
  476. package/dist/type/migration.d.ts +268 -0
  477. package/dist/type/migration.d.ts.map +1 -0
  478. package/dist/type/migration.js +2 -0
  479. package/dist/type/migration.js.map +1 -0
  480. package/dist/type/namingStrategy.d.ts +18 -0
  481. package/dist/type/namingStrategy.d.ts.map +1 -0
  482. package/dist/type/namingStrategy.js +2 -0
  483. package/dist/type/namingStrategy.js.map +1 -0
  484. package/dist/type/querier.d.ts +154 -0
  485. package/dist/type/querier.d.ts.map +1 -0
  486. package/dist/type/querier.js +11 -0
  487. package/dist/type/querier.js.map +1 -0
  488. package/dist/type/querierPool.d.ts +31 -0
  489. package/dist/type/querierPool.d.ts.map +1 -0
  490. package/dist/type/querierPool.js +2 -0
  491. package/dist/type/querierPool.js.map +1 -0
  492. package/dist/type/query.d.ts +475 -0
  493. package/dist/type/query.d.ts.map +1 -0
  494. package/dist/type/query.js +11 -0
  495. package/dist/type/query.js.map +1 -0
  496. package/dist/type/universalQuerier.d.ts +120 -0
  497. package/dist/type/universalQuerier.d.ts.map +1 -0
  498. package/dist/type/universalQuerier.js +2 -0
  499. package/dist/type/universalQuerier.js.map +1 -0
  500. package/dist/type/utility.d.ts +33 -0
  501. package/dist/type/utility.d.ts.map +1 -0
  502. package/dist/type/utility.js +2 -0
  503. package/dist/type/utility.js.map +1 -0
  504. package/dist/util/dialect.util.d.ts +13 -0
  505. package/dist/util/dialect.util.d.ts.map +1 -0
  506. package/dist/util/dialect.util.js +82 -0
  507. package/dist/util/dialect.util.js.map +1 -0
  508. package/dist/util/field.util.d.ts +14 -0
  509. package/dist/util/field.util.d.ts.map +1 -0
  510. package/dist/util/field.util.js +57 -0
  511. package/dist/util/field.util.js.map +1 -0
  512. package/dist/util/hook.util.d.ts +15 -0
  513. package/dist/util/hook.util.d.ts.map +1 -0
  514. package/dist/util/hook.util.js +20 -0
  515. package/dist/util/hook.util.js.map +1 -0
  516. package/dist/util/index.d.ts +9 -0
  517. package/dist/util/index.d.ts.map +1 -0
  518. package/dist/util/index.js +9 -0
  519. package/dist/util/index.js.map +1 -0
  520. package/dist/util/logger.d.ts +34 -0
  521. package/dist/util/logger.d.ts.map +1 -0
  522. package/dist/util/logger.js +129 -0
  523. package/dist/util/logger.js.map +1 -0
  524. package/dist/util/object.util.d.ts +8 -0
  525. package/dist/util/object.util.d.ts.map +1 -0
  526. package/dist/util/object.util.js +19 -0
  527. package/dist/util/object.util.js.map +1 -0
  528. package/dist/util/raw.d.ts +9 -0
  529. package/dist/util/raw.d.ts.map +1 -0
  530. package/dist/util/raw.js +11 -0
  531. package/dist/util/raw.js.map +1 -0
  532. package/dist/util/sql.util.d.ts +22 -0
  533. package/dist/util/sql.util.d.ts.map +1 -0
  534. package/dist/util/sql.util.js +88 -0
  535. package/dist/util/sql.util.js.map +1 -0
  536. package/dist/util/string.util.d.ts +29 -0
  537. package/dist/util/string.util.d.ts.map +1 -0
  538. package/dist/util/string.util.js +91 -0
  539. package/dist/util/string.util.js.map +1 -0
  540. package/package.json +146 -0
@@ -0,0 +1,77 @@
1
+ import type { ColumnSchema, ForeignKeySchema, IndexSchema, QuerierPool, RawRow, SchemaIntrospector, SqlQuerier, TableSchema } from '../../type/index.js';
2
+ import { BaseSqlIntrospector } from './baseSqlIntrospector.js';
3
+ /**
4
+ * Referential action type for foreign key constraints.
5
+ */
6
+ export type ReferentialAction = 'CASCADE' | 'SET NULL' | 'RESTRICT' | 'NO ACTION';
7
+ /**
8
+ * Abstract base class for SQL schema introspectors.
9
+ *
10
+ * Uses the template-method pattern to consolidate shared logic while allowing
11
+ * dialect-specific implementations for SQL queries and type normalization.
12
+ *
13
+ * Subclasses must implement:
14
+ * - `getTableNamesQuery()` - SQL to list all table names
15
+ * - `tableExistsQuery()` - SQL to check if a table exists
16
+ * - `getColumnsQuery()` - SQL to get column metadata
17
+ * - `getIndexesQuery()` - SQL to get index metadata
18
+ * - `getForeignKeysQuery()` - SQL to get foreign key metadata
19
+ * - `getPrimaryKeyQuery()` - SQL to get primary key columns
20
+ * - `mapColumnRow()` - Map a column query result row to ColumnSchema
21
+ * - `mapIndexRow()` - Map an index query result row to IndexSchema
22
+ * - `mapForeignKeyRow()` - Map a foreign key query result row to ForeignKeySchema
23
+ * - `mapTableNameRow()` - Extract table name from a row
24
+ * - `mapPrimaryKeyRow()` - Extract column name from a PK row
25
+ */
26
+ export declare abstract class AbstractSqlSchemaIntrospector extends BaseSqlIntrospector implements SchemaIntrospector {
27
+ protected abstract readonly pool: QuerierPool;
28
+ getTableSchema(tableName: string): Promise<TableSchema | undefined>;
29
+ getTableNames(): Promise<string[]>;
30
+ tableExists(tableName: string): Promise<boolean>;
31
+ protected getQuerier(): Promise<SqlQuerier>;
32
+ protected tableExistsInternal(querier: SqlQuerier, tableName: string): Promise<boolean>;
33
+ protected getColumns(querier: SqlQuerier, tableName: string): Promise<ColumnSchema[]>;
34
+ protected getIndexes(querier: SqlQuerier, tableName: string): Promise<IndexSchema[]>;
35
+ protected getForeignKeys(querier: SqlQuerier, tableName: string): Promise<ForeignKeySchema[]>;
36
+ protected getPrimaryKey(querier: SqlQuerier, tableName: string): Promise<string[] | undefined>;
37
+ protected tableExistsParams(tableName: string): unknown[];
38
+ protected getColumnsParams(tableName: string): unknown[];
39
+ protected getIndexesParams(tableName: string): unknown[];
40
+ protected getForeignKeysParams(tableName: string): unknown[];
41
+ protected getPrimaryKeyParams(tableName: string): unknown[];
42
+ /**
43
+ * Normalize referential action string to standard type.
44
+ */
45
+ protected normalizeReferentialAction(action: string): ReferentialAction | undefined;
46
+ /**
47
+ * Convert bigint/null values to number safely.
48
+ */
49
+ protected toNumber(value: unknown): number | undefined;
50
+ /** SQL query to list all table names. */
51
+ protected abstract getTableNamesQuery(): string;
52
+ /** SQL query to check if a table exists. Parameter: tableName. */
53
+ protected abstract tableExistsQuery(): string;
54
+ /** Parse the result of tableExistsQuery to boolean. */
55
+ protected abstract parseTableExistsResult(results: RawRow[]): boolean;
56
+ /** SQL query to get column metadata. Parameter: tableName (for PRAGMA-style). */
57
+ protected abstract getColumnsQuery(tableName: string): string;
58
+ /** SQL query to get index metadata. Parameter: tableName (for PRAGMA-style). */
59
+ protected abstract getIndexesQuery(tableName: string): string;
60
+ /** SQL query to get foreign key metadata. Parameter: tableName (for PRAGMA-style). */
61
+ protected abstract getForeignKeysQuery(tableName: string): string;
62
+ /** SQL query to get primary key columns. Parameter: tableName (for PRAGMA-style). */
63
+ protected abstract getPrimaryKeyQuery(tableName: string): string;
64
+ /** Extract table name from a row returned by getTableNamesQuery. */
65
+ protected abstract mapTableNameRow(row: RawRow): string;
66
+ /** Map column query results to ColumnSchema array. Allows async for SQLite's unique column check. */
67
+ protected abstract mapColumnsResult(querier: SqlQuerier, tableName: string, results: RawRow[]): Promise<ColumnSchema[]>;
68
+ /** Map index query results to IndexSchema array. Allows async for SQLite's index_info calls. */
69
+ protected abstract mapIndexesResult(querier: SqlQuerier, tableName: string, results: RawRow[]): Promise<IndexSchema[]>;
70
+ /** Map foreign key query results to ForeignKeySchema array. */
71
+ protected abstract mapForeignKeysResult(querier: SqlQuerier, tableName: string, results: RawRow[]): Promise<ForeignKeySchema[]>;
72
+ /** Map primary key query results to column names array. */
73
+ protected abstract mapPrimaryKeyResult(results: RawRow[]): string[] | undefined;
74
+ /** Parse default value string to appropriate type. */
75
+ protected abstract parseDefaultValue(defaultValue: string | null): unknown;
76
+ }
77
+ //# sourceMappingURL=abstractSqlSchemaIntrospector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractSqlSchemaIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/abstractSqlSchemaIntrospector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ import { isSqlQuerier } from '../../type/index.js';
2
+ import { BaseSqlIntrospector } from './baseSqlIntrospector.js';
3
+ /**
4
+ * Abstract base class for SQL schema introspectors.
5
+ *
6
+ * Uses the template-method pattern to consolidate shared logic while allowing
7
+ * dialect-specific implementations for SQL queries and type normalization.
8
+ *
9
+ * Subclasses must implement:
10
+ * - `getTableNamesQuery()` - SQL to list all table names
11
+ * - `tableExistsQuery()` - SQL to check if a table exists
12
+ * - `getColumnsQuery()` - SQL to get column metadata
13
+ * - `getIndexesQuery()` - SQL to get index metadata
14
+ * - `getForeignKeysQuery()` - SQL to get foreign key metadata
15
+ * - `getPrimaryKeyQuery()` - SQL to get primary key columns
16
+ * - `mapColumnRow()` - Map a column query result row to ColumnSchema
17
+ * - `mapIndexRow()` - Map an index query result row to IndexSchema
18
+ * - `mapForeignKeyRow()` - Map a foreign key query result row to ForeignKeySchema
19
+ * - `mapTableNameRow()` - Extract table name from a row
20
+ * - `mapPrimaryKeyRow()` - Extract column name from a PK row
21
+ */
22
+ export class AbstractSqlSchemaIntrospector extends BaseSqlIntrospector {
23
+ // ============================================================================
24
+ // Template Methods (shared control flow)
25
+ // ============================================================================
26
+ async getTableSchema(tableName) {
27
+ const querier = await this.getQuerier();
28
+ try {
29
+ const exists = await this.tableExistsInternal(querier, tableName);
30
+ if (!exists) {
31
+ return undefined;
32
+ }
33
+ const [columns, indexes, foreignKeys, primaryKey] = await Promise.all([
34
+ this.getColumns(querier, tableName),
35
+ this.getIndexes(querier, tableName),
36
+ this.getForeignKeys(querier, tableName),
37
+ this.getPrimaryKey(querier, tableName),
38
+ ]);
39
+ return {
40
+ name: tableName,
41
+ columns,
42
+ primaryKey,
43
+ indexes,
44
+ foreignKeys,
45
+ };
46
+ }
47
+ finally {
48
+ await querier.release();
49
+ }
50
+ }
51
+ async getTableNames() {
52
+ const querier = await this.getQuerier();
53
+ try {
54
+ const results = await querier.all(this.getTableNamesQuery());
55
+ return results.map((row) => this.mapTableNameRow(row));
56
+ }
57
+ finally {
58
+ await querier.release();
59
+ }
60
+ }
61
+ async tableExists(tableName) {
62
+ const querier = await this.getQuerier();
63
+ try {
64
+ return this.tableExistsInternal(querier, tableName);
65
+ }
66
+ finally {
67
+ await querier.release();
68
+ }
69
+ }
70
+ async getQuerier() {
71
+ const querier = await this.pool.getQuerier();
72
+ if (!isSqlQuerier(querier)) {
73
+ await querier.release();
74
+ throw new Error(`${this.constructor.name} requires a SQL-based querier`);
75
+ }
76
+ return querier;
77
+ }
78
+ async tableExistsInternal(querier, tableName) {
79
+ const sql = this.tableExistsQuery();
80
+ const params = this.tableExistsParams(tableName);
81
+ const results = await querier.all(sql, params);
82
+ return this.parseTableExistsResult(results);
83
+ }
84
+ async getColumns(querier, tableName) {
85
+ const sql = this.getColumnsQuery(tableName);
86
+ const params = this.getColumnsParams(tableName);
87
+ const results = await querier.all(sql, params);
88
+ return this.mapColumnsResult(querier, tableName, results);
89
+ }
90
+ async getIndexes(querier, tableName) {
91
+ const sql = this.getIndexesQuery(tableName);
92
+ const params = this.getIndexesParams(tableName);
93
+ const results = await querier.all(sql, params);
94
+ return this.mapIndexesResult(querier, tableName, results);
95
+ }
96
+ async getForeignKeys(querier, tableName) {
97
+ const sql = this.getForeignKeysQuery(tableName);
98
+ const params = this.getForeignKeysParams(tableName);
99
+ const results = await querier.all(sql, params);
100
+ return this.mapForeignKeysResult(querier, tableName, results);
101
+ }
102
+ async getPrimaryKey(querier, tableName) {
103
+ const sql = this.getPrimaryKeyQuery(tableName);
104
+ const params = this.getPrimaryKeyParams(tableName);
105
+ const results = await querier.all(sql, params);
106
+ return this.mapPrimaryKeyResult(results);
107
+ }
108
+ // ============================================================================
109
+ // Parameter Methods (can be overridden by dialects)
110
+ // ============================================================================
111
+ tableExistsParams(tableName) {
112
+ return [tableName];
113
+ }
114
+ getColumnsParams(tableName) {
115
+ return [tableName];
116
+ }
117
+ getIndexesParams(tableName) {
118
+ return [tableName];
119
+ }
120
+ getForeignKeysParams(tableName) {
121
+ return [tableName];
122
+ }
123
+ getPrimaryKeyParams(tableName) {
124
+ return [tableName];
125
+ }
126
+ // ============================================================================
127
+ // Shared Utilities
128
+ // ============================================================================
129
+ /**
130
+ * Normalize referential action string to standard type.
131
+ */
132
+ normalizeReferentialAction(action) {
133
+ switch (action.toUpperCase()) {
134
+ case 'CASCADE':
135
+ return 'CASCADE';
136
+ case 'SET NULL':
137
+ return 'SET NULL';
138
+ case 'RESTRICT':
139
+ return 'RESTRICT';
140
+ case 'NO ACTION':
141
+ return 'NO ACTION';
142
+ default:
143
+ return undefined;
144
+ }
145
+ }
146
+ /**
147
+ * Convert bigint/null values to number safely.
148
+ */
149
+ toNumber(value) {
150
+ if (value == null || value === '') {
151
+ return undefined;
152
+ }
153
+ return Number(value);
154
+ }
155
+ }
156
+ //# sourceMappingURL=abstractSqlSchemaIntrospector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractSqlSchemaIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/abstractSqlSchemaIntrospector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type DialectConfig } from '../../dialect/index.js';
2
+ import { SchemaAST } from '../../schema/schemaAST.js';
3
+ import type { Dialect } from '../../type/index.js';
4
+ import type { TableSchema } from '../../type/migration.js';
5
+ /**
6
+ * Base class for SQL introspectors with shared AST building logic.
7
+ */
8
+ export declare abstract class BaseSqlIntrospector {
9
+ protected readonly dialect: Dialect;
10
+ protected readonly config: DialectConfig;
11
+ constructor(dialect: Dialect);
12
+ protected escapeId(identifier: string): string;
13
+ /**
14
+ * Introspect entire database schema and return SchemaAST.
15
+ */
16
+ introspect(): Promise<SchemaAST>;
17
+ abstract getTableNames(): Promise<string[]>;
18
+ abstract getTableSchema(tableName: string): Promise<TableSchema | undefined>;
19
+ /**
20
+ * Build SchemaAST from table schemas.
21
+ */
22
+ protected buildAST(tableSchemas: TableSchema[]): SchemaAST;
23
+ private buildTables;
24
+ private buildRelationships;
25
+ private buildIndexes;
26
+ private columnSchemaToCanonical;
27
+ }
28
+ //# sourceMappingURL=baseSqlIntrospector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseSqlIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/baseSqlIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,wBAAwB,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGzE;;GAEG;AACH,8BAAsB,mBAAmB;IAG3B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;IAF/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEV,OAAO,EAAE,OAAO;IAI/C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAG9C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IActC,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAE5E;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,SAAS;IAW1D,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,uBAAuB;CAShC"}
@@ -0,0 +1,135 @@
1
+ import { getDialectConfig } from '../../dialect/index.js';
2
+ import { sqlToCanonical } from '../../schema/canonicalType.js';
3
+ import { SchemaAST } from '../../schema/schemaAST.js';
4
+ import { escapeSqlId } from '../../util/index.js';
5
+ /**
6
+ * Base class for SQL introspectors with shared AST building logic.
7
+ */
8
+ export class BaseSqlIntrospector {
9
+ dialect;
10
+ config;
11
+ constructor(dialect) {
12
+ this.dialect = dialect;
13
+ this.config = getDialectConfig(dialect);
14
+ }
15
+ escapeId(identifier) {
16
+ return escapeSqlId(identifier, this.config.quoteChar);
17
+ }
18
+ /**
19
+ * Introspect entire database schema and return SchemaAST.
20
+ */
21
+ async introspect() {
22
+ const tableNames = await this.getTableNames();
23
+ const tableSchemas = [];
24
+ for (const tableName of tableNames) {
25
+ const schema = await this.getTableSchema(tableName);
26
+ if (schema) {
27
+ tableSchemas.push(schema);
28
+ }
29
+ }
30
+ return this.buildAST(tableSchemas);
31
+ }
32
+ /**
33
+ * Build SchemaAST from table schemas.
34
+ */
35
+ buildAST(tableSchemas) {
36
+ const ast = new SchemaAST();
37
+ const tableNodes = new Map();
38
+ this.buildTables(ast, tableNodes, tableSchemas);
39
+ this.buildRelationships(ast, tableNodes, tableSchemas);
40
+ this.buildIndexes(ast, tableNodes, tableSchemas);
41
+ return ast;
42
+ }
43
+ buildTables(ast, tableNodes, tableSchemas) {
44
+ for (const schema of tableSchemas) {
45
+ const columns = new Map();
46
+ const table = {
47
+ name: schema.name,
48
+ columns,
49
+ primaryKey: [],
50
+ indexes: [],
51
+ schema: ast,
52
+ incomingRelations: [],
53
+ outgoingRelations: [],
54
+ };
55
+ for (const col of schema.columns) {
56
+ const column = {
57
+ name: col.name,
58
+ type: this.columnSchemaToCanonical(col),
59
+ nullable: col.nullable,
60
+ defaultValue: col.defaultValue,
61
+ isPrimaryKey: col.isPrimaryKey,
62
+ isAutoIncrement: col.isAutoIncrement,
63
+ isUnique: col.isUnique,
64
+ comment: col.comment,
65
+ table,
66
+ referencedBy: [],
67
+ };
68
+ columns.set(col.name, column);
69
+ if (col.isPrimaryKey) {
70
+ table.primaryKey.push(column);
71
+ }
72
+ }
73
+ tableNodes.set(schema.name, table);
74
+ ast.addTable(table);
75
+ }
76
+ }
77
+ buildRelationships(ast, tableNodes, tableSchemas) {
78
+ for (const schema of tableSchemas) {
79
+ if (!schema.foreignKeys)
80
+ continue;
81
+ const fromTable = tableNodes.get(schema.name);
82
+ if (!fromTable)
83
+ continue;
84
+ for (const fk of schema.foreignKeys) {
85
+ const toTable = tableNodes.get(fk.referencedTable);
86
+ if (!toTable)
87
+ continue;
88
+ const fromColumns = fk.columns.map((c) => fromTable.columns.get(c)).filter((c) => !!c);
89
+ const toColumns = fk.referencedColumns.map((c) => toTable.columns.get(c)).filter((c) => !!c);
90
+ if (fromColumns.length > 0 && toColumns.length > 0) {
91
+ const rel = {
92
+ name: fk.name,
93
+ type: fromColumns[0].isUnique ? 'OneToOne' : 'ManyToOne',
94
+ from: { table: fromTable, columns: fromColumns },
95
+ to: { table: toTable, columns: toColumns },
96
+ onDelete: fk.onDelete || 'NO ACTION',
97
+ onUpdate: fk.onUpdate || 'NO ACTION',
98
+ };
99
+ ast.addRelationship(rel);
100
+ }
101
+ }
102
+ }
103
+ }
104
+ buildIndexes(ast, tableNodes, tableSchemas) {
105
+ for (const schema of tableSchemas) {
106
+ if (!schema.indexes)
107
+ continue;
108
+ const table = tableNodes.get(schema.name);
109
+ if (!table)
110
+ continue;
111
+ for (const idx of schema.indexes) {
112
+ const columns = idx.columns.map((c) => table.columns.get(c)).filter((c) => !!c);
113
+ if (columns.length > 0) {
114
+ const index = {
115
+ name: idx.name,
116
+ table,
117
+ columns,
118
+ unique: idx.unique,
119
+ };
120
+ ast.addIndex(index);
121
+ }
122
+ }
123
+ }
124
+ }
125
+ columnSchemaToCanonical(col) {
126
+ const base = sqlToCanonical(col.type);
127
+ return {
128
+ ...base,
129
+ length: col.length ?? base.length,
130
+ precision: col.precision ?? base.precision,
131
+ scale: col.scale ?? base.scale,
132
+ };
133
+ }
134
+ }
135
+ //# sourceMappingURL=baseSqlIntrospector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseSqlIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/baseSqlIntrospector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './abstractSqlSchemaIntrospector.js';
2
+ export * from './mongoIntrospector.js';
3
+ export { MariadbSchemaIntrospector, MysqlSchemaIntrospector } from './mysqlIntrospector.js';
4
+ export * from './postgresIntrospector.js';
5
+ export * from './sqliteIntrospector.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './abstractSqlSchemaIntrospector.js';
2
+ export * from './mongoIntrospector.js';
3
+ export { MariadbSchemaIntrospector, MysqlSchemaIntrospector } from './mysqlIntrospector.js';
4
+ export * from './postgresIntrospector.js';
5
+ export * from './sqliteIntrospector.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrate/introspection/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { SchemaAST } from '../../schema/schemaAST.js';
2
+ import type { QuerierPool, SchemaIntrospector, TableSchema } from '../../type/index.js';
3
+ /**
4
+ * MongoDB schema introspector.
5
+ * MongoDB doesn't have a fixed schema, so this primarily focuses on collections and indexes.
6
+ */
7
+ export declare class MongoSchemaIntrospector implements SchemaIntrospector {
8
+ private readonly pool;
9
+ constructor(pool: QuerierPool);
10
+ introspect(): Promise<SchemaAST>;
11
+ getTableSchema(tableName: string): Promise<TableSchema | undefined>;
12
+ getTableNames(): Promise<string[]>;
13
+ tableExists(tableName: string): Promise<boolean>;
14
+ }
15
+ //# sourceMappingURL=mongoIntrospector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/mongoIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,KAAK,EAAgB,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEtG;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAExC,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAsDhC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA0BnE,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWlC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIvD"}
@@ -0,0 +1,100 @@
1
+ import { SchemaAST } from '../../schema/schemaAST.js';
2
+ /**
3
+ * MongoDB schema introspector.
4
+ * MongoDB doesn't have a fixed schema, so this primarily focuses on collections and indexes.
5
+ */
6
+ export class MongoSchemaIntrospector {
7
+ pool;
8
+ constructor(pool) {
9
+ this.pool = pool;
10
+ }
11
+ async introspect() {
12
+ const tableNames = await this.getTableNames();
13
+ const ast = new SchemaAST();
14
+ for (const name of tableNames) {
15
+ const schema = await this.getTableSchema(name);
16
+ if (schema) {
17
+ const columns = new Map();
18
+ const table = {
19
+ name,
20
+ columns,
21
+ primaryKey: [],
22
+ indexes: [],
23
+ schema: ast,
24
+ incomingRelations: [],
25
+ outgoingRelations: [],
26
+ };
27
+ if (schema.indexes) {
28
+ for (const idx of schema.indexes) {
29
+ const indexColumns = [];
30
+ for (const colName of idx.columns) {
31
+ let column = columns.get(colName);
32
+ if (!column) {
33
+ column = {
34
+ name: colName,
35
+ type: { category: 'string' }, // MongoDB fields are flexible, but indexes usually target strings/numbers
36
+ nullable: true,
37
+ isPrimaryKey: false,
38
+ isAutoIncrement: false,
39
+ isUnique: false,
40
+ table,
41
+ referencedBy: [],
42
+ };
43
+ columns.set(colName, column);
44
+ }
45
+ indexColumns.push(column);
46
+ }
47
+ table.indexes.push({
48
+ name: idx.name,
49
+ table,
50
+ columns: indexColumns,
51
+ unique: idx.unique,
52
+ });
53
+ }
54
+ }
55
+ ast.addTable(table);
56
+ }
57
+ }
58
+ return ast;
59
+ }
60
+ async getTableSchema(tableName) {
61
+ const querier = await this.pool.getQuerier();
62
+ try {
63
+ const { db } = querier;
64
+ const collections = await db.listCollections({ name: tableName }).toArray();
65
+ if (collections.length === 0) {
66
+ return undefined;
67
+ }
68
+ // MongoDB doesn't have a fixed schema, but we can look at the indexes
69
+ const indexes = await db.collection(tableName).indexes();
70
+ return {
71
+ name: tableName,
72
+ columns: [], // We don't have columns in Mongo
73
+ indexes: indexes.map((idx) => ({
74
+ name: idx.name ?? Object.keys(idx.key).join('_'),
75
+ columns: Object.keys(idx.key),
76
+ unique: !!idx.unique,
77
+ })),
78
+ };
79
+ }
80
+ finally {
81
+ await querier.release();
82
+ }
83
+ }
84
+ async getTableNames() {
85
+ const querier = await this.pool.getQuerier();
86
+ try {
87
+ const { db } = querier;
88
+ const collections = await db.listCollections().toArray();
89
+ return collections.map((c) => c.name);
90
+ }
91
+ finally {
92
+ await querier.release();
93
+ }
94
+ }
95
+ async tableExists(tableName) {
96
+ const names = await this.getTableNames();
97
+ return names.includes(tableName);
98
+ }
99
+ }
100
+ //# sourceMappingURL=mongoIntrospector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/mongoIntrospector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { ColumnSchema, ForeignKeySchema, IndexSchema, QuerierPool, SqlQuerier } from '../../type/index.js';
2
+ import { AbstractSqlSchemaIntrospector } from './abstractSqlSchemaIntrospector.js';
3
+ /**
4
+ * MySQL/MariaDB schema introspector.
5
+ * Works with both MySQL and MariaDB as they share the same information_schema structure.
6
+ */
7
+ export declare class MysqlSchemaIntrospector extends AbstractSqlSchemaIntrospector {
8
+ protected readonly pool: QuerierPool;
9
+ constructor(pool: QuerierPool);
10
+ protected getTableNamesQuery(): string;
11
+ protected tableExistsQuery(): string;
12
+ protected parseTableExistsResult(results: {
13
+ count?: number | bigint;
14
+ }[]): boolean;
15
+ protected getColumnsQuery(_tableName: string): string;
16
+ protected getIndexesQuery(_tableName: string): string;
17
+ protected getForeignKeysQuery(_tableName: string): string;
18
+ protected getPrimaryKeyQuery(_tableName: string): string;
19
+ protected mapTableNameRow(row: {
20
+ table_name: string;
21
+ }): string;
22
+ protected mapColumnsResult(_querier: SqlQuerier, _tableName: string, results: MysqlColumnRow[]): Promise<ColumnSchema[]>;
23
+ protected mapIndexesResult(_querier: SqlQuerier, _tableName: string, results: {
24
+ index_name: string;
25
+ columns: string;
26
+ is_unique: number;
27
+ }[]): Promise<IndexSchema[]>;
28
+ protected mapForeignKeysResult(_querier: SqlQuerier, _tableName: string, results: {
29
+ constraint_name: string;
30
+ columns: string;
31
+ referenced_table: string;
32
+ referenced_columns: string;
33
+ delete_rule: string;
34
+ update_rule: string;
35
+ }[]): Promise<ForeignKeySchema[]>;
36
+ protected mapPrimaryKeyResult(results: {
37
+ column_name: string;
38
+ }[]): string[] | undefined;
39
+ protected parseDefaultValue(defaultValue: string | null): unknown;
40
+ }
41
+ type MysqlColumnRow = {
42
+ column_name: string;
43
+ column_type: string;
44
+ is_nullable: string;
45
+ column_default: string | null;
46
+ column_key: string;
47
+ extra: string;
48
+ character_maximum_length: number | bigint | null;
49
+ numeric_precision: number | bigint | null;
50
+ numeric_scale: number | null;
51
+ column_comment: string | null;
52
+ };
53
+ /**
54
+ * Alias for MysqlSchemaIntrospector.
55
+ * MariaDB uses the same information_schema structure as MySQL.
56
+ */
57
+ export declare const MariadbSchemaIntrospector: typeof MysqlSchemaIntrospector;
58
+ export {};
59
+ //# sourceMappingURL=mysqlIntrospector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysqlIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/mysqlIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,6BAA6B;IACxE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;gBAEzB,IAAI,EAAE,WAAW;IAS7B,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAUtC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IASpC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO;IAQjF,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAqBrD,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAerD,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAqBzD,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAexD,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;cAI9C,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EAAE,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC;cAgBV,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,GACpE,OAAO,CAAC,WAAW,EAAE,CAAC;cAQT,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,GACF,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAW9B,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS;IAOvF,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;CAwBlE;AAED,KAAK,cAAc,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,gCAA0B,CAAC"}