sqlew 5.0.7 → 5.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 (471) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +100 -242
  3. package/dist/adapters/auth/auth-factory.d.ts +2 -81
  4. package/dist/adapters/auth/auth-factory.d.ts.map +1 -1
  5. package/dist/adapters/auth/auth-factory.js +2 -82
  6. package/dist/adapters/auth/auth-factory.js.map +1 -1
  7. package/dist/adapters/auth/base-auth-provider.d.ts +18 -303
  8. package/dist/adapters/auth/base-auth-provider.d.ts.map +1 -1
  9. package/dist/adapters/auth/base-auth-provider.js +2 -104
  10. package/dist/adapters/auth/base-auth-provider.js.map +1 -1
  11. package/dist/adapters/auth/direct-auth-provider.d.ts +4 -348
  12. package/dist/adapters/auth/direct-auth-provider.d.ts.map +1 -1
  13. package/dist/adapters/auth/direct-auth-provider.js +6 -356
  14. package/dist/adapters/auth/direct-auth-provider.js.map +1 -1
  15. package/dist/adapters/base-adapter.d.ts +31 -598
  16. package/dist/adapters/base-adapter.d.ts.map +1 -1
  17. package/dist/adapters/base-adapter.js +10 -458
  18. package/dist/adapters/base-adapter.js.map +1 -1
  19. package/dist/adapters/index.d.ts +1 -11
  20. package/dist/adapters/index.d.ts.map +1 -1
  21. package/dist/adapters/index.js +1 -11
  22. package/dist/adapters/index.js.map +1 -1
  23. package/dist/adapters/mysql-adapter.d.ts +15 -541
  24. package/dist/adapters/mysql-adapter.d.ts.map +1 -1
  25. package/dist/adapters/mysql-adapter.js +24 -561
  26. package/dist/adapters/mysql-adapter.js.map +1 -1
  27. package/dist/adapters/postgresql-adapter.d.ts +15 -203
  28. package/dist/adapters/postgresql-adapter.d.ts.map +1 -1
  29. package/dist/adapters/postgresql-adapter.js +24 -223
  30. package/dist/adapters/postgresql-adapter.js.map +1 -1
  31. package/dist/adapters/sqlite-adapter.d.ts +4 -28
  32. package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
  33. package/dist/adapters/sqlite-adapter.js +4 -32
  34. package/dist/adapters/sqlite-adapter.js.map +1 -1
  35. package/dist/adapters/types.d.ts +1 -4
  36. package/dist/adapters/types.d.ts.map +1 -1
  37. package/dist/backend/backend-factory.d.ts +3 -3
  38. package/dist/backend/backend-factory.js +3 -3
  39. package/dist/backend/local-backend.d.ts.map +1 -1
  40. package/dist/backend/local-backend.js +0 -5
  41. package/dist/backend/local-backend.js.map +1 -1
  42. package/dist/cli/db-export.d.ts.map +1 -1
  43. package/dist/cli/db-export.js +54 -32
  44. package/dist/cli/db-export.js.map +1 -1
  45. package/dist/cli/db-import.d.ts.map +1 -1
  46. package/dist/cli/db-import.js +32 -31
  47. package/dist/cli/db-import.js.map +1 -1
  48. package/dist/cli/hooks/pr-adr.d.ts +22 -0
  49. package/dist/cli/hooks/pr-adr.d.ts.map +1 -0
  50. package/dist/cli/hooks/pr-adr.js +72 -0
  51. package/dist/cli/hooks/pr-adr.js.map +1 -0
  52. package/dist/cli.d.ts.map +1 -1
  53. package/dist/cli.js +9 -13
  54. package/dist/cli.js.map +1 -1
  55. package/dist/config/cloud-config-loader.d.ts +8 -8
  56. package/dist/config/cloud-config-loader.d.ts.map +1 -1
  57. package/dist/config/cloud-config-loader.js +12 -12
  58. package/dist/config/cloud-config-loader.js.map +1 -1
  59. package/dist/config/global-config.d.ts +17 -45
  60. package/dist/config/global-config.d.ts.map +1 -1
  61. package/dist/config/global-config.js +169 -30
  62. package/dist/config/global-config.js.map +1 -1
  63. package/dist/config/loader.d.ts +1 -18
  64. package/dist/config/loader.d.ts.map +1 -1
  65. package/dist/config/loader.js +1 -89
  66. package/dist/config/loader.js.map +1 -1
  67. package/dist/config/types.d.ts +2 -64
  68. package/dist/config/types.d.ts.map +1 -1
  69. package/dist/config/types.js +0 -18
  70. package/dist/config/types.js.map +1 -1
  71. package/dist/database/index.d.ts +1 -2
  72. package/dist/database/index.d.ts.map +1 -1
  73. package/dist/database/index.js +1 -3
  74. package/dist/database/index.js.map +1 -1
  75. package/dist/database/operations/queries.d.ts +0 -4
  76. package/dist/database/operations/queries.d.ts.map +1 -1
  77. package/dist/database/operations/queries.js +0 -8
  78. package/dist/database/operations/queries.js.map +1 -1
  79. package/dist/index.d.ts +1 -1
  80. package/dist/index.js +4 -4
  81. package/dist/index.js.map +1 -1
  82. package/dist/init-rules.d.ts.map +1 -1
  83. package/dist/init-rules.js +0 -1
  84. package/dist/init-rules.js.map +1 -1
  85. package/dist/knexfile.d.ts.map +1 -1
  86. package/dist/knexfile.js +2 -1
  87. package/dist/knexfile.js.map +1 -1
  88. package/dist/migration/local-to-global.d.ts +19 -0
  89. package/dist/migration/local-to-global.d.ts.map +1 -0
  90. package/dist/migration/local-to-global.js +133 -0
  91. package/dist/migration/local-to-global.js.map +1 -0
  92. package/dist/saas-connector/client/types.d.ts +1 -1
  93. package/dist/saas-connector/client/types.d.ts.map +1 -1
  94. package/dist/schema.js +1 -1
  95. package/dist/server/setup.d.ts.map +1 -1
  96. package/dist/server/setup.js +15 -7
  97. package/dist/server/setup.js.map +1 -1
  98. package/dist/tests/backend/backend-factory.test.js +2 -2
  99. package/dist/tests/backend/backend-factory.test.js.map +1 -1
  100. package/dist/tests/docker/native/constraint-operations.test.d.ts +2 -17
  101. package/dist/tests/docker/native/constraint-operations.test.d.ts.map +1 -1
  102. package/dist/tests/docker/native/constraint-operations.test.js +3 -82
  103. package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
  104. package/dist/tests/docker/native/db-init.d.ts +3 -34
  105. package/dist/tests/docker/native/db-init.d.ts.map +1 -1
  106. package/dist/tests/docker/native/db-init.js +15 -77
  107. package/dist/tests/docker/native/db-init.js.map +1 -1
  108. package/dist/tests/docker/native/decision-operations.test.d.ts +2 -10
  109. package/dist/tests/docker/native/decision-operations.test.d.ts.map +1 -1
  110. package/dist/tests/docker/native/decision-operations.test.js +2 -84
  111. package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
  112. package/dist/tests/docker/native/help-system.test.d.ts +2 -5
  113. package/dist/tests/docker/native/help-system.test.d.ts.map +1 -1
  114. package/dist/tests/docker/native/help-system.test.js +2 -47
  115. package/dist/tests/docker/native/help-system.test.js.map +1 -1
  116. package/dist/tests/docker/native/suggest-tool.test.d.ts +3 -11
  117. package/dist/tests/docker/native/suggest-tool.test.d.ts.map +1 -1
  118. package/dist/tests/docker/native/suggest-tool.test.js +3 -60
  119. package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
  120. package/dist/tests/docker/native/test-harness.d.ts +2 -23
  121. package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
  122. package/dist/tests/docker/native/test-harness.js +5 -59
  123. package/dist/tests/docker/native/test-harness.js.map +1 -1
  124. package/dist/tests/feature/decision/analytics.test.js +2 -1
  125. package/dist/tests/feature/decision/analytics.test.js.map +1 -1
  126. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +2 -7
  127. package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
  128. package/dist/tests/feature/decision/batch-validation.test.js +2 -1
  129. package/dist/tests/feature/decision/batch-validation.test.js.map +1 -1
  130. package/dist/tests/integration/auto-trigger-suggestions.test.js +4 -37
  131. package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
  132. package/dist/tests/integration/hybrid-similarity-detection.test.js +2 -1
  133. package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
  134. package/dist/tests/integration/json-export-import.test.d.ts.map +1 -0
  135. package/dist/tests/integration/json-export-import.test.js.map +1 -0
  136. package/dist/tests/unit/case-insensitive-validator.test.d.ts +0 -7
  137. package/dist/tests/unit/case-insensitive-validator.test.d.ts.map +1 -1
  138. package/dist/tests/unit/case-insensitive-validator.test.js +0 -22
  139. package/dist/tests/unit/case-insensitive-validator.test.js.map +1 -1
  140. package/dist/tests/unit/config/cloud-config-loader.test.js +4 -2
  141. package/dist/tests/unit/config/cloud-config-loader.test.js.map +1 -1
  142. package/dist/tests/unit/config/global-db-migration.test.d.ts +12 -0
  143. package/dist/tests/unit/config/global-db-migration.test.d.ts.map +1 -0
  144. package/dist/tests/unit/config/global-db-migration.test.js +117 -0
  145. package/dist/tests/unit/config/global-db-migration.test.js.map +1 -0
  146. package/dist/tests/unit/constraint-scorer.test.d.ts +2 -7
  147. package/dist/tests/unit/constraint-scorer.test.d.ts.map +1 -1
  148. package/dist/tests/unit/constraint-scorer.test.js +2 -28
  149. package/dist/tests/unit/constraint-scorer.test.js.map +1 -1
  150. package/dist/tests/unit/universal-knex.test.js +9 -0
  151. package/dist/tests/unit/universal-knex.test.js.map +1 -1
  152. package/dist/tests/unit/validation/parameter-validation.test.js +0 -24
  153. package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
  154. package/dist/tests/utils/db-config.d.ts.map +1 -1
  155. package/dist/tests/utils/db-config.js +0 -9
  156. package/dist/tests/utils/db-config.js.map +1 -1
  157. package/dist/tests/utils/db-import.d.ts.map +1 -1
  158. package/dist/tests/utils/db-import.js +0 -3
  159. package/dist/tests/utils/db-import.js.map +1 -1
  160. package/dist/tests/utils/db-schema.d.ts.map +1 -1
  161. package/dist/tests/utils/db-schema.js +48 -51
  162. package/dist/tests/utils/db-schema.js.map +1 -1
  163. package/dist/tests/utils/db-seeding.d.ts.map +1 -1
  164. package/dist/tests/utils/db-seeding.js +0 -3
  165. package/dist/tests/utils/db-seeding.js.map +1 -1
  166. package/dist/tests/utils/index.d.ts +0 -1
  167. package/dist/tests/utils/index.d.ts.map +1 -1
  168. package/dist/tests/utils/index.js +0 -2
  169. package/dist/tests/utils/index.js.map +1 -1
  170. package/dist/tests/utils/test-helpers.d.ts +6 -76
  171. package/dist/tests/utils/test-helpers.d.ts.map +1 -1
  172. package/dist/tests/utils/test-helpers.js +56 -162
  173. package/dist/tests/utils/test-helpers.js.map +1 -1
  174. package/dist/tests/utils/test-lifecycle.d.ts +2 -28
  175. package/dist/tests/utils/test-lifecycle.d.ts.map +1 -1
  176. package/dist/tests/utils/test-lifecycle.js +2 -31
  177. package/dist/tests/utils/test-lifecycle.js.map +1 -1
  178. package/dist/tools/context/index.d.ts +0 -1
  179. package/dist/tools/context/index.d.ts.map +1 -1
  180. package/dist/tools/context/index.js +0 -2
  181. package/dist/tools/context/index.js.map +1 -1
  182. package/dist/tools/context/types.d.ts +1 -1
  183. package/dist/tools/context/types.d.ts.map +1 -1
  184. package/dist/types/actions.d.ts +6 -29
  185. package/dist/types/actions.d.ts.map +1 -1
  186. package/dist/types/actions.js +1 -2
  187. package/dist/types/actions.js.map +1 -1
  188. package/dist/types/constraint/params.d.ts +24 -1
  189. package/dist/types/constraint/params.d.ts.map +1 -1
  190. package/dist/types/constraint/params.js +3 -0
  191. package/dist/types/constraint/params.js.map +1 -1
  192. package/dist/types/constraint/responses.d.ts +18 -1
  193. package/dist/types/constraint/responses.d.ts.map +1 -1
  194. package/dist/types/constraint/responses.js +3 -0
  195. package/dist/types/constraint/responses.js.map +1 -1
  196. package/dist/types/decision/batch.d.ts +2 -5
  197. package/dist/types/decision/batch.d.ts.map +1 -1
  198. package/dist/types/decision/batch.js +3 -3
  199. package/dist/types/decision/batch.js.map +1 -1
  200. package/dist/types/decision/params.d.ts +7 -4
  201. package/dist/types/decision/params.d.ts.map +1 -1
  202. package/dist/types/decision/responses.d.ts +49 -35
  203. package/dist/types/decision/responses.d.ts.map +1 -1
  204. package/dist/types/decision/templates.d.ts +2 -18
  205. package/dist/types/decision/templates.d.ts.map +1 -1
  206. package/dist/types/decision/templates.js +3 -3
  207. package/dist/types/decision/templates.js.map +1 -1
  208. package/dist/types/enums.d.ts +11 -13
  209. package/dist/types/enums.d.ts.map +1 -1
  210. package/dist/types/enums.js +5 -13
  211. package/dist/types/enums.js.map +1 -1
  212. package/dist/types/import-export.d.ts +7 -30
  213. package/dist/types/import-export.d.ts.map +1 -1
  214. package/dist/types/import-export.js +1 -2
  215. package/dist/types/import-export.js.map +1 -1
  216. package/dist/types/index.d.ts +18 -22
  217. package/dist/types/index.d.ts.map +1 -1
  218. package/dist/types/index.js +4 -32
  219. package/dist/types/index.js.map +1 -1
  220. package/dist/types/master-entities.d.ts +1 -10
  221. package/dist/types/master-entities.d.ts.map +1 -1
  222. package/dist/types/master-entities.js +1 -2
  223. package/dist/types/master-entities.js.map +1 -1
  224. package/dist/types/transaction-entities.d.ts +2 -21
  225. package/dist/types/transaction-entities.d.ts.map +1 -1
  226. package/dist/types/transaction-entities.js +1 -1
  227. package/dist/types/validation.d.ts +1 -16
  228. package/dist/types/validation.d.ts.map +1 -1
  229. package/dist/types/validation.js +1 -2
  230. package/dist/types/validation.js.map +1 -1
  231. package/dist/types/view-entities.d.ts +3 -12
  232. package/dist/types/view-entities.d.ts.map +1 -1
  233. package/dist/types/view-entities.js +1 -1
  234. package/dist/types.d.ts +4 -718
  235. package/dist/types.d.ts.map +1 -1
  236. package/dist/types.js +5 -39
  237. package/dist/types.js.map +1 -1
  238. package/dist/utils/parameter-validator.d.ts +2 -2
  239. package/dist/utils/parameter-validator.d.ts.map +1 -1
  240. package/dist/utils/parameter-validator.js.map +1 -1
  241. package/docs/ADR_CONCEPTS.md +66 -58
  242. package/docs/CLI_USAGE.md +392 -0
  243. package/docs/CONFIGURATION.md +157 -922
  244. package/docs/CROSS_DATABASE.md +1 -88
  245. package/docs/DATABASE_AUTH.md +24 -47
  246. package/docs/HOOKS_GUIDE.md +40 -112
  247. package/docs/MIGRATION_TO_SAAS.md +3 -3
  248. package/docs/SHARED_DATABASE.md +108 -0
  249. package/package.json +4 -3
  250. package/dist/adapters/auth/auth-types.d.ts +0 -30
  251. package/dist/adapters/auth/auth-types.d.ts.map +0 -1
  252. package/dist/adapters/auth/auth-types.js +0 -30
  253. package/dist/adapters/auth/auth-types.js.map +0 -1
  254. package/dist/cli/db-dump.d.ts +0 -36
  255. package/dist/cli/db-dump.d.ts.map +0 -1
  256. package/dist/cli/db-dump.js +0 -384
  257. package/dist/cli/db-dump.js.map +0 -1
  258. package/dist/database/config/config-ops.d.ts +0 -42
  259. package/dist/database/config/config-ops.d.ts.map +0 -1
  260. package/dist/database/config/config-ops.js +0 -102
  261. package/dist/database/config/config-ops.js.map +0 -1
  262. package/dist/formatters/adr-formatter.d.ts +0 -22
  263. package/dist/formatters/adr-formatter.d.ts.map +0 -1
  264. package/dist/formatters/adr-formatter.js +0 -127
  265. package/dist/formatters/adr-formatter.js.map +0 -1
  266. package/dist/formatters/confluence-formatter.d.ts +0 -26
  267. package/dist/formatters/confluence-formatter.d.ts.map +0 -1
  268. package/dist/formatters/confluence-formatter.js +0 -129
  269. package/dist/formatters/confluence-formatter.js.map +0 -1
  270. package/dist/formatters/index.d.ts +0 -34
  271. package/dist/formatters/index.d.ts.map +0 -1
  272. package/dist/formatters/index.js +0 -57
  273. package/dist/formatters/index.js.map +0 -1
  274. package/dist/formatters/markdown-formatter.d.ts +0 -16
  275. package/dist/formatters/markdown-formatter.d.ts.map +0 -1
  276. package/dist/formatters/markdown-formatter.js +0 -110
  277. package/dist/formatters/markdown-formatter.js.map +0 -1
  278. package/dist/formatters/notion-formatter.d.ts +0 -29
  279. package/dist/formatters/notion-formatter.d.ts.map +0 -1
  280. package/dist/formatters/notion-formatter.js +0 -177
  281. package/dist/formatters/notion-formatter.js.map +0 -1
  282. package/dist/formatters/types.d.ts +0 -31
  283. package/dist/formatters/types.d.ts.map +0 -1
  284. package/dist/formatters/types.js +0 -6
  285. package/dist/formatters/types.js.map +0 -1
  286. package/dist/tests/database/sql-dump/converters.test.d.ts +0 -7
  287. package/dist/tests/database/sql-dump/converters.test.d.ts.map +0 -1
  288. package/dist/tests/database/sql-dump/converters.test.js +0 -314
  289. package/dist/tests/database/sql-dump/converters.test.js.map +0 -1
  290. package/dist/tests/database/sql-dump/default-conversions.test.d.ts +0 -8
  291. package/dist/tests/database/sql-dump/default-conversions.test.d.ts.map +0 -1
  292. package/dist/tests/database/sql-dump/default-conversions.test.js +0 -141
  293. package/dist/tests/database/sql-dump/default-conversions.test.js.map +0 -1
  294. package/dist/tests/database/sql-dump/table-ordering.test.d.ts +0 -27
  295. package/dist/tests/database/sql-dump/table-ordering.test.d.ts.map +0 -1
  296. package/dist/tests/database/sql-dump/table-ordering.test.js +0 -284
  297. package/dist/tests/database/sql-dump/table-ordering.test.js.map +0 -1
  298. package/dist/tests/database/sql-dump/type-conversion.test.d.ts +0 -8
  299. package/dist/tests/database/sql-dump/type-conversion.test.d.ts.map +0 -1
  300. package/dist/tests/database/sql-dump/type-conversion.test.js +0 -361
  301. package/dist/tests/database/sql-dump/type-conversion.test.js.map +0 -1
  302. package/dist/tests/docker/cross-database.test.d.ts +0 -21
  303. package/dist/tests/docker/cross-database.test.d.ts.map +0 -1
  304. package/dist/tests/docker/cross-database.test.js +0 -308
  305. package/dist/tests/docker/cross-database.test.js.map +0 -1
  306. package/dist/tests/docker/dump-import.test.d.ts +0 -15
  307. package/dist/tests/docker/dump-import.test.d.ts.map +0 -1
  308. package/dist/tests/docker/dump-import.test.js +0 -424
  309. package/dist/tests/docker/dump-import.test.js.map +0 -1
  310. package/dist/tests/docker/fk-constraints.test.d.ts +0 -13
  311. package/dist/tests/docker/fk-constraints.test.d.ts.map +0 -1
  312. package/dist/tests/docker/fk-constraints.test.js +0 -381
  313. package/dist/tests/docker/fk-constraints.test.js.map +0 -1
  314. package/dist/tests/docker/indexes.test.d.ts +0 -12
  315. package/dist/tests/docker/indexes.test.d.ts.map +0 -1
  316. package/dist/tests/docker/indexes.test.js +0 -250
  317. package/dist/tests/docker/indexes.test.js.map +0 -1
  318. package/dist/tests/docker/integration.test.d.ts +0 -16
  319. package/dist/tests/docker/integration.test.d.ts.map +0 -1
  320. package/dist/tests/docker/integration.test.js +0 -323
  321. package/dist/tests/docker/integration.test.js.map +0 -1
  322. package/dist/tests/docker/multi-project-migration.test.d.ts +0 -17
  323. package/dist/tests/docker/multi-project-migration.test.d.ts.map +0 -1
  324. package/dist/tests/docker/multi-project-migration.test.js +0 -394
  325. package/dist/tests/docker/multi-project-migration.test.js.map +0 -1
  326. package/dist/tests/docker/schema-migration.test.d.ts +0 -8
  327. package/dist/tests/docker/schema-migration.test.d.ts.map +0 -1
  328. package/dist/tests/docker/schema-migration.test.js +0 -98
  329. package/dist/tests/docker/schema-migration.test.js.map +0 -1
  330. package/dist/tests/integration/e2e-workflow1-debug.test.d.ts +0 -5
  331. package/dist/tests/integration/e2e-workflow1-debug.test.d.ts.map +0 -1
  332. package/dist/tests/integration/e2e-workflow1-debug.test.js +0 -85
  333. package/dist/tests/integration/e2e-workflow1-debug.test.js.map +0 -1
  334. package/dist/tests/integration/suggest-simple.test.d.ts +0 -5
  335. package/dist/tests/integration/suggest-simple.test.d.ts.map +0 -1
  336. package/dist/tests/integration/suggest-simple.test.js +0 -90
  337. package/dist/tests/integration/suggest-simple.test.js.map +0 -1
  338. package/dist/tests/migrations/test-all-versions-real.d.ts +0 -8
  339. package/dist/tests/migrations/test-all-versions-real.d.ts.map +0 -1
  340. package/dist/tests/migrations/test-all-versions-real.js +0 -236
  341. package/dist/tests/migrations/test-all-versions-real.js.map +0 -1
  342. package/dist/tests/migrations/test-all-versions.d.ts +0 -14
  343. package/dist/tests/migrations/test-all-versions.d.ts.map +0 -1
  344. package/dist/tests/migrations/test-all-versions.js +0 -519
  345. package/dist/tests/migrations/test-all-versions.js.map +0 -1
  346. package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts +0 -7
  347. package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts.map +0 -1
  348. package/dist/tests/migrations/v4/v4-fresh-install.test.js +0 -168
  349. package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +0 -1
  350. package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts +0 -13
  351. package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts.map +0 -1
  352. package/dist/tests/migrations/v4/v4-migrate-data.test.js +0 -264
  353. package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +0 -1
  354. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts +0 -2
  355. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts.map +0 -1
  356. package/dist/tests/unit/utils/case-insensitive-validator.test.js +0 -97
  357. package/dist/tests/unit/utils/case-insensitive-validator.test.js.map +0 -1
  358. package/dist/tests/utils/json-export-import.test.d.ts.map +0 -1
  359. package/dist/tests/utils/json-export-import.test.js.map +0 -1
  360. package/dist/tests/utils/task-helpers.d.ts +0 -67
  361. package/dist/tests/utils/task-helpers.d.ts.map +0 -1
  362. package/dist/tests/utils/task-helpers.js +0 -134
  363. package/dist/tests/utils/task-helpers.js.map +0 -1
  364. package/dist/tools/context/actions/export.d.ts +0 -35
  365. package/dist/tools/context/actions/export.d.ts.map +0 -1
  366. package/dist/tools/context/actions/export.js +0 -93
  367. package/dist/tools/context/actions/export.js.map +0 -1
  368. package/dist/types/file/params.d.ts +0 -40
  369. package/dist/types/file/params.d.ts.map +0 -1
  370. package/dist/types/file/params.js +0 -6
  371. package/dist/types/file/params.js.map +0 -1
  372. package/dist/types/file/responses.d.ts +0 -2
  373. package/dist/types/file/responses.d.ts.map +0 -1
  374. package/dist/types/file/responses.js +0 -2
  375. package/dist/types/file/responses.js.map +0 -1
  376. package/dist/types/task/params.d.ts +0 -173
  377. package/dist/types/task/params.d.ts.map +0 -1
  378. package/dist/types/task/params.js +0 -8
  379. package/dist/types/task/params.js.map +0 -1
  380. package/dist/types/task/responses.d.ts +0 -334
  381. package/dist/types/task/responses.d.ts.map +0 -1
  382. package/dist/types/task/responses.js +0 -8
  383. package/dist/types/task/responses.js.map +0 -1
  384. package/dist/utils/sql-dump/core/dependency-sort.d.ts +0 -16
  385. package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +0 -1
  386. package/dist/utils/sql-dump/core/dependency-sort.js +0 -105
  387. package/dist/utils/sql-dump/core/dependency-sort.js.map +0 -1
  388. package/dist/utils/sql-dump/core/generate-dump.d.ts +0 -13
  389. package/dist/utils/sql-dump/core/generate-dump.d.ts.map +0 -1
  390. package/dist/utils/sql-dump/core/generate-dump.js +0 -201
  391. package/dist/utils/sql-dump/core/generate-dump.js.map +0 -1
  392. package/dist/utils/sql-dump/core/index-export.d.ts +0 -10
  393. package/dist/utils/sql-dump/core/index-export.d.ts.map +0 -1
  394. package/dist/utils/sql-dump/core/index-export.js +0 -173
  395. package/dist/utils/sql-dump/core/index-export.js.map +0 -1
  396. package/dist/utils/sql-dump/core/sequence-reset.d.ts +0 -6
  397. package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +0 -1
  398. package/dist/utils/sql-dump/core/sequence-reset.js +0 -28
  399. package/dist/utils/sql-dump/core/sequence-reset.js.map +0 -1
  400. package/dist/utils/sql-dump/core/table-export.d.ts +0 -2
  401. package/dist/utils/sql-dump/core/table-export.d.ts.map +0 -1
  402. package/dist/utils/sql-dump/core/table-export.js +0 -4
  403. package/dist/utils/sql-dump/core/table-export.js.map +0 -1
  404. package/dist/utils/sql-dump/core/view-export.d.ts +0 -2
  405. package/dist/utils/sql-dump/core/view-export.d.ts.map +0 -1
  406. package/dist/utils/sql-dump/core/view-export.js +0 -4
  407. package/dist/utils/sql-dump/core/view-export.js.map +0 -1
  408. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +0 -14
  409. package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +0 -1
  410. package/dist/utils/sql-dump/formatters/bulk-insert.js +0 -177
  411. package/dist/utils/sql-dump/formatters/bulk-insert.js.map +0 -1
  412. package/dist/utils/sql-dump/formatters/identifiers.d.ts +0 -6
  413. package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +0 -1
  414. package/dist/utils/sql-dump/formatters/identifiers.js +0 -16
  415. package/dist/utils/sql-dump/formatters/identifiers.js.map +0 -1
  416. package/dist/utils/sql-dump/formatters/value-formatter.d.ts +0 -14
  417. package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +0 -1
  418. package/dist/utils/sql-dump/formatters/value-formatter.js +0 -281
  419. package/dist/utils/sql-dump/formatters/value-formatter.js.map +0 -1
  420. package/dist/utils/sql-dump/generators/controls.d.ts +0 -10
  421. package/dist/utils/sql-dump/generators/controls.d.ts.map +0 -1
  422. package/dist/utils/sql-dump/generators/controls.js +0 -36
  423. package/dist/utils/sql-dump/generators/controls.js.map +0 -1
  424. package/dist/utils/sql-dump/generators/headers.d.ts +0 -6
  425. package/dist/utils/sql-dump/generators/headers.d.ts.map +0 -1
  426. package/dist/utils/sql-dump/generators/headers.js +0 -19
  427. package/dist/utils/sql-dump/generators/headers.js.map +0 -1
  428. package/dist/utils/sql-dump/index.d.ts +0 -14
  429. package/dist/utils/sql-dump/index.d.ts.map +0 -1
  430. package/dist/utils/sql-dump/index.js +0 -16
  431. package/dist/utils/sql-dump/index.js.map +0 -1
  432. package/dist/utils/sql-dump/schema/indexes.d.ts +0 -20
  433. package/dist/utils/sql-dump/schema/indexes.d.ts.map +0 -1
  434. package/dist/utils/sql-dump/schema/indexes.js +0 -108
  435. package/dist/utils/sql-dump/schema/indexes.js.map +0 -1
  436. package/dist/utils/sql-dump/schema/primary-keys.d.ts +0 -6
  437. package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +0 -1
  438. package/dist/utils/sql-dump/schema/primary-keys.js +0 -41
  439. package/dist/utils/sql-dump/schema/primary-keys.js.map +0 -1
  440. package/dist/utils/sql-dump/schema/tables.d.ts +0 -15
  441. package/dist/utils/sql-dump/schema/tables.d.ts.map +0 -1
  442. package/dist/utils/sql-dump/schema/tables.js +0 -518
  443. package/dist/utils/sql-dump/schema/tables.js.map +0 -1
  444. package/dist/utils/sql-dump/schema/views.d.ts +0 -11
  445. package/dist/utils/sql-dump/schema/views.d.ts.map +0 -1
  446. package/dist/utils/sql-dump/schema/views.js +0 -116
  447. package/dist/utils/sql-dump/schema/views.js.map +0 -1
  448. package/dist/utils/sql-dump/types.d.ts +0 -10
  449. package/dist/utils/sql-dump/types.d.ts.map +0 -1
  450. package/dist/utils/sql-dump/types.js +0 -3
  451. package/dist/utils/sql-dump/types.js.map +0 -1
  452. package/dist/utils/sql-dump-converters.d.ts +0 -188
  453. package/dist/utils/sql-dump-converters.d.ts.map +0 -1
  454. package/dist/utils/sql-dump-converters.js +0 -315
  455. package/dist/utils/sql-dump-converters.js.map +0 -1
  456. package/dist/watcher/gitignore-parser.d.ts +0 -70
  457. package/dist/watcher/gitignore-parser.d.ts.map +0 -1
  458. package/dist/watcher/gitignore-parser.js +0 -195
  459. package/dist/watcher/gitignore-parser.js.map +0 -1
  460. package/dist/watcher/index.d.ts +0 -9
  461. package/dist/watcher/index.d.ts.map +0 -1
  462. package/dist/watcher/index.js +0 -8
  463. package/dist/watcher/index.js.map +0 -1
  464. package/docs/HOW_TO_UNINSTALL.md +0 -199
  465. package/docs/MIGRATION_CLEANUP_GUIDE.md +0 -212
  466. package/docs/SLASH_COMMANDS.md +0 -329
  467. package/docs/cli/DATABASE_MIGRATION.md +0 -290
  468. package/docs/cli/DATA_EXPORT_IMPORT.md +0 -701
  469. package/docs/cli/README.md +0 -276
  470. /package/dist/tests/{utils → integration}/json-export-import.test.d.ts +0 -0
  471. /package/dist/tests/{utils → integration}/json-export-import.test.js +0 -0
@@ -1,361 +0,0 @@
1
- /**
2
- * Type-aware value conversion tests
3
- *
4
- * Tests enhanced convertValueWithType() with Knex columnInfo() support
5
- * for accurate cross-database type conversions.
6
- */
7
- import { describe, it } from 'node:test';
8
- import assert from 'node:assert';
9
- import { generateBulkInsert } from '../../../utils/sql-dump/index.js';
10
- describe('Type-Aware Value Conversion', () => {
11
- describe('Boolean Conversion', () => {
12
- it('should convert SQLite 0/1 to PostgreSQL TRUE/FALSE', () => {
13
- const rows = [
14
- { id: 1, is_active: 1, is_deleted: 0 }
15
- ];
16
- const columnInfo = new Map([
17
- ['id', { type: 'integer' }],
18
- ['is_active', { type: 'boolean' }],
19
- ['is_deleted', { type: 'boolean' }]
20
- ]);
21
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
22
- columnInfo
23
- });
24
- assert.strictEqual(result.length, 1);
25
- assert.ok(result[0].includes('TRUE'), 'Should convert 1 to TRUE');
26
- assert.ok(result[0].includes('FALSE'), 'Should convert 0 to FALSE');
27
- });
28
- it('should convert PostgreSQL boolean to MySQL 0/1', () => {
29
- const rows = [
30
- { id: 1, is_active: true, is_deleted: false }
31
- ];
32
- const columnInfo = new Map([
33
- ['id', { type: 'integer' }],
34
- ['is_active', { type: 'tinyint' }],
35
- ['is_deleted', { type: 'tinyint' }]
36
- ]);
37
- const result = generateBulkInsert('test_table', rows, 'mysql', {
38
- columnInfo
39
- });
40
- assert.strictEqual(result.length, 1);
41
- assert.ok(result[0].includes('1'), 'Should convert true to 1');
42
- assert.ok(result[0].includes('0'), 'Should convert false to 0');
43
- });
44
- it('should handle NULL boolean values', () => {
45
- const rows = [
46
- { id: 1, is_active: null }
47
- ];
48
- const columnInfo = new Map([
49
- ['id', { type: 'integer' }],
50
- ['is_active', { type: 'boolean' }]
51
- ]);
52
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
53
- columnInfo
54
- });
55
- assert.strictEqual(result.length, 1);
56
- assert.ok(result[0].includes('NULL'), 'Should preserve NULL values');
57
- });
58
- });
59
- describe('Timestamp Conversion', () => {
60
- it('should convert Unix epoch to ISO 8601 string', () => {
61
- const timestamp = new Date('2024-01-15T10:30:00.000Z').getTime();
62
- const rows = [
63
- { id: 1, created_at: timestamp }
64
- ];
65
- const columnInfo = new Map([
66
- ['id', { type: 'integer' }],
67
- ['created_at', { type: 'timestamp' }]
68
- ]);
69
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
70
- columnInfo
71
- });
72
- assert.strictEqual(result.length, 1);
73
- assert.ok(result[0].includes('2024-01-15'), 'Should convert to ISO date');
74
- assert.ok(result[0].includes('::timestamp'), 'Should include PostgreSQL cast');
75
- });
76
- it('should handle ISO 8601 string timestamps', () => {
77
- const rows = [
78
- { id: 1, created_at: '2024-01-15 10:30:00' }
79
- ];
80
- const columnInfo = new Map([
81
- ['id', { type: 'integer' }],
82
- ['created_at', { type: 'datetime' }]
83
- ]);
84
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
85
- columnInfo
86
- });
87
- assert.strictEqual(result.length, 1);
88
- assert.ok(result[0].includes('2024-01-15 10:30:00'), 'Should preserve ISO string');
89
- assert.ok(result[0].includes('::timestamp'), 'Should include PostgreSQL cast');
90
- });
91
- it('should handle Date objects in timestamp columns', () => {
92
- const date = new Date('2024-01-15T10:30:00.000Z');
93
- const rows = [
94
- { id: 1, created_at: date.getTime() }
95
- ];
96
- const columnInfo = new Map([
97
- ['id', { type: 'integer' }],
98
- ['created_at', { type: 'timestamp' }]
99
- ]);
100
- const result = generateBulkInsert('test_table', rows, 'mysql', {
101
- columnInfo
102
- });
103
- assert.strictEqual(result.length, 1);
104
- assert.ok(result[0].includes('2024-01-15'), 'Should format as ISO date');
105
- });
106
- it('should convert ISO 8601 format strings to MySQL DATETIME format', () => {
107
- const rows = [
108
- { id: 1, migration_time: '2025-11-05T00:07:53.343Z' }
109
- ];
110
- const columnInfo = new Map([
111
- ['id', { type: 'integer' }],
112
- ['migration_time', { type: 'datetime' }]
113
- ]);
114
- const result = generateBulkInsert('knex_migrations', rows, 'mysql', {
115
- columnInfo
116
- });
117
- assert.strictEqual(result.length, 1);
118
- assert.ok(result[0].includes('2025-11-05 00:07:53'), 'Should convert ISO 8601 to MySQL DATETIME');
119
- assert.ok(!result[0].includes('T'), 'Should not contain T separator');
120
- assert.ok(!result[0].includes('Z'), 'Should not contain Z timezone indicator');
121
- });
122
- it('should handle ISO 8601 format with timezone offset for MySQL', () => {
123
- const rows = [
124
- { id: 1, created_at: '2024-06-15T14:30:00+09:00' }
125
- ];
126
- const columnInfo = new Map([
127
- ['id', { type: 'integer' }],
128
- ['created_at', { type: 'timestamp' }]
129
- ]);
130
- const result = generateBulkInsert('test_table', rows, 'mysql', {
131
- columnInfo
132
- });
133
- assert.strictEqual(result.length, 1);
134
- // Should convert to UTC: 14:30:00+09:00 -> 05:30:00 UTC
135
- assert.ok(result[0].includes('2024-06-15'), 'Should preserve date part');
136
- assert.ok(!result[0].includes('T'), 'Should not contain T separator');
137
- });
138
- it('should convert ISO 8601 format strings to PostgreSQL timestamp', () => {
139
- const rows = [
140
- { id: 1, created_at: '2025-11-05T00:07:53.343Z' }
141
- ];
142
- const columnInfo = new Map([
143
- ['id', { type: 'integer' }],
144
- ['created_at', { type: 'timestamp' }]
145
- ]);
146
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
147
- columnInfo
148
- });
149
- assert.strictEqual(result.length, 1);
150
- assert.ok(result[0].includes('2025-11-05 00:07:53'), 'Should convert to standard format');
151
- assert.ok(result[0].includes('::timestamp'), 'Should include PostgreSQL cast');
152
- assert.ok(!result[0].includes('T'), 'Should not contain T separator');
153
- assert.ok(!result[0].includes('Z'), 'Should not contain Z timezone indicator');
154
- });
155
- });
156
- describe('Binary Conversion', () => {
157
- it('should convert Buffer to PostgreSQL bytea hex format', () => {
158
- const buffer = Buffer.from('test data', 'utf8');
159
- const rows = [
160
- { id: 1, data: buffer }
161
- ];
162
- const columnInfo = new Map([
163
- ['id', { type: 'integer' }],
164
- ['data', { type: 'bytea' }]
165
- ]);
166
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
167
- columnInfo
168
- });
169
- assert.strictEqual(result.length, 1);
170
- assert.ok(result[0].includes('\\x'), 'Should use PostgreSQL hex format');
171
- assert.ok(result[0].includes('::bytea'), 'Should include bytea cast');
172
- });
173
- it('should convert Buffer to MySQL/SQLite X\'hex\' format', () => {
174
- const buffer = Buffer.from('test data', 'utf8');
175
- const rows = [
176
- { id: 1, data: buffer }
177
- ];
178
- const columnInfo = new Map([
179
- ['id', { type: 'integer' }],
180
- ['data', { type: 'blob' }]
181
- ]);
182
- const result = generateBulkInsert('test_table', rows, 'mysql', {
183
- columnInfo
184
- });
185
- assert.strictEqual(result.length, 1);
186
- assert.ok(result[0].includes('X\''), 'Should use MySQL hex format');
187
- });
188
- });
189
- describe('JSON Conversion', () => {
190
- it('should convert Object to JSON string with PostgreSQL cast', () => {
191
- const jsonData = { name: 'test', count: 42 };
192
- const rows = [
193
- { id: 1, metadata: jsonData }
194
- ];
195
- const columnInfo = new Map([
196
- ['id', { type: 'integer' }],
197
- ['metadata', { type: 'json' }]
198
- ]);
199
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
200
- columnInfo
201
- });
202
- assert.strictEqual(result.length, 1);
203
- assert.ok(result[0].includes('::jsonb'), 'Should include jsonb cast');
204
- assert.ok(result[0].includes('"name"'), 'Should serialize JSON');
205
- });
206
- it('should convert Array to JSON string', () => {
207
- const arrayData = [1, 2, 3, 4, 5];
208
- const rows = [
209
- { id: 1, numbers: arrayData }
210
- ];
211
- const columnInfo = new Map([
212
- ['id', { type: 'integer' }],
213
- ['numbers', { type: 'json' }]
214
- ]);
215
- const result = generateBulkInsert('test_table', rows, 'mysql', {
216
- columnInfo
217
- });
218
- assert.strictEqual(result.length, 1);
219
- assert.ok(result[0].includes('[1,2,3,4,5]'), 'Should serialize array');
220
- });
221
- it('should handle nested objects in JSON columns', () => {
222
- const nestedData = {
223
- user: { name: 'Alice', age: 30 },
224
- settings: { theme: 'dark', notifications: true }
225
- };
226
- const rows = [
227
- { id: 1, config: nestedData }
228
- ];
229
- const columnInfo = new Map([
230
- ['id', { type: 'integer' }],
231
- ['config', { type: 'json' }]
232
- ]);
233
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
234
- columnInfo
235
- });
236
- assert.strictEqual(result.length, 1);
237
- assert.ok(result[0].includes('"user"'), 'Should serialize nested object');
238
- assert.ok(result[0].includes('::jsonb'), 'Should include PostgreSQL cast');
239
- });
240
- });
241
- describe('PostgreSQL Array Conversion', () => {
242
- it('should convert JavaScript array to PostgreSQL ARRAY syntax', () => {
243
- const arrayData = [1, 2, 3];
244
- const rows = [
245
- { id: 1, tags: arrayData }
246
- ];
247
- const columnInfo = new Map([
248
- ['id', { type: 'integer' }],
249
- ['tags', { type: 'array' }] // PostgreSQL array type
250
- ]);
251
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
252
- columnInfo
253
- });
254
- assert.strictEqual(result.length, 1);
255
- assert.ok(result[0].includes('ARRAY['), 'Should use PostgreSQL ARRAY syntax');
256
- assert.ok(result[0].includes('1,2,3'), 'Should include array elements');
257
- });
258
- it('should handle string arrays in PostgreSQL', () => {
259
- const stringArray = ['a', 'b', 'c'];
260
- const rows = [
261
- { id: 1, values: stringArray }
262
- ];
263
- const columnInfo = new Map([
264
- ['id', { type: 'integer' }],
265
- ['values', { type: 'text[]' }] // PostgreSQL text array
266
- ]);
267
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
268
- columnInfo
269
- });
270
- assert.strictEqual(result.length, 1);
271
- assert.ok(result[0].includes('ARRAY['), 'Should use PostgreSQL ARRAY syntax');
272
- assert.ok(result[0].includes("'a','b','c'"), 'Should quote string elements');
273
- });
274
- });
275
- describe('NULL Handling', () => {
276
- it('should preserve NULL values across all databases', () => {
277
- const rows = [
278
- {
279
- id: 1,
280
- name: null,
281
- active: null,
282
- created_at: null,
283
- metadata: null
284
- }
285
- ];
286
- const columnInfo = new Map([
287
- ['id', { type: 'integer' }],
288
- ['name', { type: 'varchar' }],
289
- ['active', { type: 'boolean' }],
290
- ['created_at', { type: 'timestamp' }],
291
- ['metadata', { type: 'json' }]
292
- ]);
293
- const formats = ['postgresql', 'mysql', 'sqlite'];
294
- for (const format of formats) {
295
- const result = generateBulkInsert('test_table', rows, format, {
296
- columnInfo
297
- });
298
- assert.strictEqual(result.length, 1);
299
- // Count NULL occurrences (should be 4: name, active, created_at, metadata)
300
- const nullCount = (result[0].match(/NULL/g) || []).length;
301
- assert.ok(nullCount >= 4, `Should preserve NULL values in ${format}`);
302
- }
303
- });
304
- });
305
- describe('PostgreSQL Enum Conversion', () => {
306
- it('should convert enum values to quoted strings for PostgreSQL', () => {
307
- const rows = [
308
- { id: 1, status: 'active' }
309
- ];
310
- const columnInfo = new Map([
311
- ['id', { type: 'integer' }],
312
- ['status', { type: 'enum' }] // PostgreSQL enum type
313
- ]);
314
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
315
- columnInfo
316
- });
317
- assert.strictEqual(result.length, 1);
318
- assert.ok(result[0].includes("'active'"), 'Should quote enum value');
319
- });
320
- it('should handle user-defined enum types in PostgreSQL', () => {
321
- const rows = [
322
- { id: 1, priority: 'high' }
323
- ];
324
- const columnInfo = new Map([
325
- ['id', { type: 'integer' }],
326
- ['priority', { type: 'user-defined' }] // PostgreSQL user-defined type
327
- ]);
328
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
329
- columnInfo
330
- });
331
- assert.strictEqual(result.length, 1);
332
- assert.ok(result[0].includes("'high'"), 'Should quote user-defined enum value');
333
- });
334
- });
335
- describe('Fallback Behavior', () => {
336
- it('should fallback to formatValue when columnInfo is not provided', () => {
337
- const rows = [
338
- { id: 1, name: 'test' }
339
- ];
340
- // No columnInfo provided
341
- const result = generateBulkInsert('test_table', rows, 'postgresql', {});
342
- assert.strictEqual(result.length, 1);
343
- assert.ok(result[0].includes("'test'"), 'Should still format basic values');
344
- });
345
- it('should fallback when column not found in columnInfo', () => {
346
- const rows = [
347
- { id: 1, unknown_column: 'value' }
348
- ];
349
- const columnInfo = new Map([
350
- ['id', { type: 'integer' }]
351
- // unknown_column not in columnInfo
352
- ]);
353
- const result = generateBulkInsert('test_table', rows, 'postgresql', {
354
- columnInfo
355
- });
356
- assert.strictEqual(result.length, 1);
357
- assert.ok(result[0].includes("'value'"), 'Should fallback to formatValue');
358
- });
359
- });
360
- });
361
- //# sourceMappingURL=type-conversion.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-conversion.test.js","sourceRoot":"","sources":["../../../../src/tests/database/sql-dump/type-conversion.test.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Automated Cross-Database SQL Dump Export/Import Tests
3
- *
4
- * Tests complete export/import workflow:
5
- * SQLite → MySQL/MariaDB/PostgreSQL
6
- *
7
- * Verifies:
8
- * - SQL dump generation
9
- * - Import into Docker containers
10
- * - Schema integrity (table counts, row counts)
11
- * - Constraint preservation (FK, UNIQUE, PRIMARY KEY)
12
- * - Data type conversions (TEXT→VARCHAR, boolean, datetime)
13
- *
14
- * Prerequisites:
15
- * - Docker containers running (MySQL, MariaDB, PostgreSQL)
16
- * - Run: docker-compose -f docker/docker-compose.yml up -d
17
- *
18
- * Skip in CI: Set SKIP_DOCKER_TESTS=true or CI=true
19
- */
20
- export {};
21
- //# sourceMappingURL=cross-database.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-database.test.d.ts","sourceRoot":"","sources":["../../../src/tests/docker/cross-database.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}