@deterministic-code/migraters 0.0.4 → 0.0.6

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 (499) hide show
  1. package/README.md +12 -14
  2. package/bundle.yaml +15 -15
  3. package/csharp/Abstractions/IConnectionResolver.cs +1 -1
  4. package/csharp/Abstractions/IDatasourceProvider.cs +21 -0
  5. package/csharp/Abstractions/IProviderFactory.cs +7 -0
  6. package/csharp/Abstractions/ProviderFactory.cs +50 -0
  7. package/csharp/Directory.Build.props +7 -0
  8. package/csharp/Directory.Build.targets +7 -0
  9. package/csharp/GlobalUsings.cs +0 -1
  10. package/csharp/Infrastructure/CliSpec.cs +33 -1
  11. package/csharp/Infrastructure/ConnectionResolver.cs +4 -4
  12. package/csharp/Infrastructure/CreateDatabase.cs +2 -2
  13. package/csharp/Infrastructure/MigrateCli.cs +23 -27
  14. package/csharp/Infrastructure/Migrater.cs +53 -54
  15. package/csharp/Infrastructure/MigratersConfig.cs +66 -0
  16. package/csharp/Infrastructure/Migrations.cs +0 -18
  17. package/csharp/MigrateCreate.cs +4 -4
  18. package/csharp/MigrateDown.cs +6 -8
  19. package/csharp/MigrateRunner.Core.csproj +8 -3
  20. package/csharp/MigrateRunner.csproj +13 -1
  21. package/csharp/MigrateRunnerServices.cs +3 -45
  22. package/csharp/MigrateSetup.cs +12 -11
  23. package/csharp/MigrateUp.cs +5 -7
  24. package/csharp/{Dialects → Providers}/Mysql/MigrateMysql.csproj +2 -0
  25. package/csharp/{Dialects → Providers}/Mysql/MysqlCreateDatabase.cs +1 -1
  26. package/csharp/Providers/Mysql/MysqlProvider.cs +67 -0
  27. package/csharp/{Dialects → Providers}/Oracle/MigrateOracle.csproj +2 -0
  28. package/csharp/Providers/Oracle/OracleProvider.cs +43 -0
  29. package/csharp/{Dialects → Providers}/Postgres/MigratePostgres.csproj +2 -0
  30. package/csharp/{Dialects → Providers}/Postgres/PostgresCreateDatabase.cs +1 -1
  31. package/csharp/Providers/Postgres/PostgresProvider.cs +74 -0
  32. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.AssemblyInfo.cs +3 -1
  33. package/csharp/Providers/Postgres/obj/MigratePostgres/Debug/net9.0/MigratePostgres.AssemblyInfoInputs.cache +1 -0
  34. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.GeneratedMSBuildEditorConfig.editorconfig +1 -1
  35. package/csharp/Providers/Sql/ConnectionNormalizer.cs +78 -0
  36. package/csharp/{Infrastructure → Providers/Sql}/DbExecute.cs +2 -2
  37. package/csharp/Providers/Sql/GlobalUsings.cs +6 -0
  38. package/csharp/{Infrastructure/MigrateLog.cs → Providers/Sql/SqlCatalog.cs} +20 -5
  39. package/csharp/{Abstractions/SqlDialect.cs → Providers/Sql/SqlRun.cs} +77 -5
  40. package/csharp/{Dialects → Providers}/SqlServer/MigrateSqlServer.csproj +2 -0
  41. package/csharp/Providers/SqlServer/SqlServerProvider.cs +45 -0
  42. package/csharp/{Dialects → Providers}/Sqlite/MigrateSqlite.csproj +4 -0
  43. package/csharp/Providers/Sqlite/SqliteProvider.cs +71 -0
  44. package/orchestrator/dist/config.d.ts +3 -2
  45. package/orchestrator/dist/config.js +30 -8
  46. package/orchestrator/dist/manifests.js +6 -6
  47. package/orchestrator/dist/migrate-create.js +0 -0
  48. package/orchestrator/dist/migrate-down.js +0 -0
  49. package/orchestrator/dist/migrate-init.js +0 -0
  50. package/orchestrator/dist/migrate-setup.js +0 -0
  51. package/orchestrator/dist/migrate-up.js +0 -0
  52. package/orchestrator/dist/provider-location.d.ts +7 -0
  53. package/orchestrator/dist/provider-location.js +23 -0
  54. package/orchestrator/dist/run-init.js +2 -2
  55. package/orchestrator/prepare.js +16 -3
  56. package/package.json +14 -8
  57. package/rust/Cargo.lock +1 -0
  58. package/rust/Cargo.toml +3 -0
  59. package/rust/api/src/lib.rs +99 -151
  60. package/rust/providers/mysql/Cargo.lock +1430 -0
  61. package/rust/{dialects → providers}/mysql/Cargo.toml +1 -0
  62. package/rust/{dialects → providers}/mysql/src/lib.rs +11 -10
  63. package/rust/providers/oracle/Cargo.lock +486 -0
  64. package/rust/{dialects → providers}/oracle/Cargo.toml +1 -0
  65. package/rust/{dialects → providers}/oracle/src/lib.rs +17 -29
  66. package/rust/providers/postgres/Cargo.lock +1344 -0
  67. package/rust/{dialects → providers}/postgres/Cargo.toml +1 -0
  68. package/rust/{dialects → providers}/postgres/src/lib.rs +12 -10
  69. package/rust/providers/sql/Cargo.toml +8 -0
  70. package/rust/providers/sql/src/lib.rs +262 -0
  71. package/rust/providers/sql/src/normalize.rs +63 -0
  72. package/rust/providers/sqlite/Cargo.lock +1143 -0
  73. package/rust/{dialects → providers}/sqlite/Cargo.toml +1 -0
  74. package/rust/{dialects → providers}/sqlite/src/lib.rs +28 -35
  75. package/rust/providers/sqlserver/Cargo.lock +793 -0
  76. package/rust/{dialects → providers}/sqlserver/Cargo.toml +1 -0
  77. package/rust/{dialects → providers}/sqlserver/src/lib.rs +16 -12
  78. package/rust/src/abstractions/factory.rs +30 -6
  79. package/rust/src/abstractions/mod.rs +1 -1
  80. package/rust/src/abstractions/sql_dialect.rs +1 -1
  81. package/rust/src/attached_dialects.rs +1 -1
  82. package/rust/src/infrastructure/pool.rs +85 -26
  83. package/rust/src/lib.rs +212 -16
  84. package/rust/src/migrater.rs +70 -58
  85. package/rust/src/migraters_config.rs +90 -0
  86. package/typescript/bundle.yaml +15 -15
  87. package/typescript/package.json +6 -4
  88. package/typescript/providers/mysql/src/index.ts +5 -0
  89. package/typescript/{dialects/mysql/src/mysql-dialect.test.ts → providers/mysql/src/mysql-provider.test.ts} +13 -3
  90. package/typescript/{dialects/mysql/src/mysql-dialect.ts → providers/mysql/src/mysql-provider.ts} +49 -2
  91. package/typescript/providers/oracle/src/index.ts +5 -0
  92. package/typescript/{dialects/oracle/src/oracle-dialect.test.ts → providers/oracle/src/oracle-provider.test.ts} +14 -3
  93. package/typescript/{dialects/oracle/src/oracle-dialect.ts → providers/oracle/src/oracle-provider.ts} +46 -19
  94. package/typescript/providers/postgres/src/index.ts +5 -0
  95. package/typescript/{dialects/postgres/src/postgres-dialect.test.ts → providers/postgres/src/postgres-provider.test.ts} +13 -3
  96. package/typescript/{dialects/postgres/src/postgres-dialect.ts → providers/postgres/src/postgres-provider.ts} +38 -2
  97. package/typescript/providers/sql/connection-normalizer.ts +48 -0
  98. package/typescript/providers/sql/sql-run.ts +153 -0
  99. package/typescript/providers/sqlite/src/index.ts +5 -0
  100. package/typescript/providers/sqlite/src/sqlite-provider.paths.test.ts +28 -0
  101. package/typescript/{dialects/sqlite/src/sqlite-dialect.rollback.test.ts → providers/sqlite/src/sqlite-provider.rollback.test.ts} +3 -3
  102. package/typescript/{dialects/sqlite/src/sqlite-dialect.test.ts → providers/sqlite/src/sqlite-provider.test.ts} +11 -23
  103. package/typescript/{dialects/sqlite/src/sqlite-dialect.ts → providers/sqlite/src/sqlite-provider.ts} +53 -19
  104. package/typescript/providers/sqlserver/src/index.ts +5 -0
  105. package/typescript/{dialects/sqlserver/src/sqlserver-dialect.test.ts → providers/sqlserver/src/sqlserver-provider.test.ts} +13 -3
  106. package/typescript/{dialects/sqlserver/src/sqlserver-dialect.ts → providers/sqlserver/src/sqlserver-provider.ts} +37 -2
  107. package/typescript/src/abstractions/datasource-provider.ts +26 -0
  108. package/typescript/src/abstractions/sql-dialect-factory.ts +7 -7
  109. package/typescript/src/abstractions/sql-dialect.ts +1 -18
  110. package/typescript/src/cli.ts +7 -5
  111. package/typescript/src/datasource-migrate.ts +29 -146
  112. package/typescript/src/index.ts +6 -0
  113. package/typescript/src/infrastructure/connection-resolver.ts +5 -5
  114. package/typescript/src/infrastructure/default-factory.test.ts +17 -0
  115. package/typescript/src/infrastructure/default-factory.ts +30 -27
  116. package/typescript/src/infrastructure/migraters-config.ts +53 -0
  117. package/typescript/src/migrater.ts +33 -44
  118. package/typescript/src/setup-sql.test.ts +6 -4
  119. package/typescript/tsconfig.build.json +2 -2
  120. package/csharp/Abstractions/ISqlDialect.cs +0 -23
  121. package/csharp/Abstractions/ISqlDialectFactory.cs +0 -7
  122. package/csharp/Abstractions/SqlDialectFactory.cs +0 -24
  123. package/csharp/Dialects/Mysql/MysqlDialect.cs +0 -44
  124. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateCore.dll +0 -0
  125. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  126. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.deps.json +0 -213
  127. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.dll +0 -0
  128. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.pdb +0 -0
  129. package/csharp/Dialects/Mysql/bin/Debug/net9.0/cli.yaml +0 -276
  130. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/create.txt +0 -16
  131. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/down.txt +0 -40
  132. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/init.txt +0 -15
  133. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/setup.txt +0 -45
  134. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/up.txt +0 -43
  135. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
  136. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
  137. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
  138. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
  139. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
  140. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
  141. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
  142. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
  143. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
  144. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
  145. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
  146. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
  147. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
  148. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
  149. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
  150. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
  151. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
  152. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
  153. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
  154. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
  155. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
  156. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
  157. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
  158. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
  159. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
  160. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
  161. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
  162. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
  163. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
  164. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
  165. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
  166. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
  167. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
  168. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
  169. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
  170. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
  171. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
  172. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
  173. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
  174. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
  175. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
  176. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateM.E580FE7A.Up2Date +0 -0
  177. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.AssemblyInfo.cs +0 -22
  178. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.AssemblyInfoInputs.cache +0 -1
  179. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.GeneratedMSBuildEditorConfig.editorconfig +0 -18
  180. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.GlobalUsings.g.cs +0 -8
  181. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.assets.cache +0 -0
  182. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.AssemblyReference.cache +0 -0
  183. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.CoreCompileInputs.cache +0 -1
  184. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.FileListAbsolute.txt +0 -63
  185. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.dll +0 -0
  186. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.pdb +0 -0
  187. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.sourcelink.json +0 -1
  188. package/csharp/Dialects/Mysql/obj/Debug/net9.0/ref/MigrateMysql.dll +0 -0
  189. package/csharp/Dialects/Mysql/obj/Debug/net9.0/refint/MigrateMysql.dll +0 -0
  190. package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.dgspec.json +0 -172
  191. package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.g.props +0 -15
  192. package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.g.targets +0 -6
  193. package/csharp/Dialects/Mysql/obj/project.assets.json +0 -5081
  194. package/csharp/Dialects/Mysql/obj/project.nuget.cache +0 -94
  195. package/csharp/Dialects/Oracle/OracleDialect.cs +0 -30
  196. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateCore.dll +0 -0
  197. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  198. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.deps.json +0 -343
  199. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.dll +0 -0
  200. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.pdb +0 -0
  201. package/csharp/Dialects/Oracle/bin/Debug/net9.0/cli.yaml +0 -276
  202. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/create.txt +0 -16
  203. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/down.txt +0 -40
  204. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/init.txt +0 -15
  205. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/setup.txt +0 -45
  206. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/up.txt +0 -43
  207. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
  208. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
  209. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
  210. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
  211. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
  212. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
  213. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
  214. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
  215. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
  216. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
  217. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
  218. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
  219. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
  220. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
  221. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
  222. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
  223. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
  224. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
  225. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
  226. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
  227. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
  228. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
  229. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
  230. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
  231. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
  232. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
  233. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
  234. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
  235. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
  236. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
  237. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
  238. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
  239. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
  240. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
  241. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
  242. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
  243. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
  244. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
  245. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
  246. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
  247. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
  248. package/csharp/Dialects/Oracle/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  249. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateO.BD46121C.Up2Date +0 -0
  250. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.AssemblyInfo.cs +0 -22
  251. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.AssemblyInfoInputs.cache +0 -1
  252. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.GeneratedMSBuildEditorConfig.editorconfig +0 -18
  253. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.GlobalUsings.g.cs +0 -8
  254. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.assets.cache +0 -0
  255. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.AssemblyReference.cache +0 -0
  256. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.CoreCompileInputs.cache +0 -1
  257. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.FileListAbsolute.txt +0 -63
  258. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.dll +0 -0
  259. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.pdb +0 -0
  260. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.sourcelink.json +0 -1
  261. package/csharp/Dialects/Oracle/obj/Debug/net9.0/ref/MigrateOracle.dll +0 -0
  262. package/csharp/Dialects/Oracle/obj/Debug/net9.0/refint/MigrateOracle.dll +0 -0
  263. package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.dgspec.json +0 -172
  264. package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.g.props +0 -15
  265. package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.g.targets +0 -2
  266. package/csharp/Dialects/Oracle/obj/project.assets.json +0 -5414
  267. package/csharp/Dialects/Oracle/obj/project.nuget.cache +0 -101
  268. package/csharp/Dialects/Postgres/PostgresDialect.cs +0 -43
  269. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigrateCore.dll +0 -0
  270. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  271. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.deps.json +0 -212
  272. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.dll +0 -0
  273. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.pdb +0 -0
  274. package/csharp/Dialects/Postgres/bin/Debug/net9.0/cli.yaml +0 -276
  275. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/create.txt +0 -16
  276. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/down.txt +0 -40
  277. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/init.txt +0 -15
  278. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/setup.txt +0 -45
  279. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/up.txt +0 -43
  280. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
  281. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
  282. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
  283. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
  284. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
  285. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
  286. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
  287. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
  288. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
  289. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
  290. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
  291. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
  292. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
  293. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
  294. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
  295. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
  296. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
  297. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
  298. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
  299. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
  300. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
  301. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
  302. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
  303. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
  304. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
  305. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
  306. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
  307. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
  308. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
  309. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
  310. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
  311. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
  312. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
  313. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
  314. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
  315. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
  316. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
  317. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
  318. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
  319. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
  320. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
  321. package/csharp/Dialects/Postgres/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  322. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigrateP.DF842641.Up2Date +0 -0
  323. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.AssemblyInfoInputs.cache +0 -1
  324. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.assets.cache +0 -0
  325. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.AssemblyReference.cache +0 -0
  326. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.CoreCompileInputs.cache +0 -1
  327. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.FileListAbsolute.txt +0 -63
  328. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.dll +0 -0
  329. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.pdb +0 -0
  330. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.sourcelink.json +0 -1
  331. package/csharp/Dialects/Postgres/obj/Debug/net9.0/ref/MigratePostgres.dll +0 -0
  332. package/csharp/Dialects/Postgres/obj/Debug/net9.0/refint/MigratePostgres.dll +0 -0
  333. package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.dgspec.json +0 -172
  334. package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.g.props +0 -15
  335. package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.g.targets +0 -6
  336. package/csharp/Dialects/Postgres/obj/project.assets.json +0 -5068
  337. package/csharp/Dialects/Postgres/obj/project.nuget.cache +0 -94
  338. package/csharp/Dialects/SqlServer/SqlServerDialect.cs +0 -21
  339. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateCore.dll +0 -0
  340. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  341. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.deps.json +0 -727
  342. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.dll +0 -0
  343. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.pdb +0 -0
  344. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/cli.yaml +0 -276
  345. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/create.txt +0 -16
  346. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/down.txt +0 -40
  347. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/init.txt +0 -15
  348. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/setup.txt +0 -45
  349. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/up.txt +0 -43
  350. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
  351. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
  352. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
  353. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
  354. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
  355. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
  356. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
  357. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
  358. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
  359. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
  360. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
  361. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
  362. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
  363. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
  364. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
  365. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
  366. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
  367. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
  368. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
  369. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
  370. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
  371. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
  372. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
  373. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
  374. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
  375. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
  376. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
  377. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
  378. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
  379. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
  380. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
  381. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
  382. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
  383. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
  384. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
  385. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
  386. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
  387. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
  388. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
  389. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
  390. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
  391. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  392. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateS.6604771C.Up2Date +0 -0
  393. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.AssemblyInfo.cs +0 -22
  394. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.AssemblyInfoInputs.cache +0 -1
  395. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.GeneratedMSBuildEditorConfig.editorconfig +0 -18
  396. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.GlobalUsings.g.cs +0 -8
  397. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.assets.cache +0 -0
  398. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.AssemblyReference.cache +0 -0
  399. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.CoreCompileInputs.cache +0 -1
  400. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.FileListAbsolute.txt +0 -63
  401. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.dll +0 -0
  402. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.pdb +0 -0
  403. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.sourcelink.json +0 -1
  404. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/ref/MigrateSqlServer.dll +0 -0
  405. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/refint/MigrateSqlServer.dll +0 -0
  406. package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.dgspec.json +0 -172
  407. package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.g.props +0 -15
  408. package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.g.targets +0 -7
  409. package/csharp/Dialects/SqlServer/obj/project.assets.json +0 -6391
  410. package/csharp/Dialects/SqlServer/obj/project.nuget.cache +0 -122
  411. package/csharp/Dialects/Sqlite/SqliteDialect.cs +0 -77
  412. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateCore.dll +0 -0
  413. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  414. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.deps.json +0 -376
  415. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.dll +0 -0
  416. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.pdb +0 -0
  417. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/cli.yaml +0 -276
  418. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/create.txt +0 -16
  419. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/down.txt +0 -40
  420. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/init.txt +0 -15
  421. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/setup.txt +0 -45
  422. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/up.txt +0 -43
  423. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
  424. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
  425. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
  426. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
  427. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
  428. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
  429. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
  430. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
  431. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
  432. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
  433. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
  434. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
  435. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
  436. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
  437. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
  438. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
  439. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
  440. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
  441. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
  442. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
  443. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
  444. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
  445. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
  446. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
  447. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
  448. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
  449. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
  450. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
  451. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
  452. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
  453. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
  454. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
  455. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
  456. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
  457. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
  458. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
  459. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
  460. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
  461. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
  462. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
  463. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
  464. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  465. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateS.4867C581.Up2Date +0 -0
  466. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.AssemblyInfo.cs +0 -22
  467. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.AssemblyInfoInputs.cache +0 -1
  468. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.GeneratedMSBuildEditorConfig.editorconfig +0 -18
  469. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.GlobalUsings.g.cs +0 -8
  470. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.assets.cache +0 -0
  471. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.AssemblyReference.cache +0 -0
  472. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.CoreCompileInputs.cache +0 -1
  473. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.FileListAbsolute.txt +0 -63
  474. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.dll +0 -0
  475. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.pdb +0 -0
  476. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.sourcelink.json +0 -1
  477. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/ref/MigrateSqlite.dll +0 -0
  478. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/refint/MigrateSqlite.dll +0 -0
  479. package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.dgspec.json +0 -172
  480. package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.g.props +0 -15
  481. package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.g.targets +0 -6
  482. package/csharp/Dialects/Sqlite/obj/project.assets.json +0 -5263
  483. package/csharp/Dialects/Sqlite/obj/project.nuget.cache +0 -99
  484. package/rust/src/dialects/mod.rs +0 -4
  485. package/typescript/dialects/mysql/src/index.ts +0 -4
  486. package/typescript/dialects/oracle/src/index.ts +0 -4
  487. package/typescript/dialects/postgres/src/index.ts +0 -4
  488. package/typescript/dialects/sqlite/src/index.ts +0 -4
  489. package/typescript/dialects/sqlserver/src/index.ts +0 -4
  490. package/typescript/src/abstractions/sql-dialect-base.ts +0 -38
  491. /package/csharp/{Dialects/Mysql/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -0
  492. /package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.GlobalUsings.g.cs +0 -0
  493. /package/csharp/{Dialects → Providers}/SqlServer/SqlServerCreateDatabase.cs +0 -0
  494. /package/typescript/{dialects → providers}/mysql/package.json +0 -0
  495. /package/typescript/{dialects → providers}/oracle/package.json +0 -0
  496. /package/typescript/{dialects → providers}/postgres/package.json +0 -0
  497. /package/typescript/{src/infrastructure → providers/sql}/split-on-go.ts +0 -0
  498. /package/typescript/{dialects → providers}/sqlite/package.json +0 -0
  499. /package/typescript/{dialects → providers}/sqlserver/package.json +0 -0
@@ -1,37 +1,24 @@
1
+ import type { IDatasourceProvider, ProviderLogId } from '../../../src/abstractions/datasource-provider.ts';
1
2
  import type { MigrationClient, MigrationRow } from '../../../src/migration-client.ts';
2
3
  import { interopDefault } from '../../../src/infrastructure/interop-default.ts';
3
4
  import { readSqlTemplate } from '../../../src/infrastructure/sql-templates.ts';
4
- import { SqlDialectBase } from '../../../src/abstractions/sql-dialect-base.ts';
5
+ import { parseOracleConnection } from '../../sql/connection-normalizer.ts';
6
+ import { sqlRun } from '../../sql/sql-run.ts';
7
+
8
+ export { parseOracleConnection };
5
9
 
6
10
  const [migratesDdl, migrateLogsDdl] = await Promise.all([
7
11
  readSqlTemplate('oracle', 'migrates'),
8
12
  readSqlTemplate('oracle', 'migrate_logs'),
9
13
  ]);
10
14
 
11
- interface OracleConnectionConfig {
12
- user: string;
13
- password: string;
14
- connectString: string;
15
- }
16
-
17
- export const parseOracleConnection = (
18
- connection: string | OracleConnectionConfig,
19
- ): OracleConnectionConfig => {
20
- if (typeof connection === 'object' && connection) return connection;
21
- const m = /^([^/]+)\/([^@]+)@(.+)$/.exec(String(connection));
22
- if (!m) {
23
- throw new Error(`Oracle connection must look like user/password@connectString`);
24
- }
25
- return { user: m[1] as string, password: m[2] as string, connectString: m[3] as string };
26
- };
27
-
28
15
  const lowercaseKeys = (row: MigrationRow): MigrationRow => {
29
16
  const out: MigrationRow = {};
30
17
  for (const [k, v] of Object.entries(row)) out[k.toLowerCase()] = v;
31
18
  return out;
32
19
  };
33
20
 
34
- export class OracleDialect extends SqlDialectBase {
21
+ export class OracleProvider implements IDatasourceProvider {
35
22
  readonly name = 'oracle' as const;
36
23
  readonly connectionEnvironmentVariables = ['ORACLE_CONNECT_STRING', 'DATABASE_URL'] as const;
37
24
  readonly migratesDdl = migratesDdl;
@@ -42,10 +29,22 @@ export class OracleDialect extends SqlDialectBase {
42
29
  return sql.replace(/\?/g, () => `:${++n}`);
43
30
  }
44
31
 
32
+ quoteIdent(ident: string): string {
33
+ return `"${ident}"`;
34
+ }
35
+
45
36
  limitClause(n: number): string {
46
37
  return `FETCH FIRST ${n} ROWS ONLY`;
47
38
  }
48
39
 
40
+ async prerequisiteError(_connection: string): Promise<string | null> {
41
+ return null;
42
+ }
43
+
44
+ async prepareSetup(_connection: string): Promise<void> {}
45
+
46
+ async createDatabaseIfMissing(_connection: string): Promise<void> {}
47
+
49
48
  async createClient(connection: string): Promise<MigrationClient> {
50
49
  const oracledb = interopDefault(await import('oracledb'));
51
50
  const conn = await oracledb.getConnection(parseOracleConnection(connection));
@@ -88,4 +87,32 @@ export class OracleDialect extends SqlDialectBase {
88
87
  },
89
88
  };
90
89
  }
90
+
91
+ setup(connection: string): Promise<void> {
92
+ return sqlRun.setup(this, connection);
93
+ }
94
+
95
+ applied(connection: string): Promise<Map<string, string | null>> {
96
+ return sqlRun.applied(this, connection);
97
+ }
98
+
99
+ migrateUp(connection: string, name: string, body: string, checksum: string): Promise<void> {
100
+ return sqlRun.migrateUp(this, connection, name, body, checksum);
101
+ }
102
+
103
+ migrateDown(connection: string, name: string, body: string): Promise<void> {
104
+ return sqlRun.migrateDown(this, connection, name, body);
105
+ }
106
+
107
+ log(
108
+ connection: string,
109
+ id: ProviderLogId | null,
110
+ name: string,
111
+ direction: string,
112
+ status: string | null,
113
+ durationMs: number,
114
+ error: string | null,
115
+ ): Promise<ProviderLogId> {
116
+ return sqlRun.log(this, connection, id, name, direction, status, durationMs, error);
117
+ }
91
118
  }
@@ -0,0 +1,5 @@
1
+ import { PostgresProvider } from './postgres-provider.ts';
2
+
3
+ export const createProvider = (): PostgresProvider => new PostgresProvider();
4
+ export const provider = createProvider;
5
+ export { PostgresProvider };
@@ -27,11 +27,11 @@ const pg = vi.hoisted(() => {
27
27
 
28
28
  vi.mock('pg', () => ({ default: { Client: pg.Client } }));
29
29
 
30
- import { PostgresDialect } from './postgres-dialect.ts';
30
+ import { PostgresProvider } from './postgres-provider.ts';
31
31
 
32
- const dialect = new PostgresDialect();
32
+ const dialect = new PostgresProvider();
33
33
 
34
- describe('PostgresDialect', () => {
34
+ describe('PostgresProvider', () => {
35
35
  afterEach(() => {
36
36
  pg.state.failRollback = false;
37
37
  pg.state.fail = false;
@@ -95,4 +95,14 @@ describe('PostgresDialect', () => {
95
95
  await client.close();
96
96
  expect(pg.state.ended).toBe(true);
97
97
  });
98
+
99
+ it('runs setup, applied, migrate, and log through the sql helper', async () => {
100
+ const url = 'postgresql://localhost/db';
101
+ await dialect.setup(url);
102
+ expect(await dialect.applied(url)).toBeInstanceOf(Map);
103
+ await dialect.migrateUp(url, 'a', 'SELECT 1', 'sum');
104
+ await dialect.migrateDown(url, 'a', 'SELECT 1');
105
+ await dialect.log(url, null, 'a', 'up', null, 0, null);
106
+ await dialect.log(url, 1, 'a', 'up', 'ok', 1, null);
107
+ });
98
108
  });
@@ -1,17 +1,19 @@
1
+ import type { IDatasourceProvider, ProviderLogId } from '../../../src/abstractions/datasource-provider.ts';
1
2
  import type { MigrationClient } from '../../../src/migration-client.ts';
2
3
  import { readSqlTemplate } from '../../../src/infrastructure/sql-templates.ts';
3
- import { SqlDialectBase } from '../../../src/abstractions/sql-dialect-base.ts';
4
+ import { sqlRun } from '../../sql/sql-run.ts';
4
5
 
5
6
  const [migratesDdl, migrateLogsDdl] = await Promise.all([
6
7
  readSqlTemplate('postgres', 'migrates'),
7
8
  readSqlTemplate('postgres', 'migrate_logs'),
8
9
  ]);
9
10
 
10
- export class PostgresDialect extends SqlDialectBase {
11
+ export class PostgresProvider implements IDatasourceProvider {
11
12
  readonly name = 'postgres' as const;
12
13
  readonly connectionEnvironmentVariables = ['PG_CONNECTION_STRING', 'DATABASE_URL'] as const;
13
14
  readonly migratesDdl = migratesDdl;
14
15
  readonly migrateLogsDdl = migrateLogsDdl;
16
+ readonly usesLastInsertRowid = false;
15
17
 
16
18
  nowExpr(): string {
17
19
  return 'NOW()';
@@ -22,6 +24,12 @@ export class PostgresDialect extends SqlDialectBase {
22
24
  return sql.replace(/\?/g, () => `$${++n}`);
23
25
  }
24
26
 
27
+ async prerequisiteError(_connection: string): Promise<string | null> {
28
+ return null;
29
+ }
30
+
31
+ async prepareSetup(_connection: string): Promise<void> {}
32
+
25
33
  async createDatabaseIfMissing(connection: string): Promise<void> {
26
34
  const url = new URL(connection);
27
35
  const name = url.pathname.replace(/^\//, '');
@@ -79,4 +87,32 @@ export class PostgresDialect extends SqlDialectBase {
79
87
  },
80
88
  };
81
89
  }
90
+
91
+ setup(connection: string): Promise<void> {
92
+ return sqlRun.setup(this, connection);
93
+ }
94
+
95
+ applied(connection: string): Promise<Map<string, string | null>> {
96
+ return sqlRun.applied(this, connection);
97
+ }
98
+
99
+ migrateUp(connection: string, name: string, body: string, checksum: string): Promise<void> {
100
+ return sqlRun.migrateUp(this, connection, name, body, checksum);
101
+ }
102
+
103
+ migrateDown(connection: string, name: string, body: string): Promise<void> {
104
+ return sqlRun.migrateDown(this, connection, name, body);
105
+ }
106
+
107
+ log(
108
+ connection: string,
109
+ id: ProviderLogId | null,
110
+ name: string,
111
+ direction: string,
112
+ status: string | null,
113
+ durationMs: number,
114
+ error: string | null,
115
+ ): Promise<ProviderLogId> {
116
+ return sqlRun.log(this, connection, id, name, direction, status, durationMs, error);
117
+ }
82
118
  }
@@ -0,0 +1,48 @@
1
+ export const sqliteIsMemory = (connection: string): boolean => {
2
+ const s = connection.trim();
3
+ if (s === '' || s === ':memory:') return true;
4
+ const compact = s.toLowerCase().replace(/\s+/g, '');
5
+ return (
6
+ compact.includes(':memory:') ||
7
+ /[?&;]mode=memory(?:&|;|$)/.test(compact) ||
8
+ compact.startsWith('mode=memory')
9
+ );
10
+ };
11
+
12
+ export const sqliteFilesystemPath = (connection: string): string | null => {
13
+ if (sqliteIsMemory(connection)) return null;
14
+ let s = connection.trim();
15
+ const eq = s.indexOf('=');
16
+ if (eq >= 0 && /data\s*source/i.test(s.slice(0, eq))) {
17
+ s = s.slice(eq + 1).trim();
18
+ const semi = s.indexOf(';');
19
+ if (semi >= 0) s = s.slice(0, semi).trim();
20
+ } else if (/^sqlite:\/\//i.test(s)) {
21
+ s = s.slice('sqlite://'.length);
22
+ } else if (/^sqlite:/i.test(s)) {
23
+ s = s.slice('sqlite:'.length);
24
+ } else if (/^file:/i.test(s)) {
25
+ s = s.slice('file:'.length);
26
+ }
27
+ const q = s.indexOf('?');
28
+ if (q >= 0) s = s.slice(0, q);
29
+ if (s === ':memory:' || s === '') return null;
30
+ return s;
31
+ };
32
+
33
+ export type OracleConnectionConfig = {
34
+ user: string;
35
+ password: string;
36
+ connectString: string;
37
+ };
38
+
39
+ export const parseOracleConnection = (
40
+ connection: string | OracleConnectionConfig,
41
+ ): OracleConnectionConfig => {
42
+ if (typeof connection === 'object' && connection) return connection;
43
+ const m = /^([^/]+)\/([^@]+)@(.+)$/.exec(String(connection));
44
+ if (!m) {
45
+ throw new Error(`Oracle connection must look like user/password@connectString`);
46
+ }
47
+ return { user: m[1] as string, password: m[2] as string, connectString: m[3] as string };
48
+ };
@@ -0,0 +1,153 @@
1
+ import type { ProviderLogId } from '../../src/abstractions/datasource-provider.ts';
2
+ import type { MigrationClient, MigrationRowValue } from '../../src/migration-client.ts';
3
+ import { splitOnGo } from './split-on-go.ts';
4
+
5
+ const catalogName = (stored: string): string =>
6
+ stored.endsWith('_up.sql') ? stored.slice(0, -'_up.sql'.length) : stored;
7
+
8
+ export type SqlRunSurface = {
9
+ migratesDdl: string;
10
+ migrateLogsDdl: string;
11
+ usesLastInsertRowid?: boolean;
12
+ quoteIdent?: (ident: string) => string;
13
+ nowExpr?: () => string;
14
+ limitClause?: (n: number) => string;
15
+ prerequisiteError?: (connection: string) => Promise<string | null>;
16
+ createClient: (connection: string) => Promise<MigrationClient>;
17
+ };
18
+
19
+ const quoteIdent = (surface: SqlRunSurface, ident: string): string =>
20
+ surface.quoteIdent?.(ident) ?? `"${ident}"`;
21
+
22
+ const nowExpr = (surface: SqlRunSurface): string => surface.nowExpr?.() ?? 'CURRENT_TIMESTAMP';
23
+
24
+ const limitClause = (surface: SqlRunSurface, n: number): string =>
25
+ surface.limitClause?.(n) ?? `LIMIT ${n}`;
26
+
27
+ const openExisting = async (surface: SqlRunSurface, connection: string): Promise<MigrationClient> => {
28
+ const error = (await surface.prerequisiteError?.(connection)) ?? null;
29
+ if (error) throw new Error(error);
30
+ return surface.createClient(connection);
31
+ };
32
+
33
+ export const sqlRun = {
34
+ async setup(surface: SqlRunSurface, connection: string): Promise<void> {
35
+ const client = await surface.createClient(connection);
36
+ try {
37
+ await client.exec(surface.migratesDdl);
38
+ await client.exec(surface.migrateLogsDdl);
39
+ } finally {
40
+ await client.close();
41
+ }
42
+ },
43
+
44
+ async applied(surface: SqlRunSurface, connection: string): Promise<Map<string, string | null>> {
45
+ const client = await openExisting(surface, connection);
46
+ try {
47
+ const q = (ident: string) => quoteIdent(surface, ident);
48
+ const rows = await client.query(
49
+ `SELECT ${q('name')} AS name, ${q('checksum')} AS checksum FROM ${q('migrates')}`,
50
+ );
51
+ return new Map(
52
+ rows.map(
53
+ (r) =>
54
+ [
55
+ catalogName(String(r.name ?? r.NAME ?? '')),
56
+ (r.checksum ?? r.CHECKSUM ?? null) as string | null,
57
+ ] as [string, string | null],
58
+ ),
59
+ );
60
+ } finally {
61
+ await client.close();
62
+ }
63
+ },
64
+
65
+ async migrateUp(
66
+ surface: SqlRunSurface,
67
+ connection: string,
68
+ name: string,
69
+ body: string,
70
+ checksum: string,
71
+ ): Promise<void> {
72
+ const client = await openExisting(surface, connection);
73
+ try {
74
+ const q = (ident: string) => quoteIdent(surface, ident);
75
+ await client.transaction(async () => {
76
+ for (const stmt of splitOnGo(body)) {
77
+ await client.exec(stmt);
78
+ }
79
+ const t = q('migrates');
80
+ await client.run(`INSERT INTO ${t} (${q('name')}, ${q('checksum')}) VALUES (?, ?)`, [
81
+ name,
82
+ checksum,
83
+ ]);
84
+ });
85
+ } finally {
86
+ await client.close();
87
+ }
88
+ },
89
+
90
+ async migrateDown(
91
+ surface: SqlRunSurface,
92
+ connection: string,
93
+ name: string,
94
+ body: string,
95
+ ): Promise<void> {
96
+ const client = await openExisting(surface, connection);
97
+ try {
98
+ const q = (ident: string) => quoteIdent(surface, ident);
99
+ await client.transaction(async () => {
100
+ for (const stmt of splitOnGo(body)) {
101
+ await client.exec(stmt);
102
+ }
103
+ const t = q('migrates');
104
+ await client.run(`DELETE FROM ${t} WHERE ${q('name')} = ?`, [name]);
105
+ });
106
+ } finally {
107
+ await client.close();
108
+ }
109
+ },
110
+
111
+ async log(
112
+ surface: SqlRunSurface,
113
+ connection: string,
114
+ id: ProviderLogId | null,
115
+ name: string,
116
+ direction: string,
117
+ status: string | null,
118
+ durationMs: number,
119
+ error: string | null,
120
+ ): Promise<ProviderLogId> {
121
+ const client = await surface.createClient(connection);
122
+ try {
123
+ const q = (ident: string) => quoteIdent(surface, ident);
124
+ const t = q('migrate_logs');
125
+ if (id == null) {
126
+ if (surface.usesLastInsertRowid) {
127
+ const stmt = `INSERT INTO ${t} (${q('migrate_name')}, ${q('direction')}, ${q('status')}) VALUES (?, ?, 'started')`;
128
+ const db = client._raw;
129
+ if (db) return db.prepare(stmt).run(name, direction).lastInsertRowid;
130
+ await client.run(stmt, [name, direction]);
131
+ } else {
132
+ await client.run(
133
+ `INSERT INTO ${t} (${q('migrate_name')}, ${q('direction')}, ${q('status')}) VALUES (?, ?, 'started')`,
134
+ [name, direction],
135
+ );
136
+ }
137
+ const rows = await client.query(
138
+ `SELECT ${q('id')} AS id FROM ${t} WHERE ${q('migrate_name')} = ? AND ${q('direction')} = ? ORDER BY ${q('id')} DESC ${limitClause(surface, 1)}`,
139
+ [name, direction],
140
+ );
141
+ return (rows[0]?.id ?? rows[0]?.ID) as MigrationRowValue as ProviderLogId;
142
+ }
143
+ const setNow = nowExpr(surface);
144
+ await client.run(
145
+ `UPDATE ${t} SET ${q('status')} = ?, ${q('finished_at')} = ${setNow}, ${q('duration_ms')} = ?, ${q('error_message')} = ?, ${q('updated')} = ${setNow} WHERE ${q('id')} = ?`,
146
+ [status, durationMs, error, id],
147
+ );
148
+ return id;
149
+ } finally {
150
+ await client.close();
151
+ }
152
+ },
153
+ };
@@ -0,0 +1,5 @@
1
+ import { SqliteProvider } from './sqlite-provider.ts';
2
+
3
+ export const createProvider = (): SqliteProvider => new SqliteProvider();
4
+ export const provider = createProvider;
5
+ export { SqliteProvider, sqliteFilesystemPath } from './sqlite-provider.ts';
@@ -0,0 +1,28 @@
1
+ import { mkdtemp, writeFile } from 'node:fs/promises';
2
+ import { tmpdir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ import { describe, expect, it } from 'vitest';
5
+ import { SqliteProvider } from './sqlite-provider.ts';
6
+
7
+ const dialect = new SqliteProvider();
8
+
9
+ describe('SqliteProvider file paths', () => {
10
+ it('prerequisiteError is null for existing files and reports missing files', async () => {
11
+ const dir = await mkdtemp(join(tmpdir(), 'sqlite-provider-'));
12
+ const file = join(dir, 'exists.sqlite');
13
+ await writeFile(file, '');
14
+ expect(await dialect.prerequisiteError(file)).toBeNull();
15
+ const missing = join(dir, 'missing.sqlite');
16
+ const err = await dialect.prerequisiteError(missing);
17
+ expect(err).toContain(missing);
18
+ expect(err).toMatch(/migrate-setup --provider sqlite/);
19
+ });
20
+
21
+ it('prepareSetup creates parent directories for file connections', async () => {
22
+ const dir = await mkdtemp(join(tmpdir(), 'sqlite-setup-'));
23
+ const file = join(dir, 'nested', 'db', 'app.sqlite');
24
+ await dialect.prepareSetup(file);
25
+ const { pathExists } = await import('../../../src/path-exists.ts');
26
+ expect(await pathExists(join(dir, 'nested', 'db'))).toBe(true);
27
+ });
28
+ });
@@ -12,11 +12,11 @@ vi.mock('better-sqlite3', () => ({
12
12
  },
13
13
  }));
14
14
 
15
- import { SqliteDialect } from './sqlite-dialect.ts';
15
+ import { SqliteProvider } from './sqlite-provider.ts';
16
16
 
17
- describe('SqliteDialect rollback failure', () => {
17
+ describe('SqliteProvider rollback failure', () => {
18
18
  it('warns when ROLLBACK itself fails and still rethrows the original error', async () => {
19
- const client = await new SqliteDialect().createClient(':memory:');
19
+ const client = await new SqliteProvider().createClient(':memory:');
20
20
  const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
21
21
  await expect(
22
22
  client.transaction(async () => {
@@ -1,12 +1,9 @@
1
- import { mkdtemp, writeFile } from 'node:fs/promises';
2
- import { tmpdir } from 'node:os';
3
- import { join } from 'node:path';
4
1
  import { describe, expect, it } from 'vitest';
5
- import { SqliteDialect, sqliteFilesystemPath } from './sqlite-dialect.ts';
2
+ import { SqliteProvider, sqliteFilesystemPath } from './sqlite-provider.ts';
6
3
 
7
- const dialect = new SqliteDialect();
4
+ const dialect = new SqliteProvider();
8
5
 
9
- describe('SqliteDialect', () => {
6
+ describe('SqliteProvider', () => {
10
7
  it('registers as sqlite with SQLITE_PATH / DB_PATH and last_insert_rowid', () => {
11
8
  expect(dialect.name).toBe('sqlite');
12
9
  expect([...dialect.connectionEnvironmentVariables]).toEqual(['SQLITE_PATH', 'DB_PATH']);
@@ -23,6 +20,8 @@ describe('SqliteDialect', () => {
23
20
  expect(sqliteFilesystemPath(':memory:')).toBeNull();
24
21
  expect(sqliteFilesystemPath('')).toBeNull();
25
22
  expect(sqliteFilesystemPath(' :memory: ')).toBeNull();
23
+ expect(sqliteFilesystemPath('file:migraters-test?mode=memory&cache=shared')).toBeNull();
24
+ expect(sqliteFilesystemPath('Data Source=migraters-test;Mode=Memory;Cache=Shared')).toBeNull();
26
25
  expect(sqliteFilesystemPath('./app.sqlite')).toBe('./app.sqlite');
27
26
  expect(sqliteFilesystemPath('sqlite:///abs/app.sqlite')).toBe('/abs/app.sqlite');
28
27
  expect(sqliteFilesystemPath('sqlite://rel.sqlite')).toBe('rel.sqlite');
@@ -35,25 +34,14 @@ describe('SqliteDialect', () => {
35
34
  expect(sqliteFilesystemPath('other=value.sqlite')).toBe('other=value.sqlite');
36
35
  });
37
36
 
38
- it('prerequisiteError is null for memory, existing files, and missing-path-null', async () => {
37
+ it('prerequisiteError is null for memory connections', async () => {
39
38
  expect(await dialect.prerequisiteError(':memory:')).toBeNull();
40
- const dir = await mkdtemp(join(tmpdir(), 'sqlite-dialect-'));
41
- const file = join(dir, 'exists.sqlite');
42
- await writeFile(file, '');
43
- expect(await dialect.prerequisiteError(file)).toBeNull();
44
- const missing = join(dir, 'missing.sqlite');
45
- const err = await dialect.prerequisiteError(missing);
46
- expect(err).toContain(missing);
47
- expect(err).toMatch(/migrate-setup --provider sqlite/);
48
- });
49
-
50
- it('prepareSetup creates parent directories for file connections and no-ops memory', async () => {
51
- const dir = await mkdtemp(join(tmpdir(), 'sqlite-setup-'));
52
- const file = join(dir, 'nested', 'db', 'app.sqlite');
53
- await dialect.prepareSetup(file);
54
- const { pathExists } = await import('../../../src/path-exists.ts');
55
- expect(await pathExists(join(dir, 'nested', 'db'))).toBe(true);
39
+ expect(await dialect.prerequisiteError('file:migraters-test?mode=memory&cache=shared')).toBeNull();
40
+ expect(
41
+ await dialect.prerequisiteError('Data Source=migraters-test;Mode=Memory;Cache=Shared'),
42
+ ).toBeNull();
56
43
  await dialect.prepareSetup(':memory:');
44
+ await dialect.prepareSetup('file:migraters-test?mode=memory&cache=shared');
57
45
  });
58
46
 
59
47
  it('createClient rejects an empty path and runs exec/query/run/transaction on :memory:', async () => {
@@ -1,10 +1,14 @@
1
1
  import { mkdir } from 'node:fs/promises';
2
2
  import { dirname } from 'node:path';
3
+ import type { IDatasourceProvider, ProviderLogId } from '../../../src/abstractions/datasource-provider.ts';
3
4
  import type { MigrationClient, MigrationRow, MigrationSqlParam } from '../../../src/migration-client.ts';
4
5
  import { pathExists } from '../../../src/path-exists.ts';
5
6
  import { readSqlTemplate } from '../../../src/infrastructure/sql-templates.ts';
6
7
  import { fillTemplate, loadMessage } from '../../../src/infrastructure/message-templates.ts';
7
- import { SqlDialectBase } from '../../../src/abstractions/sql-dialect-base.ts';
8
+ import { sqliteFilesystemPath } from '../../sql/connection-normalizer.ts';
9
+ import { sqlRun } from '../../sql/sql-run.ts';
10
+
11
+ export { sqliteFilesystemPath };
8
12
 
9
13
  const [migratesDdl, migrateLogsDdl, sqlitePrerequisiteTpl] = await Promise.all([
10
14
  readSqlTemplate('sqlite', 'migrates'),
@@ -12,28 +16,28 @@ const [migratesDdl, migrateLogsDdl, sqlitePrerequisiteTpl] = await Promise.all([
12
16
  loadMessage('errors/sqlite-prerequisite'),
13
17
  ]);
14
18
 
15
- export const sqliteFilesystemPath = (connection: string): string | null => {
16
- let s = connection.trim();
17
- const eq = s.indexOf('=');
18
- if (eq >= 0 && /data\s*source/i.test(s.slice(0, eq))) {
19
- s = s.slice(eq + 1).trim();
20
- } else if (/^sqlite:\/\//i.test(s)) {
21
- s = s.slice('sqlite://'.length);
22
- } else if (/^sqlite:/i.test(s)) {
23
- s = s.slice('sqlite:'.length);
24
- } else if (/^file:/i.test(s)) {
25
- s = s.slice('file:'.length);
26
- }
27
- if (s === ':memory:' || s === '') return null;
28
- return s;
29
- };
30
-
31
- export class SqliteDialect extends SqlDialectBase {
19
+ export class SqliteProvider implements IDatasourceProvider {
32
20
  readonly name = 'sqlite' as const;
33
21
  readonly connectionEnvironmentVariables = ['SQLITE_PATH', 'DB_PATH'] as const;
34
22
  readonly migratesDdl = migratesDdl;
35
23
  readonly migrateLogsDdl = migrateLogsDdl;
36
- override readonly usesLastInsertRowid = true;
24
+ readonly usesLastInsertRowid = true;
25
+
26
+ quoteIdent(ident: string): string {
27
+ return `"${ident}"`;
28
+ }
29
+
30
+ nowExpr(): string {
31
+ return 'CURRENT_TIMESTAMP';
32
+ }
33
+
34
+ limitClause(n: number): string {
35
+ return `LIMIT ${n}`;
36
+ }
37
+
38
+ translatePlaceholders(sql: string): string {
39
+ return sql;
40
+ }
37
41
 
38
42
  async prerequisiteError(connection: string): Promise<string | null> {
39
43
  const path = sqliteFilesystemPath(connection);
@@ -49,6 +53,8 @@ export class SqliteDialect extends SqlDialectBase {
49
53
  }
50
54
  }
51
55
 
56
+ async createDatabaseIfMissing(_connection: string): Promise<void> {}
57
+
52
58
  async createClient(connection: string): Promise<MigrationClient> {
53
59
  if (!connection) throw new Error('sqlite requires a database file path');
54
60
  const { default: Database } = await import('better-sqlite3');
@@ -93,4 +99,32 @@ export class SqliteDialect extends SqlDialectBase {
93
99
  },
94
100
  };
95
101
  }
102
+
103
+ setup(connection: string): Promise<void> {
104
+ return sqlRun.setup(this, connection);
105
+ }
106
+
107
+ applied(connection: string): Promise<Map<string, string | null>> {
108
+ return sqlRun.applied(this, connection);
109
+ }
110
+
111
+ migrateUp(connection: string, name: string, body: string, checksum: string): Promise<void> {
112
+ return sqlRun.migrateUp(this, connection, name, body, checksum);
113
+ }
114
+
115
+ migrateDown(connection: string, name: string, body: string): Promise<void> {
116
+ return sqlRun.migrateDown(this, connection, name, body);
117
+ }
118
+
119
+ log(
120
+ connection: string,
121
+ id: ProviderLogId | null,
122
+ name: string,
123
+ direction: string,
124
+ status: string | null,
125
+ durationMs: number,
126
+ error: string | null,
127
+ ): Promise<ProviderLogId> {
128
+ return sqlRun.log(this, connection, id, name, direction, status, durationMs, error);
129
+ }
96
130
  }
@@ -0,0 +1,5 @@
1
+ import { SqlServerProvider } from './sqlserver-provider.ts';
2
+
3
+ export const createProvider = (): SqlServerProvider => new SqlServerProvider();
4
+ export const provider = createProvider;
5
+ export { SqlServerProvider };
@@ -43,11 +43,11 @@ const mssql = vi.hoisted(() => {
43
43
 
44
44
  vi.mock('mssql', () => ({ default: { connect: mssql.connect } }));
45
45
 
46
- import { SqlServerDialect } from './sqlserver-dialect.ts';
46
+ import { SqlServerProvider } from './sqlserver-provider.ts';
47
47
 
48
- const dialect = new SqlServerDialect();
48
+ const dialect = new SqlServerProvider();
49
49
 
50
- describe('SqlServerDialect', () => {
50
+ describe('SqlServerProvider', () => {
51
51
  afterEach(() => {
52
52
  mssql.state.failRollback = false;
53
53
  mssql.state.closed = false;
@@ -106,4 +106,14 @@ describe('SqlServerDialect', () => {
106
106
  await client.close();
107
107
  expect(mssql.state.closed).toBe(true);
108
108
  });
109
+
110
+ it('runs setup, applied, migrate, and log through the sql helper', async () => {
111
+ const url = 'Server=localhost';
112
+ await dialect.setup(url);
113
+ expect(await dialect.applied(url)).toBeInstanceOf(Map);
114
+ await dialect.migrateUp(url, 'a', 'SELECT 1', 'sum');
115
+ await dialect.migrateDown(url, 'a', 'SELECT 1');
116
+ await dialect.log(url, null, 'a', 'up', null, 0, null);
117
+ await dialect.log(url, 1, 'a', 'up', 'ok', 1, null);
118
+ });
109
119
  });