@warlock.js/cascade 4.0.157 → 4.0.161

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 (689) hide show
  1. package/package.json +4 -4
  2. package/cjs/context/database-data-source-context.d.ts +0 -29
  3. package/cjs/context/database-data-source-context.d.ts.map +0 -1
  4. package/cjs/context/database-data-source-context.js +0 -28
  5. package/cjs/context/database-data-source-context.js.map +0 -1
  6. package/cjs/context/database-transaction-context.d.ts +0 -35
  7. package/cjs/context/database-transaction-context.d.ts.map +0 -1
  8. package/cjs/context/database-transaction-context.js +0 -40
  9. package/cjs/context/database-transaction-context.js.map +0 -1
  10. package/cjs/contracts/database-driver.contract.d.ts +0 -450
  11. package/cjs/contracts/database-driver.contract.d.ts.map +0 -1
  12. package/cjs/contracts/database-id-generator.contract.d.ts +0 -109
  13. package/cjs/contracts/database-id-generator.contract.d.ts.map +0 -1
  14. package/cjs/contracts/database-remover.contract.d.ts +0 -104
  15. package/cjs/contracts/database-remover.contract.d.ts.map +0 -1
  16. package/cjs/contracts/database-restorer.contract.d.ts +0 -143
  17. package/cjs/contracts/database-restorer.contract.d.ts.map +0 -1
  18. package/cjs/contracts/database-writer.contract.d.ts +0 -119
  19. package/cjs/contracts/database-writer.contract.d.ts.map +0 -1
  20. package/cjs/contracts/driver-blueprint.contract.d.ts +0 -49
  21. package/cjs/contracts/driver-blueprint.contract.d.ts.map +0 -1
  22. package/cjs/contracts/index.d.ts +0 -10
  23. package/cjs/contracts/index.d.ts.map +0 -1
  24. package/cjs/contracts/migration-driver.contract.d.ts +0 -522
  25. package/cjs/contracts/migration-driver.contract.d.ts.map +0 -1
  26. package/cjs/contracts/query-builder.contract.d.ts +0 -1609
  27. package/cjs/contracts/query-builder.contract.d.ts.map +0 -1
  28. package/cjs/contracts/sync-adapter.contract.d.ts +0 -58
  29. package/cjs/contracts/sync-adapter.contract.d.ts.map +0 -1
  30. package/cjs/data-source/data-source-registry.d.ts +0 -108
  31. package/cjs/data-source/data-source-registry.d.ts.map +0 -1
  32. package/cjs/data-source/data-source-registry.js +0 -145
  33. package/cjs/data-source/data-source-registry.js.map +0 -1
  34. package/cjs/data-source/data-source.d.ts +0 -147
  35. package/cjs/data-source/data-source.d.ts.map +0 -1
  36. package/cjs/data-source/data-source.js +0 -83
  37. package/cjs/data-source/data-source.js.map +0 -1
  38. package/cjs/database-dirty-tracker.d.ts +0 -252
  39. package/cjs/database-dirty-tracker.d.ts.map +0 -1
  40. package/cjs/database-dirty-tracker.js +0 -386
  41. package/cjs/database-dirty-tracker.js.map +0 -1
  42. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
  43. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
  44. package/cjs/drivers/mongodb/mongodb-blueprint.js +0 -51
  45. package/cjs/drivers/mongodb/mongodb-blueprint.js.map +0 -1
  46. package/cjs/drivers/mongodb/mongodb-driver.d.ts +0 -324
  47. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
  48. package/cjs/drivers/mongodb/mongodb-driver.js +0 -799
  49. package/cjs/drivers/mongodb/mongodb-driver.js.map +0 -1
  50. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
  51. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
  52. package/cjs/drivers/mongodb/mongodb-id-generator.js +0 -149
  53. package/cjs/drivers/mongodb/mongodb-id-generator.js.map +0 -1
  54. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
  55. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
  56. package/cjs/drivers/mongodb/mongodb-migration-driver.js +0 -666
  57. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
  58. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
  59. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
  60. package/cjs/drivers/mongodb/mongodb-query-builder.js +0 -1988
  61. package/cjs/drivers/mongodb/mongodb-query-builder.js.map +0 -1
  62. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
  63. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
  64. package/cjs/drivers/mongodb/mongodb-query-operations.js +0 -270
  65. package/cjs/drivers/mongodb/mongodb-query-operations.js.map +0 -1
  66. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
  67. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
  68. package/cjs/drivers/mongodb/mongodb-query-parser.js +0 -1351
  69. package/cjs/drivers/mongodb/mongodb-query-parser.js.map +0 -1
  70. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
  71. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
  72. package/cjs/drivers/mongodb/mongodb-sync-adapter.js +0 -146
  73. package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
  74. package/cjs/drivers/mongodb/types.d.ts +0 -43
  75. package/cjs/drivers/mongodb/types.d.ts.map +0 -1
  76. package/cjs/drivers/postgres/index.d.ts +0 -16
  77. package/cjs/drivers/postgres/index.d.ts.map +0 -1
  78. package/cjs/drivers/postgres/postgres-blueprint.d.ts +0 -64
  79. package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
  80. package/cjs/drivers/postgres/postgres-blueprint.js +0 -121
  81. package/cjs/drivers/postgres/postgres-blueprint.js.map +0 -1
  82. package/cjs/drivers/postgres/postgres-dialect.d.ts +0 -136
  83. package/cjs/drivers/postgres/postgres-dialect.d.ts.map +0 -1
  84. package/cjs/drivers/postgres/postgres-dialect.js +0 -268
  85. package/cjs/drivers/postgres/postgres-dialect.js.map +0 -1
  86. package/cjs/drivers/postgres/postgres-driver.d.ts +0 -432
  87. package/cjs/drivers/postgres/postgres-driver.d.ts.map +0 -1
  88. package/cjs/drivers/postgres/postgres-driver.js +0 -965
  89. package/cjs/drivers/postgres/postgres-driver.js.map +0 -1
  90. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +0 -397
  91. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
  92. package/cjs/drivers/postgres/postgres-migration-driver.js +0 -900
  93. package/cjs/drivers/postgres/postgres-migration-driver.js.map +0 -1
  94. package/cjs/drivers/postgres/postgres-query-builder.d.ts +0 -254
  95. package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
  96. package/cjs/drivers/postgres/postgres-query-builder.js +0 -933
  97. package/cjs/drivers/postgres/postgres-query-builder.js.map +0 -1
  98. package/cjs/drivers/postgres/postgres-query-parser.d.ts +0 -328
  99. package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
  100. package/cjs/drivers/postgres/postgres-query-parser.js +0 -864
  101. package/cjs/drivers/postgres/postgres-query-parser.js.map +0 -1
  102. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
  103. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
  104. package/cjs/drivers/postgres/postgres-sql-serializer.js +0 -400
  105. package/cjs/drivers/postgres/postgres-sql-serializer.js.map +0 -1
  106. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
  107. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
  108. package/cjs/drivers/postgres/postgres-sync-adapter.js +0 -197
  109. package/cjs/drivers/postgres/postgres-sync-adapter.js.map +0 -1
  110. package/cjs/drivers/postgres/types.d.ts +0 -142
  111. package/cjs/drivers/postgres/types.d.ts.map +0 -1
  112. package/cjs/drivers/sql/index.d.ts +0 -10
  113. package/cjs/drivers/sql/index.d.ts.map +0 -1
  114. package/cjs/drivers/sql/sql-dialect.contract.d.ts +0 -204
  115. package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
  116. package/cjs/drivers/sql/sql-types.d.ts +0 -202
  117. package/cjs/drivers/sql/sql-types.d.ts.map +0 -1
  118. package/cjs/errors/missing-data-source.error.d.ts +0 -22
  119. package/cjs/errors/missing-data-source.error.d.ts.map +0 -1
  120. package/cjs/errors/missing-data-source.error.js +0 -29
  121. package/cjs/errors/missing-data-source.error.js.map +0 -1
  122. package/cjs/errors/transaction-rollback.error.d.ts +0 -20
  123. package/cjs/errors/transaction-rollback.error.d.ts.map +0 -1
  124. package/cjs/errors/transaction-rollback.error.js +0 -27
  125. package/cjs/errors/transaction-rollback.error.js.map +0 -1
  126. package/cjs/events/model-events.d.ts +0 -231
  127. package/cjs/events/model-events.d.ts.map +0 -1
  128. package/cjs/events/model-events.js +0 -259
  129. package/cjs/events/model-events.js.map +0 -1
  130. package/cjs/expressions/aggregate-expressions.d.ts +0 -215
  131. package/cjs/expressions/aggregate-expressions.d.ts.map +0 -1
  132. package/cjs/expressions/aggregate-expressions.js +0 -221
  133. package/cjs/expressions/aggregate-expressions.js.map +0 -1
  134. package/cjs/expressions/index.d.ts +0 -2
  135. package/cjs/expressions/index.d.ts.map +0 -1
  136. package/cjs/index.d.ts +0 -45
  137. package/cjs/index.d.ts.map +0 -1
  138. package/cjs/index.js +0 -1
  139. package/cjs/index.js.map +0 -1
  140. package/cjs/migration/column-builder.d.ts +0 -417
  141. package/cjs/migration/column-builder.d.ts.map +0 -1
  142. package/cjs/migration/column-builder.js +0 -586
  143. package/cjs/migration/column-builder.js.map +0 -1
  144. package/cjs/migration/column-helpers.d.ts +0 -275
  145. package/cjs/migration/column-helpers.d.ts.map +0 -1
  146. package/cjs/migration/column-helpers.js +0 -389
  147. package/cjs/migration/column-helpers.js.map +0 -1
  148. package/cjs/migration/foreign-key-builder.d.ts +0 -103
  149. package/cjs/migration/foreign-key-builder.d.ts.map +0 -1
  150. package/cjs/migration/foreign-key-builder.js +0 -121
  151. package/cjs/migration/foreign-key-builder.js.map +0 -1
  152. package/cjs/migration/index.d.ts +0 -7
  153. package/cjs/migration/index.d.ts.map +0 -1
  154. package/cjs/migration/migration-runner.d.ts +0 -278
  155. package/cjs/migration/migration-runner.d.ts.map +0 -1
  156. package/cjs/migration/migration-runner.js +0 -815
  157. package/cjs/migration/migration-runner.js.map +0 -1
  158. package/cjs/migration/migration.d.ts +0 -1992
  159. package/cjs/migration/migration.d.ts.map +0 -1
  160. package/cjs/migration/migration.js +0 -2162
  161. package/cjs/migration/migration.js.map +0 -1
  162. package/cjs/migration/sql-grammar.d.ts +0 -61
  163. package/cjs/migration/sql-grammar.d.ts.map +0 -1
  164. package/cjs/migration/sql-grammar.js +0 -164
  165. package/cjs/migration/sql-grammar.js.map +0 -1
  166. package/cjs/migration/sql-serializer.d.ts +0 -22
  167. package/cjs/migration/sql-serializer.d.ts.map +0 -1
  168. package/cjs/migration/sql-serializer.js +0 -26
  169. package/cjs/migration/sql-serializer.js.map +0 -1
  170. package/cjs/migration/types.d.ts +0 -155
  171. package/cjs/migration/types.d.ts.map +0 -1
  172. package/cjs/model/methods/accessor-methods.d.ts +0 -13
  173. package/cjs/model/methods/accessor-methods.d.ts.map +0 -1
  174. package/cjs/model/methods/accessor-methods.js +0 -51
  175. package/cjs/model/methods/accessor-methods.js.map +0 -1
  176. package/cjs/model/methods/delete-methods.d.ts +0 -10
  177. package/cjs/model/methods/delete-methods.d.ts.map +0 -1
  178. package/cjs/model/methods/delete-methods.js +0 -10
  179. package/cjs/model/methods/delete-methods.js.map +0 -1
  180. package/cjs/model/methods/dirty-methods.d.ts +0 -10
  181. package/cjs/model/methods/dirty-methods.d.ts.map +0 -1
  182. package/cjs/model/methods/dirty-methods.js +0 -15
  183. package/cjs/model/methods/dirty-methods.js.map +0 -1
  184. package/cjs/model/methods/hydration-methods.d.ts +0 -10
  185. package/cjs/model/methods/hydration-methods.d.ts.map +0 -1
  186. package/cjs/model/methods/hydration-methods.js +0 -57
  187. package/cjs/model/methods/hydration-methods.js.map +0 -1
  188. package/cjs/model/methods/instance-event-methods.d.ts +0 -7
  189. package/cjs/model/methods/instance-event-methods.d.ts.map +0 -1
  190. package/cjs/model/methods/instance-event-methods.js +0 -15
  191. package/cjs/model/methods/instance-event-methods.js.map +0 -1
  192. package/cjs/model/methods/meta-methods.d.ts +0 -7
  193. package/cjs/model/methods/meta-methods.d.ts.map +0 -1
  194. package/cjs/model/methods/meta-methods.js +0 -78
  195. package/cjs/model/methods/meta-methods.js.map +0 -1
  196. package/cjs/model/methods/query-methods.d.ts +0 -24
  197. package/cjs/model/methods/query-methods.d.ts.map +0 -1
  198. package/cjs/model/methods/query-methods.js +0 -161
  199. package/cjs/model/methods/query-methods.js.map +0 -1
  200. package/cjs/model/methods/restore-methods.d.ts +0 -10
  201. package/cjs/model/methods/restore-methods.d.ts.map +0 -1
  202. package/cjs/model/methods/restore-methods.js +0 -13
  203. package/cjs/model/methods/restore-methods.js.map +0 -1
  204. package/cjs/model/methods/scope-methods.d.ts +0 -7
  205. package/cjs/model/methods/scope-methods.d.ts.map +0 -1
  206. package/cjs/model/methods/scope-methods.js +0 -15
  207. package/cjs/model/methods/scope-methods.js.map +0 -1
  208. package/cjs/model/methods/serialization-methods.d.ts +0 -3
  209. package/cjs/model/methods/serialization-methods.d.ts.map +0 -1
  210. package/cjs/model/methods/serialization-methods.js +0 -27
  211. package/cjs/model/methods/serialization-methods.js.map +0 -1
  212. package/cjs/model/methods/static-event-methods.d.ts +0 -9
  213. package/cjs/model/methods/static-event-methods.d.ts.map +0 -1
  214. package/cjs/model/methods/static-event-methods.js +0 -29
  215. package/cjs/model/methods/static-event-methods.js.map +0 -1
  216. package/cjs/model/methods/write-methods.d.ts +0 -10
  217. package/cjs/model/methods/write-methods.d.ts.map +0 -1
  218. package/cjs/model/methods/write-methods.js +0 -52
  219. package/cjs/model/methods/write-methods.js.map +0 -1
  220. package/cjs/model/model.d.ts +0 -1650
  221. package/cjs/model/model.d.ts.map +0 -1
  222. package/cjs/model/model.js +0 -1657
  223. package/cjs/model/model.js.map +0 -1
  224. package/cjs/model/model.types.d.ts +0 -44
  225. package/cjs/model/model.types.d.ts.map +0 -1
  226. package/cjs/model/register-model.d.ts +0 -81
  227. package/cjs/model/register-model.d.ts.map +0 -1
  228. package/cjs/model/register-model.js +0 -94
  229. package/cjs/model/register-model.js.map +0 -1
  230. package/cjs/query-builder/query-builder.d.ts +0 -556
  231. package/cjs/query-builder/query-builder.d.ts.map +0 -1
  232. package/cjs/query-builder/query-builder.js +0 -1070
  233. package/cjs/query-builder/query-builder.js.map +0 -1
  234. package/cjs/relations/helpers.d.ts +0 -156
  235. package/cjs/relations/helpers.d.ts.map +0 -1
  236. package/cjs/relations/helpers.js +0 -201
  237. package/cjs/relations/helpers.js.map +0 -1
  238. package/cjs/relations/index.d.ts +0 -35
  239. package/cjs/relations/index.d.ts.map +0 -1
  240. package/cjs/relations/pivot-operations.d.ts +0 -160
  241. package/cjs/relations/pivot-operations.d.ts.map +0 -1
  242. package/cjs/relations/pivot-operations.js +0 -293
  243. package/cjs/relations/pivot-operations.js.map +0 -1
  244. package/cjs/relations/relation-hydrator.d.ts +0 -68
  245. package/cjs/relations/relation-hydrator.d.ts.map +0 -1
  246. package/cjs/relations/relation-hydrator.js +0 -81
  247. package/cjs/relations/relation-hydrator.js.map +0 -1
  248. package/cjs/relations/relation-loader.d.ts +0 -194
  249. package/cjs/relations/relation-loader.d.ts.map +0 -1
  250. package/cjs/relations/relation-loader.js +0 -466
  251. package/cjs/relations/relation-loader.js.map +0 -1
  252. package/cjs/relations/types.d.ts +0 -306
  253. package/cjs/relations/types.d.ts.map +0 -1
  254. package/cjs/remover/database-remover.d.ts +0 -100
  255. package/cjs/remover/database-remover.d.ts.map +0 -1
  256. package/cjs/remover/database-remover.js +0 -214
  257. package/cjs/remover/database-remover.js.map +0 -1
  258. package/cjs/restorer/database-restorer.d.ts +0 -131
  259. package/cjs/restorer/database-restorer.d.ts.map +0 -1
  260. package/cjs/restorer/database-restorer.js +0 -434
  261. package/cjs/restorer/database-restorer.js.map +0 -1
  262. package/cjs/sql-database-dirty-tracker.d.ts +0 -13
  263. package/cjs/sql-database-dirty-tracker.d.ts.map +0 -1
  264. package/cjs/sql-database-dirty-tracker.js +0 -14
  265. package/cjs/sql-database-dirty-tracker.js.map +0 -1
  266. package/cjs/sync/index.d.ts +0 -12
  267. package/cjs/sync/index.d.ts.map +0 -1
  268. package/cjs/sync/model-events.d.ts +0 -62
  269. package/cjs/sync/model-events.d.ts.map +0 -1
  270. package/cjs/sync/model-events.js +0 -49
  271. package/cjs/sync/model-events.js.map +0 -1
  272. package/cjs/sync/model-sync-operation.d.ts +0 -163
  273. package/cjs/sync/model-sync-operation.d.ts.map +0 -1
  274. package/cjs/sync/model-sync-operation.js +0 -292
  275. package/cjs/sync/model-sync-operation.js.map +0 -1
  276. package/cjs/sync/model-sync.d.ts +0 -130
  277. package/cjs/sync/model-sync.d.ts.map +0 -1
  278. package/cjs/sync/model-sync.js +0 -178
  279. package/cjs/sync/model-sync.js.map +0 -1
  280. package/cjs/sync/sync-context.d.ts +0 -70
  281. package/cjs/sync/sync-context.d.ts.map +0 -1
  282. package/cjs/sync/sync-context.js +0 -101
  283. package/cjs/sync/sync-context.js.map +0 -1
  284. package/cjs/sync/sync-manager.d.ts +0 -213
  285. package/cjs/sync/sync-manager.d.ts.map +0 -1
  286. package/cjs/sync/sync-manager.js +0 -689
  287. package/cjs/sync/sync-manager.js.map +0 -1
  288. package/cjs/sync/types.d.ts +0 -289
  289. package/cjs/sync/types.d.ts.map +0 -1
  290. package/cjs/test-migrations/test-enhanced-features.migration.d.ts +0 -15
  291. package/cjs/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
  292. package/cjs/types.d.ts +0 -371
  293. package/cjs/types.d.ts.map +0 -1
  294. package/cjs/utils/connect-to-database.d.ts +0 -300
  295. package/cjs/utils/connect-to-database.d.ts.map +0 -1
  296. package/cjs/utils/connect-to-database.js +0 -128
  297. package/cjs/utils/connect-to-database.js.map +0 -1
  298. package/cjs/utils/database-writer.utils.d.ts +0 -15
  299. package/cjs/utils/database-writer.utils.d.ts.map +0 -1
  300. package/cjs/utils/database-writer.utils.js +0 -14
  301. package/cjs/utils/database-writer.utils.js.map +0 -1
  302. package/cjs/utils/define-model.js +0 -100
  303. package/cjs/utils/define-model.js.map +0 -1
  304. package/cjs/utils/is-valid-date-value.d.ts +0 -5
  305. package/cjs/utils/is-valid-date-value.d.ts.map +0 -1
  306. package/cjs/utils/is-valid-date-value.js +0 -25
  307. package/cjs/utils/is-valid-date-value.js.map +0 -1
  308. package/cjs/utils/once-connected.d.ts +0 -146
  309. package/cjs/utils/once-connected.d.ts.map +0 -1
  310. package/cjs/utils/once-connected.js +0 -251
  311. package/cjs/utils/once-connected.js.map +0 -1
  312. package/cjs/validation/database-seal-plugins.d.ts +0 -12
  313. package/cjs/validation/database-seal-plugins.d.ts.map +0 -1
  314. package/cjs/validation/database-seal-plugins.js +0 -1
  315. package/cjs/validation/database-seal-plugins.js.map +0 -1
  316. package/cjs/validation/database-writer-validation-error.d.ts +0 -97
  317. package/cjs/validation/database-writer-validation-error.d.ts.map +0 -1
  318. package/cjs/validation/database-writer-validation-error.js +0 -160
  319. package/cjs/validation/database-writer-validation-error.js.map +0 -1
  320. package/cjs/validation/index.d.ts +0 -3
  321. package/cjs/validation/index.d.ts.map +0 -1
  322. package/cjs/validation/mutators/embed-mutator.d.ts +0 -9
  323. package/cjs/validation/mutators/embed-mutator.d.ts.map +0 -1
  324. package/cjs/validation/mutators/embed-mutator.js +0 -33
  325. package/cjs/validation/mutators/embed-mutator.js.map +0 -1
  326. package/cjs/validation/plugins/embed-validator-plugin.d.ts +0 -24
  327. package/cjs/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
  328. package/cjs/validation/plugins/embed-validator-plugin.js +0 -18
  329. package/cjs/validation/plugins/embed-validator-plugin.js.map +0 -1
  330. package/cjs/validation/rules/database-model-rule.d.ts +0 -7
  331. package/cjs/validation/rules/database-model-rule.d.ts.map +0 -1
  332. package/cjs/validation/rules/database-model-rule.js +0 -27
  333. package/cjs/validation/rules/database-model-rule.js.map +0 -1
  334. package/cjs/validation/transformers/embed-model-transformer.d.ts +0 -3
  335. package/cjs/validation/transformers/embed-model-transformer.d.ts.map +0 -1
  336. package/cjs/validation/transformers/embed-model-transformer.js +0 -18
  337. package/cjs/validation/transformers/embed-model-transformer.js.map +0 -1
  338. package/cjs/validation/validators/embed-validator.d.ts +0 -21
  339. package/cjs/validation/validators/embed-validator.d.ts.map +0 -1
  340. package/cjs/validation/validators/embed-validator.js +0 -43
  341. package/cjs/validation/validators/embed-validator.js.map +0 -1
  342. package/cjs/writer/database-writer.d.ts +0 -181
  343. package/cjs/writer/database-writer.d.ts.map +0 -1
  344. package/cjs/writer/database-writer.js +0 -407
  345. package/cjs/writer/database-writer.js.map +0 -1
  346. package/esm/context/database-data-source-context.d.ts +0 -29
  347. package/esm/context/database-data-source-context.d.ts.map +0 -1
  348. package/esm/context/database-data-source-context.js +0 -28
  349. package/esm/context/database-data-source-context.js.map +0 -1
  350. package/esm/context/database-transaction-context.d.ts +0 -35
  351. package/esm/context/database-transaction-context.d.ts.map +0 -1
  352. package/esm/context/database-transaction-context.js +0 -40
  353. package/esm/context/database-transaction-context.js.map +0 -1
  354. package/esm/contracts/database-driver.contract.d.ts +0 -450
  355. package/esm/contracts/database-driver.contract.d.ts.map +0 -1
  356. package/esm/contracts/database-id-generator.contract.d.ts +0 -109
  357. package/esm/contracts/database-id-generator.contract.d.ts.map +0 -1
  358. package/esm/contracts/database-remover.contract.d.ts +0 -104
  359. package/esm/contracts/database-remover.contract.d.ts.map +0 -1
  360. package/esm/contracts/database-restorer.contract.d.ts +0 -143
  361. package/esm/contracts/database-restorer.contract.d.ts.map +0 -1
  362. package/esm/contracts/database-writer.contract.d.ts +0 -119
  363. package/esm/contracts/database-writer.contract.d.ts.map +0 -1
  364. package/esm/contracts/driver-blueprint.contract.d.ts +0 -49
  365. package/esm/contracts/driver-blueprint.contract.d.ts.map +0 -1
  366. package/esm/contracts/index.d.ts +0 -10
  367. package/esm/contracts/index.d.ts.map +0 -1
  368. package/esm/contracts/migration-driver.contract.d.ts +0 -522
  369. package/esm/contracts/migration-driver.contract.d.ts.map +0 -1
  370. package/esm/contracts/query-builder.contract.d.ts +0 -1609
  371. package/esm/contracts/query-builder.contract.d.ts.map +0 -1
  372. package/esm/contracts/sync-adapter.contract.d.ts +0 -58
  373. package/esm/contracts/sync-adapter.contract.d.ts.map +0 -1
  374. package/esm/data-source/data-source-registry.d.ts +0 -108
  375. package/esm/data-source/data-source-registry.d.ts.map +0 -1
  376. package/esm/data-source/data-source-registry.js +0 -145
  377. package/esm/data-source/data-source-registry.js.map +0 -1
  378. package/esm/data-source/data-source.d.ts +0 -147
  379. package/esm/data-source/data-source.d.ts.map +0 -1
  380. package/esm/data-source/data-source.js +0 -83
  381. package/esm/data-source/data-source.js.map +0 -1
  382. package/esm/database-dirty-tracker.d.ts +0 -252
  383. package/esm/database-dirty-tracker.d.ts.map +0 -1
  384. package/esm/database-dirty-tracker.js +0 -386
  385. package/esm/database-dirty-tracker.js.map +0 -1
  386. package/esm/drivers/mongodb/mongodb-blueprint.d.ts +0 -30
  387. package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +0 -1
  388. package/esm/drivers/mongodb/mongodb-blueprint.js +0 -51
  389. package/esm/drivers/mongodb/mongodb-blueprint.js.map +0 -1
  390. package/esm/drivers/mongodb/mongodb-driver.d.ts +0 -324
  391. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +0 -1
  392. package/esm/drivers/mongodb/mongodb-driver.js +0 -799
  393. package/esm/drivers/mongodb/mongodb-driver.js.map +0 -1
  394. package/esm/drivers/mongodb/mongodb-id-generator.d.ts +0 -116
  395. package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +0 -1
  396. package/esm/drivers/mongodb/mongodb-id-generator.js +0 -149
  397. package/esm/drivers/mongodb/mongodb-id-generator.js.map +0 -1
  398. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +0 -317
  399. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +0 -1
  400. package/esm/drivers/mongodb/mongodb-migration-driver.js +0 -666
  401. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +0 -1
  402. package/esm/drivers/mongodb/mongodb-query-builder.d.ts +0 -1122
  403. package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +0 -1
  404. package/esm/drivers/mongodb/mongodb-query-builder.js +0 -1988
  405. package/esm/drivers/mongodb/mongodb-query-builder.js.map +0 -1
  406. package/esm/drivers/mongodb/mongodb-query-operations.d.ts +0 -226
  407. package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +0 -1
  408. package/esm/drivers/mongodb/mongodb-query-operations.js +0 -270
  409. package/esm/drivers/mongodb/mongodb-query-operations.js.map +0 -1
  410. package/esm/drivers/mongodb/mongodb-query-parser.d.ts +0 -262
  411. package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +0 -1
  412. package/esm/drivers/mongodb/mongodb-query-parser.js +0 -1351
  413. package/esm/drivers/mongodb/mongodb-query-parser.js.map +0 -1
  414. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts +0 -79
  415. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +0 -1
  416. package/esm/drivers/mongodb/mongodb-sync-adapter.js +0 -146
  417. package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +0 -1
  418. package/esm/drivers/mongodb/types.d.ts +0 -43
  419. package/esm/drivers/mongodb/types.d.ts.map +0 -1
  420. package/esm/drivers/postgres/index.d.ts +0 -16
  421. package/esm/drivers/postgres/index.d.ts.map +0 -1
  422. package/esm/drivers/postgres/postgres-blueprint.d.ts +0 -64
  423. package/esm/drivers/postgres/postgres-blueprint.d.ts.map +0 -1
  424. package/esm/drivers/postgres/postgres-blueprint.js +0 -121
  425. package/esm/drivers/postgres/postgres-blueprint.js.map +0 -1
  426. package/esm/drivers/postgres/postgres-dialect.d.ts +0 -136
  427. package/esm/drivers/postgres/postgres-dialect.d.ts.map +0 -1
  428. package/esm/drivers/postgres/postgres-dialect.js +0 -268
  429. package/esm/drivers/postgres/postgres-dialect.js.map +0 -1
  430. package/esm/drivers/postgres/postgres-driver.d.ts +0 -432
  431. package/esm/drivers/postgres/postgres-driver.d.ts.map +0 -1
  432. package/esm/drivers/postgres/postgres-driver.js +0 -965
  433. package/esm/drivers/postgres/postgres-driver.js.map +0 -1
  434. package/esm/drivers/postgres/postgres-migration-driver.d.ts +0 -397
  435. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +0 -1
  436. package/esm/drivers/postgres/postgres-migration-driver.js +0 -900
  437. package/esm/drivers/postgres/postgres-migration-driver.js.map +0 -1
  438. package/esm/drivers/postgres/postgres-query-builder.d.ts +0 -254
  439. package/esm/drivers/postgres/postgres-query-builder.d.ts.map +0 -1
  440. package/esm/drivers/postgres/postgres-query-builder.js +0 -933
  441. package/esm/drivers/postgres/postgres-query-builder.js.map +0 -1
  442. package/esm/drivers/postgres/postgres-query-parser.d.ts +0 -328
  443. package/esm/drivers/postgres/postgres-query-parser.d.ts.map +0 -1
  444. package/esm/drivers/postgres/postgres-query-parser.js +0 -864
  445. package/esm/drivers/postgres/postgres-query-parser.js.map +0 -1
  446. package/esm/drivers/postgres/postgres-sql-serializer.d.ts +0 -37
  447. package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +0 -1
  448. package/esm/drivers/postgres/postgres-sql-serializer.js +0 -400
  449. package/esm/drivers/postgres/postgres-sql-serializer.js.map +0 -1
  450. package/esm/drivers/postgres/postgres-sync-adapter.d.ts +0 -83
  451. package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +0 -1
  452. package/esm/drivers/postgres/postgres-sync-adapter.js +0 -197
  453. package/esm/drivers/postgres/postgres-sync-adapter.js.map +0 -1
  454. package/esm/drivers/postgres/types.d.ts +0 -142
  455. package/esm/drivers/postgres/types.d.ts.map +0 -1
  456. package/esm/drivers/sql/index.d.ts +0 -10
  457. package/esm/drivers/sql/index.d.ts.map +0 -1
  458. package/esm/drivers/sql/sql-dialect.contract.d.ts +0 -204
  459. package/esm/drivers/sql/sql-dialect.contract.d.ts.map +0 -1
  460. package/esm/drivers/sql/sql-types.d.ts +0 -202
  461. package/esm/drivers/sql/sql-types.d.ts.map +0 -1
  462. package/esm/errors/missing-data-source.error.d.ts +0 -22
  463. package/esm/errors/missing-data-source.error.d.ts.map +0 -1
  464. package/esm/errors/missing-data-source.error.js +0 -29
  465. package/esm/errors/missing-data-source.error.js.map +0 -1
  466. package/esm/errors/transaction-rollback.error.d.ts +0 -20
  467. package/esm/errors/transaction-rollback.error.d.ts.map +0 -1
  468. package/esm/errors/transaction-rollback.error.js +0 -27
  469. package/esm/errors/transaction-rollback.error.js.map +0 -1
  470. package/esm/events/model-events.d.ts +0 -231
  471. package/esm/events/model-events.d.ts.map +0 -1
  472. package/esm/events/model-events.js +0 -259
  473. package/esm/events/model-events.js.map +0 -1
  474. package/esm/expressions/aggregate-expressions.d.ts +0 -215
  475. package/esm/expressions/aggregate-expressions.d.ts.map +0 -1
  476. package/esm/expressions/aggregate-expressions.js +0 -221
  477. package/esm/expressions/aggregate-expressions.js.map +0 -1
  478. package/esm/expressions/index.d.ts +0 -2
  479. package/esm/expressions/index.d.ts.map +0 -1
  480. package/esm/index.d.ts +0 -45
  481. package/esm/index.d.ts.map +0 -1
  482. package/esm/index.js +0 -1
  483. package/esm/index.js.map +0 -1
  484. package/esm/migration/column-builder.d.ts +0 -417
  485. package/esm/migration/column-builder.d.ts.map +0 -1
  486. package/esm/migration/column-builder.js +0 -586
  487. package/esm/migration/column-builder.js.map +0 -1
  488. package/esm/migration/column-helpers.d.ts +0 -275
  489. package/esm/migration/column-helpers.d.ts.map +0 -1
  490. package/esm/migration/column-helpers.js +0 -389
  491. package/esm/migration/column-helpers.js.map +0 -1
  492. package/esm/migration/foreign-key-builder.d.ts +0 -103
  493. package/esm/migration/foreign-key-builder.d.ts.map +0 -1
  494. package/esm/migration/foreign-key-builder.js +0 -121
  495. package/esm/migration/foreign-key-builder.js.map +0 -1
  496. package/esm/migration/index.d.ts +0 -7
  497. package/esm/migration/index.d.ts.map +0 -1
  498. package/esm/migration/migration-runner.d.ts +0 -278
  499. package/esm/migration/migration-runner.d.ts.map +0 -1
  500. package/esm/migration/migration-runner.js +0 -815
  501. package/esm/migration/migration-runner.js.map +0 -1
  502. package/esm/migration/migration.d.ts +0 -1992
  503. package/esm/migration/migration.d.ts.map +0 -1
  504. package/esm/migration/migration.js +0 -2162
  505. package/esm/migration/migration.js.map +0 -1
  506. package/esm/migration/sql-grammar.d.ts +0 -61
  507. package/esm/migration/sql-grammar.d.ts.map +0 -1
  508. package/esm/migration/sql-grammar.js +0 -164
  509. package/esm/migration/sql-grammar.js.map +0 -1
  510. package/esm/migration/sql-serializer.d.ts +0 -22
  511. package/esm/migration/sql-serializer.d.ts.map +0 -1
  512. package/esm/migration/sql-serializer.js +0 -26
  513. package/esm/migration/sql-serializer.js.map +0 -1
  514. package/esm/migration/types.d.ts +0 -155
  515. package/esm/migration/types.d.ts.map +0 -1
  516. package/esm/model/methods/accessor-methods.d.ts +0 -13
  517. package/esm/model/methods/accessor-methods.d.ts.map +0 -1
  518. package/esm/model/methods/accessor-methods.js +0 -51
  519. package/esm/model/methods/accessor-methods.js.map +0 -1
  520. package/esm/model/methods/delete-methods.d.ts +0 -10
  521. package/esm/model/methods/delete-methods.d.ts.map +0 -1
  522. package/esm/model/methods/delete-methods.js +0 -10
  523. package/esm/model/methods/delete-methods.js.map +0 -1
  524. package/esm/model/methods/dirty-methods.d.ts +0 -10
  525. package/esm/model/methods/dirty-methods.d.ts.map +0 -1
  526. package/esm/model/methods/dirty-methods.js +0 -15
  527. package/esm/model/methods/dirty-methods.js.map +0 -1
  528. package/esm/model/methods/hydration-methods.d.ts +0 -10
  529. package/esm/model/methods/hydration-methods.d.ts.map +0 -1
  530. package/esm/model/methods/hydration-methods.js +0 -57
  531. package/esm/model/methods/hydration-methods.js.map +0 -1
  532. package/esm/model/methods/instance-event-methods.d.ts +0 -7
  533. package/esm/model/methods/instance-event-methods.d.ts.map +0 -1
  534. package/esm/model/methods/instance-event-methods.js +0 -15
  535. package/esm/model/methods/instance-event-methods.js.map +0 -1
  536. package/esm/model/methods/meta-methods.d.ts +0 -7
  537. package/esm/model/methods/meta-methods.d.ts.map +0 -1
  538. package/esm/model/methods/meta-methods.js +0 -78
  539. package/esm/model/methods/meta-methods.js.map +0 -1
  540. package/esm/model/methods/query-methods.d.ts +0 -24
  541. package/esm/model/methods/query-methods.d.ts.map +0 -1
  542. package/esm/model/methods/query-methods.js +0 -161
  543. package/esm/model/methods/query-methods.js.map +0 -1
  544. package/esm/model/methods/restore-methods.d.ts +0 -10
  545. package/esm/model/methods/restore-methods.d.ts.map +0 -1
  546. package/esm/model/methods/restore-methods.js +0 -13
  547. package/esm/model/methods/restore-methods.js.map +0 -1
  548. package/esm/model/methods/scope-methods.d.ts +0 -7
  549. package/esm/model/methods/scope-methods.d.ts.map +0 -1
  550. package/esm/model/methods/scope-methods.js +0 -15
  551. package/esm/model/methods/scope-methods.js.map +0 -1
  552. package/esm/model/methods/serialization-methods.d.ts +0 -3
  553. package/esm/model/methods/serialization-methods.d.ts.map +0 -1
  554. package/esm/model/methods/serialization-methods.js +0 -27
  555. package/esm/model/methods/serialization-methods.js.map +0 -1
  556. package/esm/model/methods/static-event-methods.d.ts +0 -9
  557. package/esm/model/methods/static-event-methods.d.ts.map +0 -1
  558. package/esm/model/methods/static-event-methods.js +0 -29
  559. package/esm/model/methods/static-event-methods.js.map +0 -1
  560. package/esm/model/methods/write-methods.d.ts +0 -10
  561. package/esm/model/methods/write-methods.d.ts.map +0 -1
  562. package/esm/model/methods/write-methods.js +0 -52
  563. package/esm/model/methods/write-methods.js.map +0 -1
  564. package/esm/model/model.d.ts +0 -1650
  565. package/esm/model/model.d.ts.map +0 -1
  566. package/esm/model/model.js +0 -1657
  567. package/esm/model/model.js.map +0 -1
  568. package/esm/model/model.types.d.ts +0 -44
  569. package/esm/model/model.types.d.ts.map +0 -1
  570. package/esm/model/register-model.d.ts +0 -81
  571. package/esm/model/register-model.d.ts.map +0 -1
  572. package/esm/model/register-model.js +0 -94
  573. package/esm/model/register-model.js.map +0 -1
  574. package/esm/query-builder/query-builder.d.ts +0 -556
  575. package/esm/query-builder/query-builder.d.ts.map +0 -1
  576. package/esm/query-builder/query-builder.js +0 -1070
  577. package/esm/query-builder/query-builder.js.map +0 -1
  578. package/esm/relations/helpers.d.ts +0 -156
  579. package/esm/relations/helpers.d.ts.map +0 -1
  580. package/esm/relations/helpers.js +0 -201
  581. package/esm/relations/helpers.js.map +0 -1
  582. package/esm/relations/index.d.ts +0 -35
  583. package/esm/relations/index.d.ts.map +0 -1
  584. package/esm/relations/pivot-operations.d.ts +0 -160
  585. package/esm/relations/pivot-operations.d.ts.map +0 -1
  586. package/esm/relations/pivot-operations.js +0 -293
  587. package/esm/relations/pivot-operations.js.map +0 -1
  588. package/esm/relations/relation-hydrator.d.ts +0 -68
  589. package/esm/relations/relation-hydrator.d.ts.map +0 -1
  590. package/esm/relations/relation-hydrator.js +0 -81
  591. package/esm/relations/relation-hydrator.js.map +0 -1
  592. package/esm/relations/relation-loader.d.ts +0 -194
  593. package/esm/relations/relation-loader.d.ts.map +0 -1
  594. package/esm/relations/relation-loader.js +0 -466
  595. package/esm/relations/relation-loader.js.map +0 -1
  596. package/esm/relations/types.d.ts +0 -306
  597. package/esm/relations/types.d.ts.map +0 -1
  598. package/esm/remover/database-remover.d.ts +0 -100
  599. package/esm/remover/database-remover.d.ts.map +0 -1
  600. package/esm/remover/database-remover.js +0 -214
  601. package/esm/remover/database-remover.js.map +0 -1
  602. package/esm/restorer/database-restorer.d.ts +0 -131
  603. package/esm/restorer/database-restorer.d.ts.map +0 -1
  604. package/esm/restorer/database-restorer.js +0 -434
  605. package/esm/restorer/database-restorer.js.map +0 -1
  606. package/esm/sql-database-dirty-tracker.d.ts +0 -13
  607. package/esm/sql-database-dirty-tracker.d.ts.map +0 -1
  608. package/esm/sql-database-dirty-tracker.js +0 -14
  609. package/esm/sql-database-dirty-tracker.js.map +0 -1
  610. package/esm/sync/index.d.ts +0 -12
  611. package/esm/sync/index.d.ts.map +0 -1
  612. package/esm/sync/model-events.d.ts +0 -62
  613. package/esm/sync/model-events.d.ts.map +0 -1
  614. package/esm/sync/model-events.js +0 -49
  615. package/esm/sync/model-events.js.map +0 -1
  616. package/esm/sync/model-sync-operation.d.ts +0 -163
  617. package/esm/sync/model-sync-operation.d.ts.map +0 -1
  618. package/esm/sync/model-sync-operation.js +0 -292
  619. package/esm/sync/model-sync-operation.js.map +0 -1
  620. package/esm/sync/model-sync.d.ts +0 -130
  621. package/esm/sync/model-sync.d.ts.map +0 -1
  622. package/esm/sync/model-sync.js +0 -178
  623. package/esm/sync/model-sync.js.map +0 -1
  624. package/esm/sync/sync-context.d.ts +0 -70
  625. package/esm/sync/sync-context.d.ts.map +0 -1
  626. package/esm/sync/sync-context.js +0 -101
  627. package/esm/sync/sync-context.js.map +0 -1
  628. package/esm/sync/sync-manager.d.ts +0 -213
  629. package/esm/sync/sync-manager.d.ts.map +0 -1
  630. package/esm/sync/sync-manager.js +0 -689
  631. package/esm/sync/sync-manager.js.map +0 -1
  632. package/esm/sync/types.d.ts +0 -289
  633. package/esm/sync/types.d.ts.map +0 -1
  634. package/esm/test-migrations/test-enhanced-features.migration.d.ts +0 -15
  635. package/esm/test-migrations/test-enhanced-features.migration.d.ts.map +0 -1
  636. package/esm/types.d.ts +0 -371
  637. package/esm/types.d.ts.map +0 -1
  638. package/esm/utils/connect-to-database.d.ts +0 -300
  639. package/esm/utils/connect-to-database.d.ts.map +0 -1
  640. package/esm/utils/connect-to-database.js +0 -128
  641. package/esm/utils/connect-to-database.js.map +0 -1
  642. package/esm/utils/database-writer.utils.d.ts +0 -15
  643. package/esm/utils/database-writer.utils.d.ts.map +0 -1
  644. package/esm/utils/database-writer.utils.js +0 -14
  645. package/esm/utils/database-writer.utils.js.map +0 -1
  646. package/esm/utils/define-model.js +0 -100
  647. package/esm/utils/define-model.js.map +0 -1
  648. package/esm/utils/is-valid-date-value.d.ts +0 -5
  649. package/esm/utils/is-valid-date-value.d.ts.map +0 -1
  650. package/esm/utils/is-valid-date-value.js +0 -25
  651. package/esm/utils/is-valid-date-value.js.map +0 -1
  652. package/esm/utils/once-connected.d.ts +0 -146
  653. package/esm/utils/once-connected.d.ts.map +0 -1
  654. package/esm/utils/once-connected.js +0 -251
  655. package/esm/utils/once-connected.js.map +0 -1
  656. package/esm/validation/database-seal-plugins.d.ts +0 -12
  657. package/esm/validation/database-seal-plugins.d.ts.map +0 -1
  658. package/esm/validation/database-seal-plugins.js +0 -1
  659. package/esm/validation/database-seal-plugins.js.map +0 -1
  660. package/esm/validation/database-writer-validation-error.d.ts +0 -97
  661. package/esm/validation/database-writer-validation-error.d.ts.map +0 -1
  662. package/esm/validation/database-writer-validation-error.js +0 -160
  663. package/esm/validation/database-writer-validation-error.js.map +0 -1
  664. package/esm/validation/index.d.ts +0 -3
  665. package/esm/validation/index.d.ts.map +0 -1
  666. package/esm/validation/mutators/embed-mutator.d.ts +0 -9
  667. package/esm/validation/mutators/embed-mutator.d.ts.map +0 -1
  668. package/esm/validation/mutators/embed-mutator.js +0 -33
  669. package/esm/validation/mutators/embed-mutator.js.map +0 -1
  670. package/esm/validation/plugins/embed-validator-plugin.d.ts +0 -24
  671. package/esm/validation/plugins/embed-validator-plugin.d.ts.map +0 -1
  672. package/esm/validation/plugins/embed-validator-plugin.js +0 -18
  673. package/esm/validation/plugins/embed-validator-plugin.js.map +0 -1
  674. package/esm/validation/rules/database-model-rule.d.ts +0 -7
  675. package/esm/validation/rules/database-model-rule.d.ts.map +0 -1
  676. package/esm/validation/rules/database-model-rule.js +0 -27
  677. package/esm/validation/rules/database-model-rule.js.map +0 -1
  678. package/esm/validation/transformers/embed-model-transformer.d.ts +0 -3
  679. package/esm/validation/transformers/embed-model-transformer.d.ts.map +0 -1
  680. package/esm/validation/transformers/embed-model-transformer.js +0 -18
  681. package/esm/validation/transformers/embed-model-transformer.js.map +0 -1
  682. package/esm/validation/validators/embed-validator.d.ts +0 -21
  683. package/esm/validation/validators/embed-validator.d.ts.map +0 -1
  684. package/esm/validation/validators/embed-validator.js +0 -43
  685. package/esm/validation/validators/embed-validator.js.map +0 -1
  686. package/esm/writer/database-writer.d.ts +0 -181
  687. package/esm/writer/database-writer.d.ts.map +0 -1
  688. package/esm/writer/database-writer.js +0 -407
  689. package/esm/writer/database-writer.js.map +0 -1
@@ -1,900 +0,0 @@
1
- import {databaseTransactionContext}from'../../context/database-transaction-context.js';/**
2
- * PostgreSQL Migration Driver
3
- *
4
- * Implements the MigrationDriverContract for PostgreSQL DDL operations.
5
- * Provides methods for creating/dropping tables, columns, indexes,
6
- * and constraints.
7
- *
8
- * @module cascade/drivers/postgres
9
- */
10
- /**
11
- * PostgreSQL Migration Driver.
12
- *
13
- * Handles database schema operations for PostgreSQL including:
14
- * - Table creation and deletion
15
- * - Column management
16
- * - Index creation (B-tree, GIN, GiST, etc.)
17
- * - Constraint management (foreign keys, unique, etc.)
18
- *
19
- * @example
20
- * ```typescript
21
- * const migrationDriver = driver.migrationDriver();
22
- *
23
- * // Create a table
24
- * await migrationDriver.createTable('users');
25
- *
26
- * // Add columns
27
- * await migrationDriver.addColumn('users', {
28
- * name: 'email',
29
- * type: 'string',
30
- * length: 255,
31
- * nullable: false
32
- * });
33
- *
34
- * // Create unique index
35
- * await migrationDriver.createUniqueIndex('users', ['email']);
36
- * ```
37
- */
38
- class PostgresMigrationDriver {
39
- driver;
40
- /**
41
- * Active transaction client (if any).
42
- */
43
- get transactionClient() {
44
- return databaseTransactionContext.getSession();
45
- }
46
- /**
47
- * Create a new migration driver.
48
- *
49
- * @param driver - The PostgreSQL driver instance
50
- */
51
- constructor(driver) {
52
- this.driver = driver;
53
- }
54
- // ============================================================================
55
- // TABLE OPERATIONS
56
- // ============================================================================
57
- /**
58
- * Create a new table with a default id column.
59
- *
60
- * @param table - Table name
61
- */
62
- async createTable(table) {
63
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
64
- // Create empty table - columns are added via addColumn operations
65
- await this.execute(`CREATE TABLE ${quotedTable} ()`);
66
- }
67
- /**
68
- * Create table if it doesn't exist.
69
- *
70
- * @param table - Table name
71
- */
72
- async createTableIfNotExists(table) {
73
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
74
- // Create empty table if not exists - columns are added via addColumn operations
75
- await this.execute(`CREATE TABLE IF NOT EXISTS ${quotedTable} ()`);
76
- }
77
- /**
78
- * Drop an existing table.
79
- *
80
- * @param table - Table name
81
- */
82
- async dropTable(table) {
83
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
84
- await this.execute(`DROP TABLE ${quotedTable} CASCADE`);
85
- }
86
- /**
87
- * Drop table if it exists.
88
- *
89
- * @param table - Table name
90
- */
91
- async dropTableIfExists(table) {
92
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
93
- await this.execute(`DROP TABLE IF EXISTS ${quotedTable} CASCADE`);
94
- }
95
- /**
96
- * Rename a table.
97
- *
98
- * @param from - Current table name
99
- * @param to - New table name
100
- */
101
- async renameTable(from, to) {
102
- const quotedFrom = this.driver.dialect.quoteIdentifier(from);
103
- const quotedTo = this.driver.dialect.quoteIdentifier(to);
104
- await this.execute(`ALTER TABLE ${quotedFrom} RENAME TO ${quotedTo}`);
105
- }
106
- /**
107
- * Truncate a table — remove all rows efficiently.
108
- *
109
- * @param table - Table name
110
- */
111
- async truncateTable(table) {
112
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
113
- await this.execute(`TRUNCATE TABLE ${quotedTable}`);
114
- }
115
- /**
116
- * Check if a table exists.
117
- *
118
- * @param table - Table name
119
- * @returns Whether the table exists
120
- */
121
- async tableExists(table) {
122
- const result = await this.driver.query(`SELECT EXISTS (
123
- SELECT FROM information_schema.tables
124
- WHERE table_schema = 'public'
125
- AND table_name = $1
126
- )`, [table]);
127
- return result.rows[0]?.exists ?? false;
128
- }
129
- /**
130
- * List all columns in a table.
131
- *
132
- * @param table - Table name
133
- * @returns Array of column definitions
134
- */
135
- async listColumns(table) {
136
- const result = await this.driver.query(`SELECT
137
- column_name,
138
- data_type,
139
- character_maximum_length,
140
- numeric_precision,
141
- numeric_scale,
142
- is_nullable,
143
- column_default
144
- FROM information_schema.columns
145
- WHERE table_schema = 'public'
146
- AND table_name = $1
147
- ORDER BY ordinal_position`, [table]);
148
- return result.rows.map((row) => ({
149
- name: row.column_name,
150
- type: this.mapPostgresTypeToColumnType(row.data_type),
151
- length: row.character_maximum_length ?? undefined,
152
- precision: row.numeric_precision ?? undefined,
153
- scale: row.numeric_scale ?? undefined,
154
- nullable: row.is_nullable === "YES",
155
- defaultValue: row.column_default ?? undefined,
156
- }));
157
- }
158
- /**
159
- * List all tables in the current database.
160
- *
161
- * @returns Array of table names
162
- */
163
- async listTables() {
164
- const result = await this.driver.query(`SELECT table_name
165
- FROM information_schema.tables
166
- WHERE table_schema = 'public'
167
- ORDER BY table_name`);
168
- return result.rows.map((row) => row.table_name);
169
- }
170
- /**
171
- * Ensure the migrations tracking table exists.
172
- *
173
- * Creates the table with proper schema if it doesn't exist.
174
- *
175
- * @param tableName - Name of the migrations table
176
- */
177
- async ensureMigrationsTable(tableName) {
178
- const quotedTable = this.driver.dialect.quoteIdentifier(tableName);
179
- await this.execute(`
180
- CREATE TABLE IF NOT EXISTS ${quotedTable} (
181
- "id" SERIAL PRIMARY KEY,
182
- "name" VARCHAR(255) NOT NULL UNIQUE,
183
- "batch" INTEGER NOT NULL,
184
- "executedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
185
- "createdAt" TIMESTAMP WITH TIME ZONE
186
- )
187
- `);
188
- }
189
- // ============================================================================
190
- // COLUMN OPERATIONS
191
- // ============================================================================
192
- /**
193
- * Add a column to an existing table.
194
- *
195
- * @param table - Table name
196
- * @param column - Column definition
197
- */
198
- async addColumn(table, column) {
199
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
200
- const quotedColumn = this.driver.dialect.quoteIdentifier(column.name);
201
- // For auto-increment integers, use SERIAL/BIGSERIAL instead of INTEGER/BIGINT
202
- let sqlType;
203
- if (column.autoIncrement) {
204
- if (column.type === "bigInteger") {
205
- sqlType = "BIGSERIAL";
206
- }
207
- else {
208
- sqlType = "SERIAL";
209
- }
210
- }
211
- else {
212
- sqlType = this.driver.dialect.getSqlType(column.type, {
213
- length: column.length,
214
- precision: column.precision,
215
- scale: column.scale,
216
- dimensions: column.dimensions,
217
- });
218
- }
219
- let sql = `ALTER TABLE ${quotedTable} ADD COLUMN ${quotedColumn} ${sqlType}`;
220
- // Handle generated columns
221
- if (column.generated) {
222
- sql += ` GENERATED ALWAYS AS (${column.generated.expression})`;
223
- if (column.generated.stored) {
224
- sql += " STORED";
225
- }
226
- // PostgreSQL only supports STORED, not VIRTUAL
227
- // If virtual is requested, it's simply ignored (PostgreSQL doesn't support it)
228
- }
229
- else {
230
- // SERIAL/BIGSERIAL are always NOT NULL, so skip for those
231
- if (!column.autoIncrement && column.nullable === false) {
232
- sql += " NOT NULL";
233
- }
234
- if (column.defaultValue !== undefined) {
235
- // Check for special CURRENT_TIMESTAMP marker
236
- if (typeof column.defaultValue === "object" &&
237
- column.defaultValue !== null &&
238
- column.defaultValue.__type === "CURRENT_TIMESTAMP") {
239
- sql += " DEFAULT NOW()";
240
- }
241
- else if (column.isRawDefault === false) {
242
- // Explicit string literal - escape it properly
243
- const escaped = String(column.defaultValue).replace(/'/g, "''");
244
- sql += ` DEFAULT '${escaped}'`;
245
- }
246
- else if (typeof column.defaultValue === "boolean") {
247
- // Boolean values
248
- sql += ` DEFAULT ${column.defaultValue ? "TRUE" : "FALSE"}`;
249
- }
250
- else if (typeof column.defaultValue === "number") {
251
- // Numeric values
252
- sql += ` DEFAULT ${column.defaultValue}`;
253
- }
254
- else {
255
- // Raw SQL expression (default behavior when isRawDefault is true or undefined)
256
- sql += ` DEFAULT ${column.defaultValue}`;
257
- }
258
- }
259
- // Handle primary key
260
- if (column.primary) {
261
- sql += " PRIMARY KEY";
262
- }
263
- // Handle unique constraint
264
- if (column.unique) {
265
- sql += " UNIQUE";
266
- }
267
- }
268
- await this.execute(sql);
269
- }
270
- /**
271
- * Drop a column from a table.
272
- *
273
- * @param table - Table name
274
- * @param column - Column name
275
- */
276
- async dropColumn(table, column) {
277
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
278
- const quotedColumn = this.driver.dialect.quoteIdentifier(column);
279
- await this.execute(`ALTER TABLE ${quotedTable} DROP COLUMN ${quotedColumn}`);
280
- }
281
- /**
282
- * Drop multiple columns from a table.
283
- *
284
- * @param table - Table name
285
- * @param columns - Column names
286
- */
287
- async dropColumns(table, columns) {
288
- for (const column of columns) {
289
- await this.dropColumn(table, column);
290
- }
291
- }
292
- /**
293
- * Rename a column.
294
- *
295
- * @param table - Table name
296
- * @param from - Current column name
297
- * @param to - New column name
298
- */
299
- async renameColumn(table, from, to) {
300
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
301
- const quotedFrom = this.driver.dialect.quoteIdentifier(from);
302
- const quotedTo = this.driver.dialect.quoteIdentifier(to);
303
- await this.execute(`ALTER TABLE ${quotedTable} RENAME COLUMN ${quotedFrom} TO ${quotedTo}`);
304
- }
305
- /**
306
- * Modify an existing column.
307
- *
308
- * @param table - Table name
309
- * @param column - New column definition
310
- */
311
- async modifyColumn(table, column) {
312
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
313
- const quotedColumn = this.driver.dialect.quoteIdentifier(column.name);
314
- const sqlType = this.driver.dialect.getSqlType(column.type, {
315
- length: column.length,
316
- precision: column.precision,
317
- scale: column.scale,
318
- dimensions: column.dimensions,
319
- });
320
- // PostgreSQL requires separate ALTER statements for type and nullability
321
- await this.execute(`ALTER TABLE ${quotedTable} ALTER COLUMN ${quotedColumn} TYPE ${sqlType}`);
322
- if (column.nullable === false) {
323
- await this.execute(`ALTER TABLE ${quotedTable} ALTER COLUMN ${quotedColumn} SET NOT NULL`);
324
- }
325
- else if (column.nullable === true) {
326
- await this.execute(`ALTER TABLE ${quotedTable} ALTER COLUMN ${quotedColumn} DROP NOT NULL`);
327
- }
328
- if (column.defaultValue !== undefined) {
329
- let defaultVal;
330
- // Check for special CURRENT_TIMESTAMP marker
331
- if (typeof column.defaultValue === "object" &&
332
- column.defaultValue !== null &&
333
- column.defaultValue.__type === "CURRENT_TIMESTAMP") {
334
- defaultVal = "NOW()";
335
- }
336
- else if (typeof column.defaultValue === "string") {
337
- defaultVal = `'${column.defaultValue}'`;
338
- }
339
- else {
340
- defaultVal = String(column.defaultValue);
341
- }
342
- await this.execute(`ALTER TABLE ${quotedTable} ALTER COLUMN ${quotedColumn} SET DEFAULT ${defaultVal}`);
343
- }
344
- }
345
- /**
346
- * Create standard timestamp columns (created_at, updated_at).
347
- *
348
- * PostgreSQL implementation creates TIMESTAMPTZ columns with NOW() defaults.
349
- *
350
- * @param table - Table name
351
- */
352
- async createTimestampColumns(table) {
353
- await this.addColumn(table, {
354
- name: "created_at",
355
- type: "timestamp",
356
- nullable: false,
357
- defaultValue: "NOW()",
358
- isRawDefault: true,
359
- });
360
- await this.addColumn(table, {
361
- name: "updated_at",
362
- type: "timestamp",
363
- nullable: false,
364
- defaultValue: "NOW()",
365
- isRawDefault: true,
366
- });
367
- }
368
- // ============================================================================
369
- // INDEX OPERATIONS
370
- // ============================================================================
371
- /**
372
- * Create an index on one or more columns.
373
- *
374
- * Supports:
375
- * - Regular column indexes
376
- * - Expression-based indexes (e.g., `lower(email)`)
377
- * - Covering indexes (INCLUDE clause)
378
- * - Concurrent index creation (CONCURRENTLY keyword)
379
- *
380
- * @param table - Table name
381
- * @param index - Index definition
382
- */
383
- async createIndex(table, index) {
384
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
385
- const indexName = index.name ?? `idx_${table}_${index.columns.join("_")}`;
386
- const quotedIndexName = this.driver.dialect.quoteIdentifier(indexName);
387
- const uniqueKeyword = index.unique ? "UNIQUE " : "";
388
- const concurrentlyKeyword = index.concurrently ? "CONCURRENTLY " : "";
389
- let columnsPart;
390
- // Handle expression-based indexes
391
- if (index.expressions && index.expressions.length > 0) {
392
- // Wrap each expression in parentheses
393
- columnsPart = index.expressions.map((expr) => `(${expr})`).join(", ");
394
- }
395
- else {
396
- // Regular column indexes
397
- const columns = index.columns.map((col, i) => {
398
- const quotedCol = this.driver.dialect.quoteIdentifier(col);
399
- const direction = index.directions?.[i]?.toUpperCase() ?? "";
400
- return direction ? `${quotedCol} ${direction}` : quotedCol;
401
- });
402
- columnsPart = columns.join(", ");
403
- }
404
- let sql = `CREATE ${uniqueKeyword}INDEX ${concurrentlyKeyword}${quotedIndexName} ON ${quotedTable} (${columnsPart})`;
405
- // Add INCLUDE clause for covering indexes
406
- if (index.include && index.include.length > 0) {
407
- const includeCols = index.include
408
- .map((col) => this.driver.dialect.quoteIdentifier(col))
409
- .join(", ");
410
- sql += ` INCLUDE (${includeCols})`;
411
- }
412
- // Add partial index condition
413
- if (index.where && Object.keys(index.where).length > 0) {
414
- const conditions = Object.entries(index.where)
415
- .map(([key, value]) => {
416
- const quotedKey = this.driver.dialect.quoteIdentifier(key);
417
- return typeof value === "string"
418
- ? `${quotedKey} = '${value}'`
419
- : `${quotedKey} = ${value}`;
420
- })
421
- .join(" AND ");
422
- sql += ` WHERE ${conditions}`;
423
- }
424
- await this.execute(sql);
425
- }
426
- /**
427
- * Drop an index.
428
- *
429
- * @param table - Table name
430
- * @param indexNameOrColumns - Index name or columns
431
- */
432
- async dropIndex(table, indexNameOrColumns) {
433
- let indexName;
434
- if (typeof indexNameOrColumns === "string") {
435
- indexName = indexNameOrColumns;
436
- }
437
- else {
438
- indexName = `idx_${table}_${indexNameOrColumns.join("_")}`;
439
- }
440
- const quotedIndexName = this.driver.dialect.quoteIdentifier(indexName);
441
- await this.execute(`DROP INDEX IF EXISTS ${quotedIndexName}`);
442
- }
443
- /**
444
- * Create a unique index.
445
- *
446
- * @param table - Table name
447
- * @param columns - Columns to include
448
- * @param name - Optional index name
449
- */
450
- async createUniqueIndex(table, columns, name) {
451
- await this.createIndex(table, { columns, unique: true, name });
452
- }
453
- /**
454
- * Drop a unique index.
455
- *
456
- * @param table - Table name
457
- * @param columns - Columns in the index
458
- */
459
- async dropUniqueIndex(table, columns) {
460
- await this.dropIndex(table, columns);
461
- }
462
- // ============================================================================
463
- // SPECIALIZED INDEXES
464
- // ============================================================================
465
- /**
466
- * Create a full-text search index using GIN.
467
- *
468
- * @param table - Table name
469
- * @param columns - Columns to index
470
- * @param options - Full-text options
471
- */
472
- async createFullTextIndex(table, columns, options) {
473
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
474
- const indexName = options?.name ?? `idx_${table}_fulltext_${columns.join("_")}`;
475
- const quotedIndexName = this.driver.dialect.quoteIdentifier(indexName);
476
- const language = options?.language ?? "english";
477
- const tsvectors = columns.map((col) => {
478
- const weight = options?.weights?.[col] ?? "A";
479
- return `setweight(to_tsvector('${language}', COALESCE(${this.driver.dialect.quoteIdentifier(col)}, '')), '${weight}')`;
480
- });
481
- await this.execute(`CREATE INDEX ${quotedIndexName} ON ${quotedTable} USING GIN ((${tsvectors.join(" || ")}))`);
482
- }
483
- /**
484
- * Drop a full-text search index.
485
- *
486
- * @param table - Table name
487
- * @param name - Index name
488
- */
489
- async dropFullTextIndex(table, name) {
490
- await this.dropIndex(table, name);
491
- }
492
- /**
493
- * Create a geo-spatial index using GiST.
494
- *
495
- * @param table - Table name
496
- * @param column - Geo column
497
- * @param options - Geo index options
498
- */
499
- async createGeoIndex(table, column, options) {
500
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
501
- const quotedColumn = this.driver.dialect.quoteIdentifier(column);
502
- const indexName = options?.name ?? `idx_${table}_geo_${column}`;
503
- const quotedIndexName = this.driver.dialect.quoteIdentifier(indexName);
504
- await this.execute(`CREATE INDEX ${quotedIndexName} ON ${quotedTable} USING GIST (${quotedColumn})`);
505
- }
506
- /**
507
- * Drop a geo-spatial index.
508
- *
509
- * @param table - Table name
510
- * @param column - Geo column
511
- */
512
- async dropGeoIndex(table, column) {
513
- await this.dropIndex(table, `idx_${table}_geo_${column}`);
514
- }
515
- /**
516
- * Create a vector search index (requires pgvector extension).
517
- *
518
- * @param table - Table name
519
- * @param column - Vector column
520
- * @param options - Vector index options
521
- */
522
- async createVectorIndex(table, column, options) {
523
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
524
- const quotedColumn = this.driver.dialect.quoteIdentifier(column);
525
- const indexName = options.name ?? `idx_${table}_vector_${column}`;
526
- const quotedIndexName = this.driver.dialect.quoteIdentifier(indexName);
527
- // Map similarity to pgvector operator class
528
- const opClass = options.similarity === "euclidean"
529
- ? "vector_l2_ops"
530
- : options.similarity === "dotProduct"
531
- ? "vector_ip_ops"
532
- : "vector_cosine_ops";
533
- const lists = options.lists ?? 100;
534
- await this.execute(`CREATE INDEX ${quotedIndexName} ON ${quotedTable} USING ivfflat (${quotedColumn} ${opClass}) WITH (lists = ${lists})`);
535
- }
536
- /**
537
- * Drop a vector search index.
538
- *
539
- * @param table - Table name
540
- * @param column - Vector column
541
- */
542
- async dropVectorIndex(table, column) {
543
- await this.dropIndex(table, `idx_${table}_vector_${column}`);
544
- }
545
- /**
546
- * Create a TTL index (not natively supported in PostgreSQL).
547
- *
548
- * Note: PostgreSQL doesn't have native TTL indexes like MongoDB.
549
- * This creates a partial index and requires a scheduled job for cleanup.
550
- *
551
- * @param table - Table name
552
- * @param column - Date column
553
- * @param expireAfterSeconds - Expiration time in seconds
554
- */
555
- async createTTLIndex(table, column, expireAfterSeconds) {
556
- // Create a partial index for expired rows (for efficient cleanup queries)
557
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
558
- const quotedColumn = this.driver.dialect.quoteIdentifier(column);
559
- const indexName = `idx_${table}_ttl_${column}`;
560
- const quotedIndexName = this.driver.dialect.quoteIdentifier(indexName);
561
- await this.execute(`CREATE INDEX ${quotedIndexName} ON ${quotedTable} (${quotedColumn}) WHERE ${quotedColumn} < NOW() - INTERVAL '${expireAfterSeconds} seconds'`);
562
- // Note: User must set up a scheduled job (pg_cron, etc.) to:
563
- // DELETE FROM table WHERE column < NOW() - INTERVAL 'X seconds'
564
- }
565
- /**
566
- * Drop a TTL index.
567
- *
568
- * @param table - Table name
569
- * @param column - Column with TTL index
570
- */
571
- async dropTTLIndex(table, column) {
572
- await this.dropIndex(table, `idx_${table}_ttl_${column}`);
573
- }
574
- /**
575
- * List all indexes on a table.
576
- *
577
- * @param table - Table name
578
- * @returns Array of index metadata
579
- */
580
- async listIndexes(table) {
581
- const result = await this.driver.query(`SELECT indexname, indexdef FROM pg_indexes WHERE schemaname = 'public' AND tablename = $1`, [table]);
582
- return result.rows.map((row) => {
583
- const isUnique = row.indexdef.includes("UNIQUE");
584
- const isPrimary = row.indexname.endsWith("_pkey");
585
- const columnsMatch = row.indexdef.match(/\(([^)]+)\)/);
586
- const columns = columnsMatch
587
- ? columnsMatch[1].split(",").map((c) => c.trim().replace(/"/g, ""))
588
- : [];
589
- let type = "btree";
590
- if (row.indexdef.includes("USING GIN"))
591
- type = "gin";
592
- else if (row.indexdef.includes("USING GIST"))
593
- type = "gist";
594
- else if (row.indexdef.includes("USING HASH"))
595
- type = "hash";
596
- else if (row.indexdef.includes("USING ivfflat"))
597
- type = "ivfflat";
598
- return {
599
- name: row.indexname,
600
- columns,
601
- type,
602
- unique: isUnique || isPrimary,
603
- partial: row.indexdef.includes("WHERE"),
604
- options: { primary: isPrimary, definition: row.indexdef },
605
- };
606
- });
607
- }
608
- // ============================================================================
609
- // EXTENSIONS
610
- // ============================================================================
611
- /**
612
- * Check if a PostgreSQL extension is available on the database server.
613
- *
614
- * @param extension - Extension name (e.g., "vector")
615
- */
616
- async isExtensionAvailable(extension) {
617
- try {
618
- const result = await this.driver.query(`SELECT name FROM pg_available_extensions WHERE name = $1`, [extension]);
619
- return result?.rows?.length > 0;
620
- }
621
- catch {
622
- // If we can't check (e.g., permissions issue or pg_available_extensions not accessible),
623
- // we return true to avoid false positives. Execution will just proceed and fail naturally if it's missing.
624
- return true;
625
- }
626
- }
627
- /**
628
- * Get the official documentation or installation URL for a PostgreSQL extension.
629
- *
630
- * @param extension - Extension name
631
- */
632
- getExtensionDocsUrl(extension) {
633
- const guideUrls = {
634
- vector: "https://github.com/pgvector/pgvector#installation",
635
- postgis: "https://postgis.net/documentation/getting_started/",
636
- pg_trgm: "https://www.postgresql.org/docs/current/pgtrgm.html",
637
- uuid_ossp: "https://www.postgresql.org/docs/current/uuid-ossp.html",
638
- };
639
- return guideUrls[extension] ?? `https://www.postgresql.org/docs/current/${extension}.html`;
640
- }
641
- // ============================================================================
642
- // CONSTRAINTS
643
- // ============================================================================
644
- /**
645
- * Add a foreign key constraint.
646
- *
647
- * @param table - Table name
648
- * @param foreignKey - Foreign key definition
649
- */
650
- async addForeignKey(table, foreignKey) {
651
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
652
- const quotedColumn = this.driver.dialect.quoteIdentifier(foreignKey.column);
653
- const quotedRefTable = this.driver.dialect.quoteIdentifier(foreignKey.referencesTable);
654
- const quotedRefColumn = this.driver.dialect.quoteIdentifier(foreignKey.referencesColumn);
655
- const constraintName = foreignKey.name ?? `fk_${table}_${foreignKey.column}_${foreignKey.referencesTable}`;
656
- const quotedConstraint = this.driver.dialect.quoteIdentifier(constraintName);
657
- let sql = `ALTER TABLE ${quotedTable} ADD CONSTRAINT ${quotedConstraint} FOREIGN KEY (${quotedColumn}) REFERENCES ${quotedRefTable} (${quotedRefColumn})`;
658
- if (foreignKey.onDelete) {
659
- sql += ` ON DELETE ${this.mapForeignKeyAction(foreignKey.onDelete)}`;
660
- }
661
- if (foreignKey.onUpdate) {
662
- sql += ` ON UPDATE ${this.mapForeignKeyAction(foreignKey.onUpdate)}`;
663
- }
664
- await this.execute(sql);
665
- }
666
- /**
667
- * Drop a foreign key constraint.
668
- *
669
- * @param table - Table name
670
- * @param name - Constraint name
671
- */
672
- async dropForeignKey(table, name) {
673
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
674
- const quotedConstraint = this.driver.dialect.quoteIdentifier(name);
675
- await this.execute(`ALTER TABLE ${quotedTable} DROP CONSTRAINT ${quotedConstraint}`);
676
- }
677
- /**
678
- * Add a primary key constraint.
679
- *
680
- * @param table - Table name
681
- * @param columns - Primary key columns
682
- */
683
- async addPrimaryKey(table, columns) {
684
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
685
- const quotedColumns = columns.map((c) => this.driver.dialect.quoteIdentifier(c)).join(", ");
686
- const constraintName = `pk_${table}`;
687
- const quotedConstraint = this.driver.dialect.quoteIdentifier(constraintName);
688
- await this.execute(`ALTER TABLE ${quotedTable} ADD CONSTRAINT ${quotedConstraint} PRIMARY KEY (${quotedColumns})`);
689
- }
690
- /**
691
- * Drop the primary key constraint.
692
- *
693
- * @param table - Table name
694
- */
695
- async dropPrimaryKey(table) {
696
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
697
- const constraintName = `pk_${table}`;
698
- const quotedConstraint = this.driver.dialect.quoteIdentifier(constraintName);
699
- await this.execute(`ALTER TABLE ${quotedTable} DROP CONSTRAINT ${quotedConstraint}`);
700
- }
701
- /**
702
- * Add a CHECK constraint.
703
- *
704
- * @param table - Table name
705
- * @param name - Constraint name
706
- * @param expression - SQL CHECK expression
707
- */
708
- async addCheck(table, name, expression) {
709
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
710
- const quotedName = this.driver.dialect.quoteIdentifier(name);
711
- const sql = `ALTER TABLE ${quotedTable} ADD CONSTRAINT ${quotedName} CHECK (${expression})`;
712
- await this.execute(sql);
713
- }
714
- /**
715
- * Drop a CHECK constraint.
716
- *
717
- * @param table - Table name
718
- * @param name - Constraint name
719
- */
720
- async dropCheck(table, name) {
721
- const quotedTable = this.driver.dialect.quoteIdentifier(table);
722
- const quotedName = this.driver.dialect.quoteIdentifier(name);
723
- await this.execute(`ALTER TABLE ${quotedTable} DROP CONSTRAINT ${quotedName}`);
724
- }
725
- // ============================================================================
726
- // SCHEMA VALIDATION (NOT APPLICABLE FOR PostgreSQL)
727
- // ============================================================================
728
- /**
729
- * Set schema validation (no-op for PostgreSQL).
730
- *
731
- * PostgreSQL uses column constraints instead.
732
- */
733
- async setSchemaValidation(_table, _schema) {
734
- // No-op: PostgreSQL doesn't have MongoDB-style schema validation
735
- // Use CHECK constraints instead
736
- }
737
- /**
738
- * Remove schema validation (no-op for PostgreSQL).
739
- */
740
- async removeSchemaValidation(_table) {
741
- // No-op
742
- }
743
- // ============================================================================
744
- // TRANSACTIONS
745
- // ============================================================================
746
- /**
747
- * Begin a transaction.
748
- */
749
- async beginTransaction() {
750
- await this.execute("BEGIN");
751
- }
752
- /**
753
- * Commit the current transaction.
754
- */
755
- async commit() {
756
- await this.execute("COMMIT");
757
- }
758
- /**
759
- * Rollback the current transaction.
760
- */
761
- async rollback() {
762
- await this.execute("ROLLBACK");
763
- }
764
- /**
765
- * Whether transactions are supported.
766
- */
767
- supportsTransactions() {
768
- return true;
769
- }
770
- /**
771
- * Get the default transactional behavior for PostgreSQL.
772
- *
773
- * PostgreSQL supports transactional DDL operations, so migrations
774
- * are wrapped in transactions by default for atomicity and safety.
775
- *
776
- * @returns true (PostgreSQL DDL is transactional)
777
- */
778
- getDefaultTransactional() {
779
- return true;
780
- }
781
- // ============================================================================
782
- // DEFAULTS
783
- // ============================================================================
784
- /**
785
- * Get the default UUID generation expression for PostgreSQL.
786
- *
787
- * Resolution order:
788
- * 1. `migrationDefaults.uuidExpression` → raw expression (escape hatch)
789
- * 2. `migrationDefaults.uuidStrategy` → mapped to PG function
790
- * 3. Fallback → `gen_random_uuid()` (v4, PG 13+)
791
- *
792
- * @param migrationDefaults - Optional overrides from DataSource config
793
- * @returns PostgreSQL SQL expression for UUID generation
794
- *
795
- * @example
796
- * ```typescript
797
- * driver.getUuidDefault(); // "gen_random_uuid()"
798
- * driver.getUuidDefault({ uuidStrategy: "v7" }); // "uuid_generate_v7()"
799
- * driver.getUuidDefault({ uuidExpression: "uuid_generate_v1mc()" }); // "uuid_generate_v1mc()"
800
- * ```
801
- */
802
- getUuidDefault(migrationDefaults) {
803
- // Escape hatch: raw expression takes highest precedence
804
- if (migrationDefaults?.uuidExpression) {
805
- return migrationDefaults.uuidExpression;
806
- }
807
- const strategy = migrationDefaults?.uuidStrategy ?? "v4";
808
- const strategyMap = {
809
- v4: "gen_random_uuid()",
810
- v7: "uuidv7()",
811
- };
812
- return strategyMap[strategy];
813
- }
814
- // ============================================================================
815
- // RAW ACCESS
816
- // ============================================================================
817
- /**
818
- * Execute raw operations with direct driver access.
819
- *
820
- * @param callback - Callback receiving the driver
821
- */
822
- async raw(callback) {
823
- return callback(this.driver);
824
- }
825
- // ============================================================================
826
- // HELPERS
827
- // ============================================================================
828
- /**
829
- * Execute a SQL statement.
830
- *
831
- * @param sql - SQL to execute
832
- * @param params - Query parameters
833
- */
834
- async execute(sql, params = []) {
835
- await this.driver.query(sql, params);
836
- }
837
- /**
838
- * Map foreign key action to PostgreSQL syntax.
839
- */
840
- mapForeignKeyAction(action) {
841
- const mapping = {
842
- cascade: "CASCADE",
843
- restrict: "RESTRICT",
844
- setNull: "SET NULL",
845
- noAction: "NO ACTION",
846
- };
847
- return mapping[action] ?? "NO ACTION";
848
- }
849
- /**
850
- * Map PostgreSQL data type to ColumnType.
851
- */
852
- mapPostgresTypeToColumnType(pgType) {
853
- const typeMap = {
854
- "character varying": "string",
855
- varchar: "string",
856
- character: "char",
857
- char: "char",
858
- text: "text",
859
- integer: "integer",
860
- int: "integer",
861
- smallint: "smallInteger",
862
- bigint: "bigInteger",
863
- real: "float",
864
- "double precision": "double",
865
- numeric: "decimal",
866
- decimal: "decimal",
867
- boolean: "boolean",
868
- date: "date",
869
- timestamp: "dateTime",
870
- "timestamp without time zone": "dateTime",
871
- "timestamp with time zone": "timestamp",
872
- time: "time",
873
- "time without time zone": "time",
874
- json: "json",
875
- jsonb: "json",
876
- bytea: "binary",
877
- uuid: "uuid",
878
- inet: "ipAddress",
879
- macaddr: "macAddress",
880
- point: "point",
881
- polygon: "polygon",
882
- line: "lineString",
883
- geometry: "geometry",
884
- // PostgreSQL array types
885
- "integer[]": "arrayInt",
886
- "int[]": "arrayInt",
887
- "bigint[]": "arrayBigInt",
888
- "real[]": "arrayFloat",
889
- "decimal[]": "arrayDecimal",
890
- "numeric[]": "arrayDecimal",
891
- "boolean[]": "arrayBoolean",
892
- "text[]": "arrayText",
893
- "date[]": "arrayDate",
894
- "timestamp with time zone[]": "arrayTimestamp",
895
- "timestamptz[]": "arrayTimestamp",
896
- "uuid[]": "arrayUuid",
897
- };
898
- return typeMap[pgType.toLowerCase()] ?? "string";
899
- }
900
- }export{PostgresMigrationDriver};//# sourceMappingURL=postgres-migration-driver.js.map