@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
package/README.md CHANGED
@@ -1,29 +1,30 @@
1
1
  # Migraters
2
2
 
3
- Migraters tracks SQL changes during development and applies them upstream as the project evolves. As a codebase grows in complexity and team size, keeping those changes tracked and in sync becomes harder. Migraters is built for that.
3
+ [![CI](https://github.com/deterministic-code/migraters/actions/workflows/proof.yml/badge.svg)](https://github.com/deterministic-code/migraters/actions/workflows/proof.yml)
4
+
5
+ Migraters allows you to save SQL changes during development so they can be applied upstream later. As a codebase grows in complexity and team size, keeping those changes tracked and in sync becomes harder. Migraters is built for that.
4
6
 
5
7
  The typical workflow is:
6
8
 
7
9
  * On development, create one or more migration files, test them, and run migrate up.
8
10
  * On deploy, those scripts are copied to production and migrate up is run again, so the upstream database matches development.
9
11
 
10
- The same migrate commands and a consistent API are available in multiple programming languages and across many datasource dialects.
12
+ The migrate commands are available in [many languages](#language-support) and support [many SQL dialects](#providers).
11
13
 
12
- ## Install
14
+ ## Install skill
13
15
 
14
- ### Install from npm
16
+ Agent skill for Claude or Cursor: [skill/SKILL.md](skill/SKILL.md).
15
17
 
16
18
  ```shell
17
- npm install @deterministic-code/migraters
18
- npx migrate-init --language typescript --dialect sqlite --dialect postgres
19
+ npx skills add https://github.com/deterministic-code/migraters/tree/main/skill -g -a cursor -a claude-code -y --copy
19
20
  ```
20
21
 
21
- ### Install skill
22
+ ## Install
22
23
 
23
- Agent skill for Claude or Cursor: [skill/SKILL.md](skill/SKILL.md).
24
+ ### Install from npm
24
25
 
25
26
  ```shell
26
- npx skills add https://github.com/deterministic-code/migraters/tree/main/skill -g -a cursor -a claude-code -y --copy
27
+ npm install @deterministic-code/migraters
27
28
  ```
28
29
 
29
30
  ## Skill Prompts
@@ -38,8 +39,6 @@ Natural-language prompts the [skill](skill/SKILL.md) maps straight to CLI comman
38
39
  | migrate up | `npx migrate-up` |
39
40
  | migrate down | `npx migrate-down` |
40
41
 
41
- `npx migrate-init` replaces the language and dialect set, so “add driver” means re-run init with the same `--language`, the previously enabled dialects, and the new one (for example `npx migrate-init --language typescript --dialect sqlite --dialect postgres --dialect oracle` after a sqlite+postgres install). Flag details are under [Commands](#commands).
42
-
43
42
  ## Quick example
44
43
 
45
44
  `user.sql`:
@@ -55,6 +54,7 @@ CREATE TABLE users (
55
54
  npx migrate-init --language typescript --dialect sqlite
56
55
  npx migrate-setup --provider sqlite --connection ./app.sqlite
57
56
  npx migrate-create --provider sqlite --name add_users
57
+ touch user.sql
58
58
  cat user.sql > sql/sqlite/migrations/0001_add_users_up.sql
59
59
  npx migrate-up --provider sqlite --connection ./app.sqlite
60
60
  ```
@@ -63,7 +63,7 @@ npx migrate-up --provider sqlite --connection ./app.sqlite
63
63
 
64
64
  ### init
65
65
 
66
- Selects the programming language and dialects this tree will compile and install. `migrate-init` is project setup, not an `IMigrater` method, and it does not take `--connection`. `--language` is required (`typescript`, `csharp`, or `rust`). Repeat `--dialect` once per provider (aliases from [`cli.yaml`](cli.yaml) apply: `pg`, `mssql`, `ora`, and the rest). Re-running replaces the previous language and dialect set. `--all` restores every dialect. Init installs that language’s driver dependencies and builds `migrate-setup`, `migrate-up`, `migrate-down`, and `migrate-create`. Later commands dispatch to those binaries.
66
+ The `migrate-init` command installs language and datasource dependencies and builds the migrate commands.
67
67
 
68
68
  ```shell
69
69
  npx migrate-init --language typescript --dialect sqlite --dialect postgres
@@ -71,8 +71,6 @@ npx migrate-init --language csharp --dialect sqlite
71
71
  npx migrate-init --language rust --dialect sqlite
72
72
  ```
73
73
 
74
- `migrate-init` attaches only the selected dialect packages and builds those binaries. TypeScript installs `@deterministic-code/migraters-<dialect>` (one driver each). C# writes `ProjectReference`s to `Dialects/<Name>/Migrate*.csproj` (each project owns one NuGet driver). Rust still enables Cargo features until its pool is split the same way. A clone does not ship or build the full dialect matrix.
75
-
76
74
  ### setup
77
75
 
78
76
  Creates the `migrates` and `migrate_logs` tables and the migrations directory. Idempotent.
package/bundle.yaml CHANGED
@@ -23,7 +23,7 @@ languages:
23
23
  dialects:
24
24
  sqlite:
25
25
  files:
26
- - typescript/dialects/sqlite/**
26
+ - typescript/providers/sqlite/**
27
27
  - shared/templates/sql/sqlite/**
28
28
  apk: sqlite
29
29
  packages:
@@ -31,27 +31,27 @@ languages:
31
31
  installScripts: true
32
32
  postgres:
33
33
  files:
34
- - typescript/dialects/postgres/**
34
+ - typescript/providers/postgres/**
35
35
  - shared/templates/sql/postgres/**
36
36
  apk: postgresql-client
37
37
  packages:
38
38
  - name: pg
39
39
  mysql:
40
40
  files:
41
- - typescript/dialects/mysql/**
41
+ - typescript/providers/mysql/**
42
42
  - shared/templates/sql/mysql/**
43
43
  apk: mysql-client
44
44
  packages:
45
45
  - name: mysql2
46
46
  sqlserver:
47
47
  files:
48
- - typescript/dialects/sqlserver/**
48
+ - typescript/providers/sqlserver/**
49
49
  - shared/templates/sql/sqlserver/**
50
50
  packages:
51
51
  - name: mssql
52
52
  oracle:
53
53
  files:
54
- - typescript/dialects/oracle/**
54
+ - typescript/providers/oracle/**
55
55
  - shared/templates/sql/oracle/**
56
56
  packages:
57
57
  - name: oracledb
@@ -104,26 +104,26 @@ languages:
104
104
  dialects:
105
105
  sqlite:
106
106
  files:
107
- - rust/dialects/sqlite/**
107
+ - rust/providers/sqlite/**
108
108
  - shared/templates/sql/sqlite/**
109
109
  apk: sqlite
110
110
  postgres:
111
111
  files:
112
- - rust/dialects/postgres/**
112
+ - rust/providers/postgres/**
113
113
  - shared/templates/sql/postgres/**
114
114
  apk: postgresql-client
115
115
  mysql:
116
116
  files:
117
- - rust/dialects/mysql/**
117
+ - rust/providers/mysql/**
118
118
  - shared/templates/sql/mysql/**
119
119
  apk: mysql-client
120
120
  sqlserver:
121
121
  files:
122
- - rust/dialects/sqlserver/**
122
+ - rust/providers/sqlserver/**
123
123
  - shared/templates/sql/sqlserver/**
124
124
  oracle:
125
125
  files:
126
- - rust/dialects/oracle/**
126
+ - rust/providers/oracle/**
127
127
  - shared/templates/sql/oracle/**
128
128
  commands:
129
129
  setup: migrate-setup --provider {{provider}}
@@ -183,7 +183,7 @@ languages:
183
183
  dialects:
184
184
  sqlite:
185
185
  files:
186
- - csharp/Dialects/Sqlite/**
186
+ - csharp/Providers/Sqlite/**
187
187
  - shared/templates/sql/sqlite/**
188
188
  apk: sqlite
189
189
  packages:
@@ -191,7 +191,7 @@ languages:
191
191
  version: "9.0.0"
192
192
  postgres:
193
193
  files:
194
- - csharp/Dialects/Postgres/**
194
+ - csharp/Providers/Postgres/**
195
195
  - shared/templates/sql/postgres/**
196
196
  apk: postgresql-client
197
197
  packages:
@@ -199,7 +199,7 @@ languages:
199
199
  version: "9.0.2"
200
200
  mysql:
201
201
  files:
202
- - csharp/Dialects/Mysql/**
202
+ - csharp/Providers/Mysql/**
203
203
  - shared/templates/sql/mysql/**
204
204
  apk: mysql-client
205
205
  packages:
@@ -207,14 +207,14 @@ languages:
207
207
  version: "2.4.0"
208
208
  sqlserver:
209
209
  files:
210
- - csharp/Dialects/SqlServer/**
210
+ - csharp/Providers/SqlServer/**
211
211
  - shared/templates/sql/sqlserver/**
212
212
  packages:
213
213
  - name: Microsoft.Data.SqlClient
214
214
  version: "6.0.2"
215
215
  oracle:
216
216
  files:
217
- - csharp/Dialects/Oracle/**
217
+ - csharp/Providers/Oracle/**
218
218
  - shared/templates/sql/oracle/**
219
219
  packages:
220
220
  - name: Oracle.ManagedDataAccess.Core
@@ -2,5 +2,5 @@ namespace Deterministic.MigrateRunner;
2
2
 
3
3
  internal interface IConnectionResolver
4
4
  {
5
- string? FromEnvironment(ISqlDialect dialect);
5
+ string? FromEnvironment(string provider);
6
6
  }
@@ -0,0 +1,21 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ public interface IDatasourceProvider
4
+ {
5
+ string Name { get; }
6
+ void PrepareSetup(string connection);
7
+ Task CreateDatabaseIfMissingAsync(string connection);
8
+ Task Setup(string connection);
9
+ Task<IReadOnlyDictionary<string, string?>> Applied(string connection);
10
+ Task MigrateUp(string connection, string name, string body, string checksum);
11
+ Task MigrateDown(string connection, string name, string body);
12
+ Task<long> Log(
13
+ string connection,
14
+ long? id,
15
+ string name,
16
+ string direction,
17
+ string? status,
18
+ long durationMs,
19
+ string? error
20
+ );
21
+ }
@@ -0,0 +1,7 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ internal interface IProviderFactory
4
+ {
5
+ bool TryGet(string name, out IDatasourceProvider provider);
6
+ IReadOnlyList<IDatasourceProvider> All();
7
+ }
@@ -0,0 +1,50 @@
1
+ using System.Reflection;
2
+
3
+ namespace Deterministic.MigrateRunner;
4
+
5
+ internal sealed class ProviderFactory : IProviderFactory
6
+ {
7
+ private readonly IDatasourceProvider[] _all;
8
+ private readonly IReadOnlyDictionary<string, IDatasourceProvider> _byName;
9
+
10
+ public ProviderFactory()
11
+ {
12
+ var providers = LoadEnabled().ToArray();
13
+ _all =
14
+ [
15
+ .. CliSpec.Providers.Select(name => providers.FirstOrDefault(p => p.Name == name))
16
+ .OfType<IDatasourceProvider>(),
17
+ ];
18
+ _byName = providers.ToDictionary(p => p.Name, StringComparer.Ordinal);
19
+ }
20
+
21
+ public IReadOnlyList<IDatasourceProvider> All() => _all;
22
+
23
+ public bool TryGet(string name, out IDatasourceProvider provider)
24
+ {
25
+ var key = MigrateCli.NormalizeProvider(name);
26
+ if (key is not null && _byName.TryGetValue(key, out provider!))
27
+ return true;
28
+ provider = null!;
29
+ return false;
30
+ }
31
+
32
+ private static IEnumerable<IDatasourceProvider> LoadEnabled() =>
33
+ MigratersConfig.EnabledProviders().Select(LoadNamed);
34
+
35
+ private static IDatasourceProvider LoadNamed(ProviderEntry entry)
36
+ {
37
+ var bang = entry.Location.IndexOf('!');
38
+ if (bang <= 0)
39
+ throw new InvalidOperationException(entry.Name);
40
+ var dll = entry.Location[..bang];
41
+ var typeName = entry.Location[(bang + 1)..];
42
+ var path = Path.Combine(AppContext.BaseDirectory, dll);
43
+ if (!File.Exists(path))
44
+ throw new InvalidOperationException(entry.Name);
45
+ var type = Assembly.LoadFrom(path).GetType(typeName);
46
+ if (type is null || Activator.CreateInstance(type) is not IDatasourceProvider provider)
47
+ throw new InvalidOperationException(entry.Name);
48
+ return provider;
49
+ }
50
+ }
@@ -0,0 +1,7 @@
1
+ <Project>
2
+ <!-- Runner and Core share this directory. A shared obj/project.assets.json
3
+ drops SQLite native runtime targets from MigrateRunner.deps.json. -->
4
+ <PropertyGroup>
5
+ <BaseIntermediateOutputPath>obj/$(MSBuildProjectName)/</BaseIntermediateOutputPath>
6
+ </PropertyGroup>
7
+ </Project>
@@ -0,0 +1,7 @@
1
+ <Project>
2
+ <ItemGroup>
3
+ <!-- Each project keeps its own obj folder. The default glob would compile a
4
+ sibling project's generated AssemblyInfo and duplicate attributes. -->
5
+ <Compile Remove="obj/**/*.cs" />
6
+ </ItemGroup>
7
+ </Project>
@@ -1,4 +1,3 @@
1
- global using System.Data.Common;
2
1
  global using System.Globalization;
3
2
  global using System.Text;
4
3
  global using System.Text.RegularExpressions;
@@ -11,6 +11,7 @@ internal static class CliSpec
11
11
  string[] Providers,
12
12
  string[] Languages,
13
13
  IReadOnlyDictionary<string, string> ProviderAliases,
14
+ IReadOnlyDictionary<string, string[]> ConnectionEnvironment,
14
15
  string EnvVarListSeparator,
15
16
  Command[] Commands
16
17
  );
@@ -19,6 +20,8 @@ internal static class CliSpec
19
20
 
20
21
  internal static IReadOnlyList<string> Providers => Document.Providers;
21
22
  internal static IReadOnlyDictionary<string, string> ProviderAliases => Document.ProviderAliases;
23
+ internal static IReadOnlyDictionary<string, string[]> ConnectionEnvironment =>
24
+ Document.ConnectionEnvironment;
22
25
  internal static string EnvVarListSeparator => Document.EnvVarListSeparator;
23
26
 
24
27
  internal static string UsageLine(string verb)
@@ -60,11 +63,13 @@ internal static class CliSpec
60
63
  var providers = new List<string>();
61
64
  var languages = new List<string>();
62
65
  var providerAliases = new Dictionary<string, string>(StringComparer.Ordinal);
66
+ var connectionEnvironment = new Dictionary<string, string[]>(StringComparer.Ordinal);
63
67
  var envVarListSeparator = " / ";
64
68
  var commands = new List<Command>();
65
69
  var inProviders = false;
66
70
  var inLanguages = false;
67
71
  var inAliases = false;
72
+ var inConnectionEnv = false;
68
73
  var inCommands = false;
69
74
  string? currentVerb = null;
70
75
  var currentArgs = new List<Arg>();
@@ -90,6 +95,7 @@ internal static class CliSpec
90
95
  inProviders = false;
91
96
  inLanguages = false;
92
97
  inAliases = false;
98
+ inConnectionEnv = false;
93
99
  if (!line.StartsWith("commands:", StringComparison.Ordinal))
94
100
  {
95
101
  inCommands = false;
@@ -121,6 +127,11 @@ internal static class CliSpec
121
127
  inAliases = true;
122
128
  continue;
123
129
  }
130
+ if (line.StartsWith("connection_environment:", StringComparison.Ordinal))
131
+ {
132
+ inConnectionEnv = true;
133
+ continue;
134
+ }
124
135
  if (line.StartsWith("commands:", StringComparison.Ordinal))
125
136
  {
126
137
  inCommands = true;
@@ -153,6 +164,19 @@ internal static class CliSpec
153
164
  }
154
165
  continue;
155
166
  }
167
+ if (inConnectionEnv)
168
+ {
169
+ var envLine = line.Trim();
170
+ var colon = envLine.IndexOf(':');
171
+ if (colon > 0)
172
+ {
173
+ var name = envLine[..colon].Trim();
174
+ var list = envLine[(colon + 1)..].Trim().Trim('[', ']');
175
+ connectionEnvironment[name] = list
176
+ .Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
177
+ }
178
+ continue;
179
+ }
156
180
  if (!inCommands)
157
181
  continue;
158
182
  var trimmed = line.Trim();
@@ -184,7 +208,15 @@ internal static class CliSpec
184
208
  }
185
209
  }
186
210
  Flush();
187
- return new Spec(command, [.. providers], [.. languages], providerAliases, envVarListSeparator, [.. commands]);
211
+ return new Spec(
212
+ command,
213
+ [.. providers],
214
+ [.. languages],
215
+ providerAliases,
216
+ connectionEnvironment,
217
+ envVarListSeparator,
218
+ [.. commands]
219
+ );
188
220
  }
189
221
 
190
222
  internal static string StripKey(string raw) =>
@@ -2,8 +2,8 @@ namespace Deterministic.MigrateRunner;
2
2
 
3
3
  internal sealed class ConnectionResolver : IConnectionResolver
4
4
  {
5
- public string? FromEnvironment(ISqlDialect dialect) =>
6
- dialect
7
- .ConnectionEnvironmentVariables.Select(Environment.GetEnvironmentVariable)
8
- .FirstOrDefault(v => !string.IsNullOrEmpty(v));
5
+ public string? FromEnvironment(string provider) =>
6
+ CliSpec.ConnectionEnvironment.TryGetValue(provider, out var names)
7
+ ? names.Select(Environment.GetEnvironmentVariable).FirstOrDefault(v => !string.IsNullOrEmpty(v))
8
+ : null;
9
9
  }
@@ -2,6 +2,6 @@ namespace Deterministic.MigrateRunner;
2
2
 
3
3
  internal static class CreateDatabase
4
4
  {
5
- public static Task RunAsync(ISqlDialect dialect, string connection) =>
6
- dialect.CreateDatabaseIfMissingAsync(connection);
5
+ public static Task RunAsync(IDatasourceProvider provider, string connection) =>
6
+ provider.CreateDatabaseIfMissingAsync(connection);
7
7
  }
@@ -27,43 +27,38 @@ internal static class MigrateCli
27
27
  sub = sub["migrate-".Length..];
28
28
  return sub.ToLowerInvariant();
29
29
  }
30
- internal static bool TryResolveProvider(
31
- ISqlDialectFactory dialects,
30
+ internal static ProviderResolution ResolveProvider(
31
+ IProviderFactory providers,
32
32
  IConnectionResolver connections,
33
33
  string provider,
34
- string? connection,
35
- out ISqlDialect dialect,
36
- out string resolvedConnection,
37
- out string error
34
+ string? connection
38
35
  )
39
36
  {
40
- dialect = null!;
41
- resolvedConnection = connection ?? string.Empty;
42
- error = string.Empty;
43
- if (!dialects.TryGet(provider, out dialect))
44
- return Fail(
37
+ if (!providers.TryGet(provider, out var resolved))
38
+ {
39
+ return new ProviderResolution.Rejected(
45
40
  HelpTemplates.Message(
46
41
  "errors/unsupported-provider",
47
42
  new Dictionary<string, string> { ["provider"] = provider }
48
- ),
49
- out error
43
+ )
50
44
  );
45
+ }
46
+ var resolvedConnection = connection ?? string.Empty;
51
47
  if (string.IsNullOrEmpty(resolvedConnection))
52
- resolvedConnection = connections.FromEnvironment(dialect) ?? string.Empty;
48
+ resolvedConnection = connections.FromEnvironment(resolved.Name) ?? string.Empty;
53
49
  if (string.IsNullOrEmpty(resolvedConnection))
54
50
  {
55
- return Fail(
51
+ var envVars = CliSpec.ConnectionEnvironment.TryGetValue(resolved.Name, out var names)
52
+ ? names
53
+ : [];
54
+ return new ProviderResolution.Rejected(
56
55
  HelpTemplates.Message(
57
56
  "errors/missing-connection",
58
- new Dictionary<string, string>
59
- {
60
- ["envVars"] = EnvVarsList(dialect.ConnectionEnvironmentVariables),
61
- }
62
- ),
63
- out error
57
+ new Dictionary<string, string> { ["envVars"] = EnvVarsList(envVars) }
58
+ )
64
59
  );
65
60
  }
66
- return true;
61
+ return new ProviderResolution.Ready(resolved, resolvedConnection);
67
62
  }
68
63
 
69
64
  internal static string MigratePath(string provider, string? migratePath, string? migrateRoot) =>
@@ -150,10 +145,11 @@ internal static class MigrateCli
150
145
  new Dictionary<string, string> { ["flag"] = arg }
151
146
  )
152
147
  : HelpTemplates.Message("errors/unknown-arg", new Dictionary<string, string> { ["arg"] = arg });
148
+ }
153
149
 
154
- private static bool Fail(string message, out string error)
155
- {
156
- error = message;
157
- return false;
158
- }
150
+ internal abstract record ProviderResolution
151
+ {
152
+ internal sealed record Ready(IDatasourceProvider Provider, string Connection) : ProviderResolution;
153
+
154
+ internal sealed record Rejected(string Error) : ProviderResolution;
159
155
  }
@@ -1,26 +1,23 @@
1
1
  namespace Deterministic.MigrateRunner;
2
2
 
3
- internal sealed class Migrater(ISqlDialect dialect) : IMigrater
3
+ internal sealed class Migrater(IDatasourceProvider provider) : IMigrater
4
4
  {
5
- public string Name => dialect.Name;
5
+ public string Name => provider.Name;
6
6
 
7
7
  public async Task Setup(SetupArg args)
8
8
  {
9
- dialect.PrepareSetup(args.Connection);
10
- await using var conn = dialect.CreateConnection(dialect.NormalizeConnectionString(args.Connection));
11
- await conn.OpenAsync().ConfigureAwait(false);
12
- await DbExecute.NonQueryAsync(conn, null, dialect.MigratesDdl).ConfigureAwait(false);
13
- await DbExecute.NonQueryAsync(conn, null, dialect.MigrateLogsDdl).ConfigureAwait(false);
9
+ provider.PrepareSetup(args.Connection);
10
+ await provider.Setup(args.Connection).ConfigureAwait(false);
14
11
  Directory.CreateDirectory(args.MigrationsPath);
15
12
  }
16
13
 
17
14
  public async Task<IReadOnlyList<string>> Up(UpArg args)
18
15
  {
19
- await using var conn = dialect.CreateConnection(dialect.NormalizeConnectionString(args.Connection));
20
- await conn.OpenAsync().ConfigureAwait(false);
21
-
22
16
  var files = Migrations.OrderedUpFiles(args.MigrationsPath);
23
- var applied = await Migrations.AppliedChecksumsAsync(conn, dialect.SelectAppliedChecksumSql).ConfigureAwait(false);
17
+ var applied = new Dictionary<string, string?>(
18
+ await provider.Applied(args.Connection).ConfigureAwait(false),
19
+ StringComparer.Ordinal
20
+ );
24
21
  Migrations.AssertNoChecksumDrift(files, applied);
25
22
  var names = new List<string>();
26
23
  while (true)
@@ -31,34 +28,36 @@ internal sealed class Migrater(ISqlDialect dialect) : IMigrater
31
28
 
32
29
  var sql = await File.ReadAllTextAsync(next.UpPath).ConfigureAwait(false);
33
30
  var checksum = Checksum.Hex(sql);
34
- var logId = await MigrateLog.InsertStartedAsync(conn, dialect, next.Name, "up").ConfigureAwait(false);
31
+ var logId = await provider.Log(args.Connection, null, next.Name, "up", null, 0, null)
32
+ .ConfigureAwait(false);
35
33
  var started = DateTime.UtcNow;
36
34
  try
37
35
  {
38
- await DbExecute
39
- .ApplyStatementsAsync(
40
- conn,
41
- dialect,
42
- sql,
43
- tx =>
44
- DbExecute.CatalogWriteAsync(
45
- conn,
46
- tx,
47
- dialect,
48
- dialect.InsertAppliedSql,
49
- ("p1", next.Name),
50
- ("p2", checksum)
51
- )
36
+ await provider.MigrateUp(args.Connection, next.Name, sql, checksum).ConfigureAwait(false);
37
+ await provider
38
+ .Log(
39
+ args.Connection,
40
+ logId,
41
+ next.Name,
42
+ "up",
43
+ "success",
44
+ (long)(DateTime.UtcNow - started).TotalMilliseconds,
45
+ null
52
46
  )
53
47
  .ConfigureAwait(false);
54
- await MigrateLog
55
- .UpdateAsync(conn, dialect, logId, "success", (long)(DateTime.UtcNow - started).TotalMilliseconds, null)
56
- .ConfigureAwait(false);
57
48
  }
58
49
  catch (Exception ex)
59
50
  {
60
- await MigrateLog
61
- .UpdateAsync(conn, dialect, logId, "error", (long)(DateTime.UtcNow - started).TotalMilliseconds, ex.Message)
51
+ await provider
52
+ .Log(
53
+ args.Connection,
54
+ logId,
55
+ next.Name,
56
+ "up",
57
+ "error",
58
+ (long)(DateTime.UtcNow - started).TotalMilliseconds,
59
+ ex.Message
60
+ )
62
61
  .ConfigureAwait(false);
63
62
  throw;
64
63
  }
@@ -72,11 +71,8 @@ internal sealed class Migrater(ISqlDialect dialect) : IMigrater
72
71
 
73
72
  public async Task<string?> Down(DownArg args)
74
73
  {
75
- await using var conn = dialect.CreateConnection(dialect.NormalizeConnectionString(args.Connection));
76
- await conn.OpenAsync().ConfigureAwait(false);
77
-
78
74
  var files = Migrations.OrderedUpFiles(args.MigrationsPath);
79
- var applied = await Migrations.AppliedChecksumsAsync(conn, dialect.SelectAppliedChecksumSql).ConfigureAwait(false);
75
+ var applied = await provider.Applied(args.Connection).ConfigureAwait(false);
80
76
  if (applied.Count == 0)
81
77
  return null;
82
78
  Migrations.AssertNoChecksumDrift(files, applied);
@@ -93,33 +89,36 @@ internal sealed class Migrater(ISqlDialect dialect) : IMigrater
93
89
  )
94
90
  );
95
91
  var sql = await File.ReadAllTextAsync(path).ConfigureAwait(false);
96
- var logId = await MigrateLog.InsertStartedAsync(conn, dialect, last.Name, "down").ConfigureAwait(false);
92
+ var logId = await provider.Log(args.Connection, null, last.Name, "down", null, 0, null)
93
+ .ConfigureAwait(false);
97
94
  var started = DateTime.UtcNow;
98
95
  try
99
96
  {
100
- await DbExecute
101
- .ApplyStatementsAsync(
102
- conn,
103
- dialect,
104
- sql,
105
- tx =>
106
- DbExecute.CatalogWriteAsync(
107
- conn,
108
- tx,
109
- dialect,
110
- dialect.DeleteAppliedSql,
111
- ("p1", last.Name)
112
- )
97
+ await provider.MigrateDown(args.Connection, last.Name, sql).ConfigureAwait(false);
98
+ await provider
99
+ .Log(
100
+ args.Connection,
101
+ logId,
102
+ last.Name,
103
+ "down",
104
+ "success",
105
+ (long)(DateTime.UtcNow - started).TotalMilliseconds,
106
+ null
113
107
  )
114
108
  .ConfigureAwait(false);
115
- await MigrateLog
116
- .UpdateAsync(conn, dialect, logId, "success", (long)(DateTime.UtcNow - started).TotalMilliseconds, null)
117
- .ConfigureAwait(false);
118
109
  }
119
110
  catch (Exception ex)
120
111
  {
121
- await MigrateLog
122
- .UpdateAsync(conn, dialect, logId, "error", (long)(DateTime.UtcNow - started).TotalMilliseconds, ex.Message)
112
+ await provider
113
+ .Log(
114
+ args.Connection,
115
+ logId,
116
+ last.Name,
117
+ "down",
118
+ "error",
119
+ (long)(DateTime.UtcNow - started).TotalMilliseconds,
120
+ ex.Message
121
+ )
123
122
  .ConfigureAwait(false);
124
123
  throw;
125
124
  }