@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
@@ -0,0 +1,66 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ internal sealed record ProviderEntry(string Name, string Location);
4
+
5
+ internal static class MigratersConfig
6
+ {
7
+ internal const string FileName = ".migraters.yaml";
8
+
9
+ internal static IReadOnlyList<ProviderEntry> EnabledProviders()
10
+ {
11
+ var path = FindPath(Environment.CurrentDirectory);
12
+ return path is null ? [] : ParseProviders(File.ReadAllText(path));
13
+ }
14
+
15
+ internal static string? FindPath(string start)
16
+ {
17
+ var dir = Path.GetFullPath(start);
18
+ while (true)
19
+ {
20
+ var candidate = Path.Combine(dir, FileName);
21
+ if (File.Exists(candidate))
22
+ return candidate;
23
+ var parent = Directory.GetParent(dir);
24
+ if (parent is null)
25
+ return null;
26
+ dir = parent.FullName;
27
+ }
28
+ }
29
+
30
+ internal static IReadOnlyList<ProviderEntry> ParseProviders(string raw)
31
+ {
32
+ var entries = new List<ProviderEntry>();
33
+ var inProviders = false;
34
+ string? name = null;
35
+ foreach (var line in raw.Split('\n'))
36
+ {
37
+ var trimmed = line.TrimEnd('\r');
38
+ if (!inProviders)
39
+ {
40
+ if (trimmed.Trim() == "providers:")
41
+ inProviders = true;
42
+ continue;
43
+ }
44
+ var item = trimmed.Trim();
45
+ if (item.StartsWith("- name:", StringComparison.Ordinal))
46
+ {
47
+ name = item["- name:".Length..].Trim();
48
+ continue;
49
+ }
50
+ if (item.StartsWith("location:", StringComparison.Ordinal) && name is not null)
51
+ {
52
+ var location = item["location:".Length..].Trim();
53
+ if (name.Length > 0 && location.Length > 0)
54
+ entries.Add(new ProviderEntry(name, location));
55
+ name = null;
56
+ continue;
57
+ }
58
+ if (item.Length == 0)
59
+ continue;
60
+ if (item.StartsWith("- ", StringComparison.Ordinal))
61
+ continue;
62
+ break;
63
+ }
64
+ return entries;
65
+ }
66
+ }
@@ -41,24 +41,6 @@ internal static class Migrations
41
41
  public static string CatalogName(string stored) =>
42
42
  stored.EndsWith("_up.sql", StringComparison.Ordinal) ? stored[..^"_up.sql".Length] : stored;
43
43
 
44
- public static async Task<Dictionary<string, string?>> AppliedChecksumsAsync(
45
- DbConnection conn,
46
- string sql
47
- )
48
- {
49
- var map = new Dictionary<string, string?>(StringComparer.Ordinal);
50
- using var cmd = conn.CreateCommand();
51
- cmd.CommandText = sql;
52
- using var reader = await cmd.ExecuteReaderAsync().ConfigureAwait(false);
53
- while (await reader.ReadAsync().ConfigureAwait(false))
54
- {
55
- var name = CatalogName(reader.GetString(0));
56
- var checksum = reader.IsDBNull(1) ? null : reader.GetString(1);
57
- map[name] = checksum;
58
- }
59
- return map;
60
- }
61
-
62
44
  public static void AssertNoChecksumDrift(
63
45
  IReadOnlyList<MigrationFile> files,
64
46
  IReadOnlyDictionary<string, string?> applied
@@ -2,7 +2,7 @@
2
2
 
3
3
  namespace Deterministic.MigrateRunner;
4
4
 
5
- internal sealed class MigrateCreate(ISqlDialectFactory dialects) : IMigrateCommand
5
+ internal sealed class MigrateCreate(IProviderFactory providers) : IMigrateCommand
6
6
  {
7
7
  private static readonly string HelpText = HelpTemplates.Read("create");
8
8
 
@@ -13,7 +13,7 @@ internal sealed class MigrateCreate(ISqlDialectFactory dialects) : IMigrateComma
13
13
  if (!TryParse(args, out var provider, out var name, out var migrationsPath, out var showHelp, out var error))
14
14
  return showHelp ? WriteHelp() : Fail(error);
15
15
 
16
- if (!dialects.TryGet(provider, out var dialect))
16
+ if (!providers.TryGet(provider, out var loaded))
17
17
  return Fail(
18
18
  HelpTemplates.Message(
19
19
  "errors/unsupported-provider",
@@ -21,10 +21,10 @@ internal sealed class MigrateCreate(ISqlDialectFactory dialects) : IMigrateComma
21
21
  )
22
22
  );
23
23
 
24
- var dir = migrationsPath ?? $"./sql/{dialect.Name}/migrations";
24
+ var dir = migrationsPath ?? $"./sql/{loaded.Name}/migrations";
25
25
  try
26
26
  {
27
- var created = await new Migrater(dialect).Create(new CreateArg(name, dir)).ConfigureAwait(false);
27
+ var created = await new Migrater(loaded).Create(new CreateArg(name, dir)).ConfigureAwait(false);
28
28
  Console.WriteLine(
29
29
  HelpTemplates.Message("status/created", new Dictionary<string, string> { ["file"] = created.UpName })
30
30
  );
@@ -2,7 +2,7 @@
2
2
 
3
3
  namespace Deterministic.MigrateRunner;
4
4
 
5
- internal sealed class MigrateDown(ISqlDialectFactory dialects, IConnectionResolver connections)
5
+ internal sealed class MigrateDown(IProviderFactory providers, IConnectionResolver connections)
6
6
  : IMigrateCommand
7
7
  {
8
8
  private static readonly string HelpText = HelpTemplates.Read("down");
@@ -14,18 +14,16 @@ internal sealed class MigrateDown(ISqlDialectFactory dialects, IConnectionResolv
14
14
  if (!TryParse(args, out var provider, out var migratePath, out var connection, out var confirm, out var showHelp, out var error))
15
15
  return showHelp ? WriteHelp() : Fail(error);
16
16
 
17
- if (!MigrateCli.TryResolveProvider(dialects, connections, provider, connection, out var dialect, out connection, out error))
18
- return Fail(error);
17
+ var resolved = MigrateCli.ResolveProvider(providers, connections, provider, connection);
18
+ if (resolved is not ProviderResolution.Ready(var loaded, var resolvedConnection))
19
+ return Fail(((ProviderResolution.Rejected)resolved).Error);
19
20
 
20
- if (dialect.PrerequisiteError(connection) is { } prerequisite)
21
- return Fail(prerequisite);
22
-
23
- if (!ConfirmOrAbort(dialect.Name, confirm))
21
+ if (!ConfirmOrAbort(loaded.Name, confirm))
24
22
  return 2;
25
23
 
26
24
  try
27
25
  {
28
- var name = await new Migrater(dialect).Down(new DownArg(connection, migratePath)).ConfigureAwait(false);
26
+ var name = await new Migrater(loaded).Down(new DownArg(resolvedConnection, migratePath)).ConfigureAwait(false);
29
27
  Console.WriteLine(
30
28
  name is null
31
29
  ? HelpTemplates.Message("status/no-rollback")
@@ -14,6 +14,10 @@
14
14
  <ItemGroup>
15
15
  <InternalsVisibleTo Include="MigrateRunner" />
16
16
  <InternalsVisibleTo Include="MigrateRunner.Tests" />
17
+ <InternalsVisibleTo Include="MigrateRunner.ProviderTests" />
18
+ <Compile Remove="MigrateRunner.ProviderTests/**" />
19
+ <Content Remove="MigrateRunner.ProviderTests/**" />
20
+ <None Remove="MigrateRunner.ProviderTests/**" />
17
21
  <InternalsVisibleTo Include="MigrateSqlite" />
18
22
  <InternalsVisibleTo Include="MigratePostgres" />
19
23
  <InternalsVisibleTo Include="MigrateMysql" />
@@ -22,13 +26,14 @@
22
26
  <Compile Remove="Program.cs" />
23
27
  <Compile Remove="MigrateRunner.Tests/**" />
24
28
  <Compile Remove="MigrateInit/**" />
25
- <Compile Remove="Dialects/**" />
29
+ <Compile Remove="Providers/**" />
30
+ <Compile Include="Providers/Sql/**/*.cs" />
26
31
  <Content Remove="MigrateRunner.Tests/**" />
27
32
  <Content Remove="MigrateInit/**" />
28
- <Content Remove="Dialects/**" />
33
+ <Content Remove="Providers/**" />
29
34
  <None Remove="MigrateRunner.Tests/**" />
30
35
  <None Remove="MigrateInit/**" />
31
- <None Remove="Dialects/**" />
36
+ <None Remove="Providers/**" />
32
37
  </ItemGroup>
33
38
 
34
39
  <ItemGroup>
@@ -10,6 +10,7 @@
10
10
  <ImplicitUsings>enable</ImplicitUsings>
11
11
  <IsPackable>false</IsPackable>
12
12
  <UseAppHost>true</UseAppHost>
13
+ <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
13
14
  <NoWarn>$(NoWarn);CA1031;CA1303;CA1812;CA1848;CA2007</NoWarn>
14
15
  </PropertyGroup>
15
16
 
@@ -21,7 +22,7 @@
21
22
  <Compile Include="GlobalUsings.cs" />
22
23
  <Compile Remove="MigrateRunner.Tests/**" />
23
24
  <Compile Remove="MigrateInit/**" />
24
- <Compile Remove="Dialects/**" />
25
+ <Compile Remove="Providers/**" />
25
26
  </ItemGroup>
26
27
 
27
28
  <PropertyGroup>
@@ -33,6 +34,17 @@
33
34
  <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
34
35
  </ItemGroup>
35
36
 
37
+ <Target Name="CopyProviderOutputs" AfterTargets="CopyFilesToOutputDirectory">
38
+ <ItemGroup>
39
+ <_ProviderOutput Include="$(MSBuildThisFileDirectory)Providers\*\bin\$(Configuration)\$(TargetFramework)\**\*.*" />
40
+ </ItemGroup>
41
+ <Copy
42
+ SourceFiles="@(_ProviderOutput)"
43
+ DestinationFiles="@(_ProviderOutput->'$(TargetDir)%(RecursiveDir)%(Filename)%(Extension)')"
44
+ SkipUnchangedFiles="true"
45
+ />
46
+ </Target>
47
+
36
48
  <Target Name="CopyMigrateCommandHosts" AfterTargets="CopyFilesToOutputDirectory">
37
49
  <PropertyGroup>
38
50
  <_MigrateExeExt Condition="$([MSBuild]::IsOSPlatform('Windows'))">.exe</_MigrateExeExt>
@@ -1,55 +1,13 @@
1
- using System.Reflection;
2
-
3
1
  namespace Deterministic.MigrateRunner;
4
2
 
5
3
  internal static class MigrateRunnerServices
6
4
  {
7
- public static IServiceCollection AddMigrateRunner(this IServiceCollection services)
8
- {
9
- foreach (var dialect in LoadDialects())
10
- services.AddSingleton(dialect);
11
- return services
12
- .AddSingleton<ISqlDialectFactory, SqlDialectFactory>()
5
+ public static IServiceCollection AddMigrateRunner(this IServiceCollection services) =>
6
+ services
7
+ .AddSingleton<IProviderFactory, ProviderFactory>()
13
8
  .AddSingleton<IConnectionResolver, ConnectionResolver>()
14
9
  .AddSingleton<IMigrateCommand, MigrateSetup>()
15
10
  .AddSingleton<IMigrateCommand, MigrateUp>()
16
11
  .AddSingleton<IMigrateCommand, MigrateDown>()
17
12
  .AddSingleton<IMigrateCommand, MigrateCreate>();
18
- }
19
-
20
- private static IEnumerable<ISqlDialect> LoadDialects()
21
- {
22
- var dir = AppContext.BaseDirectory;
23
- foreach (var path in Directory.GetFiles(dir, "Migrate*.dll"))
24
- {
25
- var name = Path.GetFileNameWithoutExtension(path);
26
- if (name is "MigrateCore" or "MigrateRunner" or "MigrateRunner.Tests")
27
- continue;
28
- Assembly.LoadFrom(path);
29
- }
30
-
31
- return AppDomain
32
- .CurrentDomain.GetAssemblies()
33
- .SelectMany(SafeTypes)
34
- .Where(t => !t.ContainsGenericParameters)
35
- .Select(t => t.GetField("Instance", BindingFlags.Public | BindingFlags.Static))
36
- .Where(f =>
37
- f is { IsStatic: true }
38
- && !f.FieldType.ContainsGenericParameters
39
- && typeof(ISqlDialect).IsAssignableFrom(f.FieldType)
40
- )
41
- .Select(f => (ISqlDialect)f!.GetValue(null)!);
42
- }
43
-
44
- private static IEnumerable<Type> SafeTypes(Assembly assembly)
45
- {
46
- try
47
- {
48
- return assembly.GetTypes();
49
- }
50
- catch (ReflectionTypeLoadException ex)
51
- {
52
- return ex.Types.OfType<Type>();
53
- }
54
- }
55
13
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  namespace Deterministic.MigrateRunner;
4
4
 
5
- internal sealed class MigrateSetup(ISqlDialectFactory dialects, IConnectionResolver connections)
5
+ internal sealed class MigrateSetup(IProviderFactory providers, IConnectionResolver connections)
6
6
  : IMigrateCommand
7
7
  {
8
8
  private static readonly string HelpText = HelpTemplates.Read("setup");
@@ -14,17 +14,18 @@ internal sealed class MigrateSetup(ISqlDialectFactory dialects, IConnectionResol
14
14
  if (!TryParse(args, out var provider, out var connection, out var migrationsPath, out var andUp, out var createDatabase, out var showHelp, out var error))
15
15
  return showHelp ? WriteHelp() : Fail(error);
16
16
 
17
- if (!MigrateCli.TryResolveProvider(dialects, connections, provider, connection, out var dialect, out connection, out error))
18
- return Fail(error);
17
+ var resolved = MigrateCli.ResolveProvider(providers, connections, provider, connection);
18
+ if (resolved is not ProviderResolution.Ready(var loaded, var resolvedConnection))
19
+ return Fail(((ProviderResolution.Rejected)resolved).Error);
19
20
 
20
- var resolvedMigrationsPath = migrationsPath ?? $"./sql/{dialect.Name}/migrations";
21
- var migrater = new Migrater(dialect);
21
+ var resolvedMigrationsPath = migrationsPath ?? $"./sql/{loaded.Name}/migrations";
22
+ var migrater = new Migrater(loaded);
22
23
 
23
24
  try
24
25
  {
25
26
  if (createDatabase)
26
- await CreateDatabase.RunAsync(dialect, connection).ConfigureAwait(false);
27
- await migrater.Setup(new SetupArg(connection, resolvedMigrationsPath)).ConfigureAwait(false);
27
+ await CreateDatabase.RunAsync(loaded, resolvedConnection).ConfigureAwait(false);
28
+ await migrater.Setup(new SetupArg(resolvedConnection, resolvedMigrationsPath)).ConfigureAwait(false);
28
29
  }
29
30
  catch (Exception ex)
30
31
  {
@@ -36,12 +37,12 @@ internal sealed class MigrateSetup(ISqlDialectFactory dialects, IConnectionResol
36
37
  "setup-complete",
37
38
  new Dictionary<string, string>
38
39
  {
39
- ["dialect"] = dialect.Name,
40
+ ["dialect"] = loaded.Name,
40
41
  ["migrationsPath"] = resolvedMigrationsPath,
41
42
  ["createExample"] =
42
- $" migrate-create --provider {dialect.Name} --name add_users",
43
+ $" migrate-create --provider {loaded.Name} --name add_users",
43
44
  ["upExample"] =
44
- $" migrate-up --provider {dialect.Name} --connection {connection}",
45
+ $" migrate-up --provider {loaded.Name} --connection {resolvedConnection}",
45
46
  }
46
47
  )
47
48
  );
@@ -49,7 +50,7 @@ internal sealed class MigrateSetup(ISqlDialectFactory dialects, IConnectionResol
49
50
  return 0;
50
51
  try
51
52
  {
52
- var names = await migrater.Up(new UpArg(connection, resolvedMigrationsPath)).ConfigureAwait(false);
53
+ var names = await migrater.Up(new UpArg(resolvedConnection, resolvedMigrationsPath)).ConfigureAwait(false);
53
54
  if (names.Count == 0)
54
55
  Console.WriteLine(HelpTemplates.Message("status/no-pending"));
55
56
  else
@@ -2,7 +2,7 @@
2
2
 
3
3
  namespace Deterministic.MigrateRunner;
4
4
 
5
- internal sealed class MigrateUp(ISqlDialectFactory dialects, IConnectionResolver connections)
5
+ internal sealed class MigrateUp(IProviderFactory providers, IConnectionResolver connections)
6
6
  : IMigrateCommand
7
7
  {
8
8
  private static readonly string HelpText = HelpTemplates.Read("up");
@@ -14,15 +14,13 @@ internal sealed class MigrateUp(ISqlDialectFactory dialects, IConnectionResolver
14
14
  if (!TryParse(args, out var provider, out var migratePath, out var connection, out var one, out var showHelp, out var error))
15
15
  return showHelp ? WriteHelp() : Fail(error);
16
16
 
17
- if (!MigrateCli.TryResolveProvider(dialects, connections, provider, connection, out var dialect, out connection, out error))
18
- return Fail(error);
19
-
20
- if (dialect.PrerequisiteError(connection) is { } prerequisite)
21
- return Fail(prerequisite);
17
+ var resolved = MigrateCli.ResolveProvider(providers, connections, provider, connection);
18
+ if (resolved is not ProviderResolution.Ready(var loaded, var resolvedConnection))
19
+ return Fail(((ProviderResolution.Rejected)resolved).Error);
22
20
 
23
21
  try
24
22
  {
25
- var names = await new Migrater(dialect).Up(new UpArg(connection, migratePath, one)).ConfigureAwait(false);
23
+ var names = await new Migrater(loaded).Up(new UpArg(resolvedConnection, migratePath, one)).ConfigureAwait(false);
26
24
  if (names.Count == 0)
27
25
  Console.WriteLine(HelpTemplates.Message("status/no-pending"));
28
26
  else
@@ -9,6 +9,8 @@
9
9
  </PropertyGroup>
10
10
  <ItemGroup>
11
11
  <ProjectReference Include="..\..\MigrateRunner.Core.csproj" />
12
+ <InternalsVisibleTo Include="MigrateRunner.Tests" />
13
+ <InternalsVisibleTo Include="MigrateRunner.ProviderTests" />
12
14
  <PackageReference Include="MySqlConnector" Version="2.4.0" />
13
15
  </ItemGroup>
14
16
  </Project>
@@ -6,7 +6,7 @@ internal static class MysqlCreateDatabase
6
6
  {
7
7
  public static async Task IfMissingAsync(string connection)
8
8
  {
9
- var normalized = MysqlDialect.Instance.NormalizeConnectionString(connection);
9
+ var normalized = MysqlProvider.NormalizeConnection(connection);
10
10
  var b = new MySqlConnectionStringBuilder(normalized);
11
11
  if (string.IsNullOrEmpty(b.Database))
12
12
  return;
@@ -0,0 +1,67 @@
1
+ using MySqlConnector;
2
+
3
+ namespace Deterministic.MigrateRunner;
4
+
5
+ public sealed class MysqlProvider : IDatasourceProvider
6
+ {
7
+ private readonly SqlRun _sql = new(
8
+ "mysql",
9
+ useTransaction: false,
10
+ NormalizeConnection,
11
+ s => new MySqlConnection(s),
12
+ (cmd, n, v) => SqlRun.Bind(cmd, $"@{n}", v),
13
+ ident => $"`{ident}`",
14
+ name => $"@{name}",
15
+ createDatabase: MysqlCreateDatabase.IfMissingAsync
16
+ );
17
+
18
+ public string Name => _sql.Name;
19
+ public void PrepareSetup(string connection) => _sql.PrepareSetup(connection);
20
+ public Task CreateDatabaseIfMissingAsync(string connection) =>
21
+ _sql.CreateDatabaseIfMissingAsync(connection);
22
+ public Task Setup(string connection) => _sql.Setup(connection);
23
+ public Task<IReadOnlyDictionary<string, string?>> Applied(string connection) =>
24
+ _sql.Applied(connection);
25
+ public Task MigrateUp(string connection, string name, string body, string checksum) =>
26
+ _sql.MigrateUp(connection, name, body, checksum);
27
+ public Task MigrateDown(string connection, string name, string body) =>
28
+ _sql.MigrateDown(connection, name, body);
29
+ public Task<long> Log(
30
+ string connection,
31
+ long? id,
32
+ string name,
33
+ string direction,
34
+ string? status,
35
+ long durationMs,
36
+ string? error
37
+ ) => _sql.Log(connection, id, name, direction, status, durationMs, error);
38
+
39
+ internal SqlRun Sql => _sql;
40
+ public string NormalizeConnectionString(string connection) =>
41
+ _sql.NormalizeConnectionString(connection);
42
+
43
+ internal static string NormalizeConnection(string connection)
44
+ {
45
+ if (ConnectionStringUrl.TryUri(connection, "mysql") is not { } url)
46
+ return connection;
47
+ var uri = new Uri(url);
48
+ var b = new MySqlConnectionStringBuilder
49
+ {
50
+ Server = uri.Host,
51
+ Port = (uint)(uri.Port > 0 ? uri.Port : 3306),
52
+ };
53
+ ConnectionStringUrl.ApplyUriParts(
54
+ uri,
55
+ (u, p) =>
56
+ {
57
+ if (u is not null)
58
+ b.UserID = u;
59
+ if (p is not null)
60
+ b.Password = p;
61
+ },
62
+ db => b.Database = db,
63
+ (k, v) => b[k] = v
64
+ );
65
+ return b.ConnectionString;
66
+ }
67
+ }
@@ -9,6 +9,8 @@
9
9
  </PropertyGroup>
10
10
  <ItemGroup>
11
11
  <ProjectReference Include="..\..\MigrateRunner.Core.csproj" />
12
+ <InternalsVisibleTo Include="MigrateRunner.Tests" />
13
+ <InternalsVisibleTo Include="MigrateRunner.ProviderTests" />
12
14
  <PackageReference Include="Oracle.ManagedDataAccess.Core" Version="23.9.1" />
13
15
  </ItemGroup>
14
16
  </Project>
@@ -0,0 +1,43 @@
1
+ using Oracle.ManagedDataAccess.Client;
2
+
3
+ namespace Deterministic.MigrateRunner;
4
+
5
+ public sealed class OracleProvider : IDatasourceProvider
6
+ {
7
+ private readonly SqlRun _sql = new(
8
+ "oracle",
9
+ useTransaction: true,
10
+ ConnectionNormalizer.Oracle,
11
+ s => new OracleConnection(s),
12
+ (cmd, n, v) => SqlRun.Bind(cmd, $":{n}", v),
13
+ ident => $"\"{ident}\"",
14
+ name => $":{name}",
15
+ limitClause: n => $"FETCH FIRST {n} ROWS ONLY"
16
+ );
17
+
18
+ public string Name => _sql.Name;
19
+ public void PrepareSetup(string connection) => _sql.PrepareSetup(connection);
20
+ public Task CreateDatabaseIfMissingAsync(string connection) =>
21
+ _sql.CreateDatabaseIfMissingAsync(connection);
22
+ public Task Setup(string connection) => _sql.Setup(connection);
23
+ public Task<IReadOnlyDictionary<string, string?>> Applied(string connection) =>
24
+ _sql.Applied(connection);
25
+ public Task MigrateUp(string connection, string name, string body, string checksum) =>
26
+ _sql.MigrateUp(connection, name, body, checksum);
27
+ public Task MigrateDown(string connection, string name, string body) =>
28
+ _sql.MigrateDown(connection, name, body);
29
+ public Task<long> Log(
30
+ string connection,
31
+ long? id,
32
+ string name,
33
+ string direction,
34
+ string? status,
35
+ long durationMs,
36
+ string? error
37
+ ) => _sql.Log(connection, id, name, direction, status, durationMs, error);
38
+
39
+ internal SqlRun Sql => _sql;
40
+ public string NormalizeConnectionString(string connection) =>
41
+ _sql.NormalizeConnectionString(connection);
42
+ public string? PrerequisiteError(string connection) => _sql.PrerequisiteError(connection);
43
+ }
@@ -9,6 +9,8 @@
9
9
  </PropertyGroup>
10
10
  <ItemGroup>
11
11
  <ProjectReference Include="..\..\MigrateRunner.Core.csproj" />
12
+ <InternalsVisibleTo Include="MigrateRunner.Tests" />
13
+ <InternalsVisibleTo Include="MigrateRunner.ProviderTests" />
12
14
  <PackageReference Include="Npgsql" Version="9.0.2" />
13
15
  </ItemGroup>
14
16
  </Project>
@@ -12,7 +12,7 @@ internal static class PostgresCreateDatabase
12
12
  var name = uri.AbsolutePath.Trim('/');
13
13
  if (string.IsNullOrEmpty(name) || name == "postgres")
14
14
  return;
15
- var b = new NpgsqlConnectionStringBuilder(PostgresDialect.Instance.NormalizeConnectionString(connection))
15
+ var b = new NpgsqlConnectionStringBuilder(PostgresProvider.NormalizeConnection(connection))
16
16
  {
17
17
  Database = "postgres",
18
18
  };
@@ -0,0 +1,74 @@
1
+ using Npgsql;
2
+
3
+ namespace Deterministic.MigrateRunner;
4
+
5
+ public sealed class PostgresProvider : IDatasourceProvider
6
+ {
7
+ private readonly SqlRun _sql = new(
8
+ "postgres",
9
+ useTransaction: true,
10
+ NormalizeConnection,
11
+ s => new NpgsqlConnection(s),
12
+ SqlRun.Bind,
13
+ ident => $"\"{ident}\"",
14
+ name => $"@{name}",
15
+ createDatabase: PostgresCreateDatabase.IfMissingAsync
16
+ );
17
+
18
+ public string Name => _sql.Name;
19
+ public void PrepareSetup(string connection) => _sql.PrepareSetup(connection);
20
+ public Task CreateDatabaseIfMissingAsync(string connection) =>
21
+ _sql.CreateDatabaseIfMissingAsync(connection);
22
+ public Task Setup(string connection) => _sql.Setup(connection);
23
+ public Task<IReadOnlyDictionary<string, string?>> Applied(string connection) =>
24
+ _sql.Applied(connection);
25
+ public Task MigrateUp(string connection, string name, string body, string checksum) =>
26
+ _sql.MigrateUp(connection, name, body, checksum);
27
+ public Task MigrateDown(string connection, string name, string body) =>
28
+ _sql.MigrateDown(connection, name, body);
29
+ public Task<long> Log(
30
+ string connection,
31
+ long? id,
32
+ string name,
33
+ string direction,
34
+ string? status,
35
+ long durationMs,
36
+ string? error
37
+ ) => _sql.Log(connection, id, name, direction, status, durationMs, error);
38
+
39
+ internal SqlRun Sql => _sql;
40
+ public string NormalizeConnectionString(string connection) =>
41
+ _sql.NormalizeConnectionString(connection);
42
+
43
+ internal static string NormalizeConnection(string connection)
44
+ {
45
+ if (ConnectionStringUrl.TryUri(connection, "postgres", "postgresql") is not { } url)
46
+ return connection;
47
+ var uri = new Uri(url);
48
+ var b = new NpgsqlConnectionStringBuilder
49
+ {
50
+ Host = uri.Host,
51
+ Port = uri.Port > 0 ? uri.Port : 5432,
52
+ };
53
+ ConnectionStringUrl.ApplyUriParts(
54
+ uri,
55
+ (u, p) =>
56
+ {
57
+ if (u is not null)
58
+ b.Username = u;
59
+ if (p is not null)
60
+ b.Password = p;
61
+ },
62
+ db => b.Database = db,
63
+ (k, v) =>
64
+ {
65
+ _ = k switch
66
+ {
67
+ "schema" => b.SearchPath = v,
68
+ _ => b[k] = v,
69
+ };
70
+ }
71
+ );
72
+ return b.ConnectionString;
73
+ }
74
+ }
@@ -13,10 +13,12 @@ using System.Reflection;
13
13
  [assembly: System.Reflection.AssemblyCompanyAttribute("MigratePostgres")]
14
14
  [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
15
15
  [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
16
- [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+777ba4ae542bbfb10d737b757a5af01a396e790d")]
16
+ [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ea6d8496d3fde9a4a11a7a81337ad4b902fbb201")]
17
17
  [assembly: System.Reflection.AssemblyProductAttribute("MigratePostgres")]
18
18
  [assembly: System.Reflection.AssemblyTitleAttribute("MigratePostgres")]
19
19
  [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
20
+ [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("MigrateRunner.Tests")]
21
+ [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("MigrateRunner.ProviderTests")]
20
22
 
21
23
  // Generated by the MSBuild WriteCodeFragment class.
22
24
 
@@ -0,0 +1 @@
1
+ e22b9e44dabdd5016e0fac6c2e003ade9b3c015583ca68fdb7de3ba297a9504e
@@ -11,7 +11,7 @@ build_property.EnforceExtendedAnalyzerRules =
11
11
  build_property.EntryPointFilePath =
12
12
  build_property._SupportedPlatformList = Linux,macOS,Windows
13
13
  build_property.RootNamespace = Deterministic.MigrateRunner
14
- build_property.ProjectDir = /Users/ryan/Projects/migraters/csharp/Dialects/Postgres/
14
+ build_property.ProjectDir = /Users/ryan/Projects/migraters/csharp/Providers/Postgres/
15
15
  build_property.EnableComHosting =
16
16
  build_property.EnableGeneratedComInterfaceComImportInterop =
17
17
  build_property.EffectiveAnalysisLevelStyle = 9.0