@deterministic-code/migraters 0.0.4 → 0.0.5

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 (581) 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/Providers/Mysql/bin/Debug/net9.0/MigrateCore.dll +0 -0
  28. package/csharp/Providers/Mysql/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  29. package/csharp/Providers/Mysql/bin/Debug/net9.0/MigrateMysql.dll +0 -0
  30. package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/MigrateMysql.pdb +0 -0
  31. package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/Debug/net9.0/MigrateMysql.AssemblyInfo.cs +3 -1
  32. package/csharp/Providers/Mysql/obj/MigrateMysql/Debug/net9.0/MigrateMysql.AssemblyInfoInputs.cache +1 -0
  33. package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/Debug/net9.0/MigrateMysql.GeneratedMSBuildEditorConfig.editorconfig +1 -1
  34. package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/Debug/net9.0/MigrateMysql.assets.cache +0 -0
  35. package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/Debug/net9.0/MigrateMysql.csproj.AssemblyReference.cache +0 -0
  36. package/csharp/Providers/Mysql/obj/MigrateMysql/Debug/net9.0/MigrateMysql.csproj.CoreCompileInputs.cache +1 -0
  37. package/csharp/Providers/Mysql/obj/MigrateMysql/Debug/net9.0/MigrateMysql.csproj.FileListAbsolute.txt +63 -0
  38. package/csharp/Providers/Mysql/obj/MigrateMysql/Debug/net9.0/MigrateMysql.dll +0 -0
  39. package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/Debug/net9.0/MigrateMysql.pdb +0 -0
  40. package/csharp/Providers/Mysql/obj/MigrateMysql/Debug/net9.0/MigrateMysql.sourcelink.json +1 -0
  41. package/csharp/Providers/Mysql/obj/MigrateMysql/Debug/net9.0/ref/MigrateMysql.dll +0 -0
  42. package/csharp/Providers/Mysql/obj/MigrateMysql/Debug/net9.0/refint/MigrateMysql.dll +0 -0
  43. package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/MigrateMysql.csproj.nuget.dgspec.json +27 -29
  44. package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/MigrateMysql.csproj.nuget.g.props +3 -3
  45. package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/project.assets.json +5 -6
  46. package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/project.nuget.cache +87 -87
  47. package/csharp/{Dialects → Providers}/Oracle/MigrateOracle.csproj +2 -0
  48. package/csharp/Providers/Oracle/OracleProvider.cs +43 -0
  49. package/csharp/Providers/Oracle/bin/Debug/net9.0/MigrateCore.dll +0 -0
  50. package/csharp/Providers/Oracle/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  51. package/csharp/Providers/Oracle/bin/Debug/net9.0/MigrateOracle.dll +0 -0
  52. package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/MigrateOracle.pdb +0 -0
  53. package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/Debug/net9.0/MigrateOracle.AssemblyInfo.cs +3 -1
  54. package/csharp/Providers/Oracle/obj/MigrateOracle/Debug/net9.0/MigrateOracle.AssemblyInfoInputs.cache +1 -0
  55. package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/Debug/net9.0/MigrateOracle.GeneratedMSBuildEditorConfig.editorconfig +1 -1
  56. package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/Debug/net9.0/MigrateOracle.assets.cache +0 -0
  57. package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/Debug/net9.0/MigrateOracle.csproj.AssemblyReference.cache +0 -0
  58. package/csharp/Providers/Oracle/obj/MigrateOracle/Debug/net9.0/MigrateOracle.csproj.CoreCompileInputs.cache +1 -0
  59. package/csharp/Providers/Oracle/obj/MigrateOracle/Debug/net9.0/MigrateOracle.csproj.FileListAbsolute.txt +63 -0
  60. package/csharp/Providers/Oracle/obj/MigrateOracle/Debug/net9.0/MigrateOracle.dll +0 -0
  61. package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/Debug/net9.0/MigrateOracle.pdb +0 -0
  62. package/csharp/Providers/Oracle/obj/MigrateOracle/Debug/net9.0/MigrateOracle.sourcelink.json +1 -0
  63. package/csharp/Providers/Oracle/obj/MigrateOracle/Debug/net9.0/ref/MigrateOracle.dll +0 -0
  64. package/csharp/Providers/Oracle/obj/MigrateOracle/Debug/net9.0/refint/MigrateOracle.dll +0 -0
  65. package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/MigrateOracle.csproj.nuget.dgspec.json +27 -29
  66. package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/MigrateOracle.csproj.nuget.g.props +3 -3
  67. package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/project.assets.json +5 -6
  68. package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/project.nuget.cache +94 -94
  69. package/csharp/{Dialects → Providers}/Postgres/MigratePostgres.csproj +2 -0
  70. package/csharp/{Dialects → Providers}/Postgres/PostgresCreateDatabase.cs +1 -1
  71. package/csharp/Providers/Postgres/PostgresProvider.cs +67 -0
  72. package/csharp/Providers/Postgres/bin/Debug/net9.0/MigrateCore.dll +0 -0
  73. package/csharp/Providers/Postgres/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  74. package/csharp/Providers/Postgres/bin/Debug/net9.0/MigratePostgres.dll +0 -0
  75. package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/MigratePostgres.pdb +0 -0
  76. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.AssemblyInfo.cs +3 -1
  77. package/csharp/Providers/Postgres/obj/MigratePostgres/Debug/net9.0/MigratePostgres.AssemblyInfoInputs.cache +1 -0
  78. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.GeneratedMSBuildEditorConfig.editorconfig +1 -1
  79. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.assets.cache +0 -0
  80. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.csproj.AssemblyReference.cache +0 -0
  81. package/csharp/Providers/Postgres/obj/MigratePostgres/Debug/net9.0/MigratePostgres.csproj.CoreCompileInputs.cache +1 -0
  82. package/csharp/Providers/Postgres/obj/MigratePostgres/Debug/net9.0/MigratePostgres.csproj.FileListAbsolute.txt +63 -0
  83. package/csharp/Providers/Postgres/obj/MigratePostgres/Debug/net9.0/MigratePostgres.dll +0 -0
  84. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.pdb +0 -0
  85. package/csharp/Providers/Postgres/obj/MigratePostgres/Debug/net9.0/MigratePostgres.sourcelink.json +1 -0
  86. package/csharp/Providers/Postgres/obj/MigratePostgres/Debug/net9.0/ref/MigratePostgres.dll +0 -0
  87. package/csharp/Providers/Postgres/obj/MigratePostgres/Debug/net9.0/refint/MigratePostgres.dll +0 -0
  88. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/MigratePostgres.csproj.nuget.dgspec.json +27 -29
  89. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/MigratePostgres.csproj.nuget.g.props +3 -3
  90. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/project.assets.json +5 -6
  91. package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/project.nuget.cache +87 -87
  92. package/csharp/Providers/Sql/ConnectionNormalizer.cs +78 -0
  93. package/csharp/{Infrastructure → Providers/Sql}/DbExecute.cs +2 -2
  94. package/csharp/Providers/Sql/GlobalUsings.cs +6 -0
  95. package/csharp/{Infrastructure/MigrateLog.cs → Providers/Sql/SqlCatalog.cs} +20 -5
  96. package/csharp/{Abstractions/SqlDialect.cs → Providers/Sql/SqlRun.cs} +77 -5
  97. package/csharp/{Dialects → Providers}/SqlServer/MigrateSqlServer.csproj +2 -0
  98. package/csharp/Providers/SqlServer/SqlServerProvider.cs +45 -0
  99. package/csharp/Providers/SqlServer/bin/Debug/net9.0/MigrateCore.dll +0 -0
  100. package/csharp/Providers/SqlServer/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  101. package/csharp/Providers/SqlServer/bin/Debug/net9.0/MigrateSqlServer.dll +0 -0
  102. package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/MigrateSqlServer.pdb +0 -0
  103. package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/Debug/net9.0/MigrateSqlServer.AssemblyInfo.cs +3 -1
  104. package/csharp/Providers/SqlServer/obj/MigrateSqlServer/Debug/net9.0/MigrateSqlServer.AssemblyInfoInputs.cache +1 -0
  105. package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/Debug/net9.0/MigrateSqlServer.GeneratedMSBuildEditorConfig.editorconfig +1 -1
  106. package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/Debug/net9.0/MigrateSqlServer.assets.cache +0 -0
  107. package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/Debug/net9.0/MigrateSqlServer.csproj.AssemblyReference.cache +0 -0
  108. package/csharp/Providers/SqlServer/obj/MigrateSqlServer/Debug/net9.0/MigrateSqlServer.csproj.CoreCompileInputs.cache +1 -0
  109. package/csharp/Providers/SqlServer/obj/MigrateSqlServer/Debug/net9.0/MigrateSqlServer.csproj.FileListAbsolute.txt +63 -0
  110. package/csharp/Providers/SqlServer/obj/MigrateSqlServer/Debug/net9.0/MigrateSqlServer.dll +0 -0
  111. package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/Debug/net9.0/MigrateSqlServer.pdb +0 -0
  112. package/csharp/Providers/SqlServer/obj/MigrateSqlServer/Debug/net9.0/MigrateSqlServer.sourcelink.json +1 -0
  113. package/csharp/Providers/SqlServer/obj/MigrateSqlServer/Debug/net9.0/ref/MigrateSqlServer.dll +0 -0
  114. package/csharp/Providers/SqlServer/obj/MigrateSqlServer/Debug/net9.0/refint/MigrateSqlServer.dll +0 -0
  115. package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/MigrateSqlServer.csproj.nuget.dgspec.json +27 -29
  116. package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/MigrateSqlServer.csproj.nuget.g.props +3 -3
  117. package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/project.assets.json +5 -6
  118. package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/project.nuget.cache +115 -115
  119. package/csharp/{Dialects → Providers}/Sqlite/MigrateSqlite.csproj +4 -0
  120. package/csharp/Providers/Sqlite/SqliteProvider.cs +71 -0
  121. package/csharp/Providers/Sqlite/bin/Debug/net9.0/DotNetEnv.dll +0 -0
  122. package/csharp/Providers/Sqlite/bin/Debug/net9.0/Microsoft.Data.Sqlite.dll +0 -0
  123. package/csharp/Providers/Sqlite/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll +0 -0
  124. package/csharp/Providers/Sqlite/bin/Debug/net9.0/Microsoft.Extensions.Configuration.dll +0 -0
  125. package/csharp/Providers/Sqlite/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  126. package/csharp/Providers/Sqlite/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll +0 -0
  127. package/csharp/Providers/Sqlite/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll +0 -0
  128. package/csharp/Providers/Sqlite/bin/Debug/net9.0/MigrateCore.dll +0 -0
  129. package/csharp/Providers/Sqlite/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  130. package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/MigrateSqlite.deps.json +1 -0
  131. package/csharp/Providers/Sqlite/bin/Debug/net9.0/MigrateSqlite.dll +0 -0
  132. package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/MigrateSqlite.pdb +0 -0
  133. package/csharp/Providers/Sqlite/bin/Debug/net9.0/SQLitePCLRaw.batteries_v2.dll +0 -0
  134. package/csharp/Providers/Sqlite/bin/Debug/net9.0/SQLitePCLRaw.core.dll +0 -0
  135. package/csharp/Providers/Sqlite/bin/Debug/net9.0/SQLitePCLRaw.provider.e_sqlite3.dll +0 -0
  136. package/csharp/Providers/Sqlite/bin/Debug/net9.0/Superpower.dll +0 -0
  137. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/browser-wasm/nativeassets/net9.0/e_sqlite3.a +0 -0
  138. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-arm/native/libe_sqlite3.so +0 -0
  139. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-arm64/native/libe_sqlite3.so +0 -0
  140. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-armel/native/libe_sqlite3.so +0 -0
  141. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-mips64/native/libe_sqlite3.so +0 -0
  142. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-musl-arm/native/libe_sqlite3.so +0 -0
  143. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-musl-arm64/native/libe_sqlite3.so +0 -0
  144. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-musl-s390x/native/libe_sqlite3.so +0 -0
  145. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-musl-x64/native/libe_sqlite3.so +0 -0
  146. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-ppc64le/native/libe_sqlite3.so +0 -0
  147. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-s390x/native/libe_sqlite3.so +0 -0
  148. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-x64/native/libe_sqlite3.so +0 -0
  149. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/linux-x86/native/libe_sqlite3.so +0 -0
  150. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib +0 -0
  151. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/maccatalyst-x64/native/libe_sqlite3.dylib +0 -0
  152. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/osx-arm64/native/libe_sqlite3.dylib +0 -0
  153. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/osx-x64/native/libe_sqlite3.dylib +0 -0
  154. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/win-arm/native/e_sqlite3.dll +0 -0
  155. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/win-arm64/native/e_sqlite3.dll +0 -0
  156. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/win-x64/native/e_sqlite3.dll +0 -0
  157. package/csharp/Providers/Sqlite/bin/Debug/net9.0/runtimes/win-x86/native/e_sqlite3.dll +0 -0
  158. package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/Debug/net9.0/MigrateSqlite.AssemblyInfo.cs +3 -1
  159. package/csharp/Providers/Sqlite/obj/MigrateSqlite/Debug/net9.0/MigrateSqlite.AssemblyInfoInputs.cache +1 -0
  160. package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/Debug/net9.0/MigrateSqlite.GeneratedMSBuildEditorConfig.editorconfig +1 -1
  161. package/csharp/Providers/Sqlite/obj/MigrateSqlite/Debug/net9.0/MigrateSqlite.assets.cache +0 -0
  162. package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/Debug/net9.0/MigrateSqlite.csproj.AssemblyReference.cache +0 -0
  163. package/csharp/Providers/Sqlite/obj/MigrateSqlite/Debug/net9.0/MigrateSqlite.csproj.CoreCompileInputs.cache +1 -0
  164. package/csharp/Providers/Sqlite/obj/MigrateSqlite/Debug/net9.0/MigrateSqlite.csproj.FileListAbsolute.txt +95 -0
  165. package/csharp/Providers/Sqlite/obj/MigrateSqlite/Debug/net9.0/MigrateSqlite.dll +0 -0
  166. package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/Debug/net9.0/MigrateSqlite.pdb +0 -0
  167. package/csharp/Providers/Sqlite/obj/MigrateSqlite/Debug/net9.0/MigrateSqlite.sourcelink.json +1 -0
  168. package/csharp/Providers/Sqlite/obj/MigrateSqlite/Debug/net9.0/ref/MigrateSqlite.dll +0 -0
  169. package/csharp/Providers/Sqlite/obj/MigrateSqlite/Debug/net9.0/refint/MigrateSqlite.dll +0 -0
  170. package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/MigrateSqlite.csproj.nuget.dgspec.json +28 -26
  171. package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/MigrateSqlite.csproj.nuget.g.props +3 -3
  172. package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/project.assets.json +11 -7
  173. package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/project.nuget.cache +92 -92
  174. package/orchestrator/dist/config.d.ts +3 -2
  175. package/orchestrator/dist/config.js +30 -8
  176. package/orchestrator/dist/manifests.js +6 -6
  177. package/orchestrator/dist/migrate-create.js +0 -0
  178. package/orchestrator/dist/migrate-down.js +0 -0
  179. package/orchestrator/dist/migrate-init.js +0 -0
  180. package/orchestrator/dist/migrate-setup.js +0 -0
  181. package/orchestrator/dist/migrate-up.js +0 -0
  182. package/orchestrator/dist/provider-location.d.ts +7 -0
  183. package/orchestrator/dist/provider-location.js +23 -0
  184. package/orchestrator/dist/run-init.js +2 -2
  185. package/orchestrator/prepare.js +16 -3
  186. package/package.json +14 -8
  187. package/rust/Cargo.lock +1 -0
  188. package/rust/Cargo.toml +3 -0
  189. package/rust/api/src/lib.rs +99 -151
  190. package/rust/providers/mysql/Cargo.lock +1430 -0
  191. package/rust/{dialects → providers}/mysql/Cargo.toml +1 -0
  192. package/rust/{dialects → providers}/mysql/src/lib.rs +11 -10
  193. package/rust/providers/oracle/Cargo.lock +486 -0
  194. package/rust/{dialects → providers}/oracle/Cargo.toml +1 -0
  195. package/rust/{dialects → providers}/oracle/src/lib.rs +17 -29
  196. package/rust/providers/postgres/Cargo.lock +1344 -0
  197. package/rust/{dialects → providers}/postgres/Cargo.toml +1 -0
  198. package/rust/{dialects → providers}/postgres/src/lib.rs +12 -10
  199. package/rust/providers/sql/Cargo.toml +8 -0
  200. package/rust/providers/sql/src/lib.rs +262 -0
  201. package/rust/providers/sql/src/normalize.rs +63 -0
  202. package/rust/providers/sqlite/Cargo.lock +1143 -0
  203. package/rust/{dialects → providers}/sqlite/Cargo.toml +1 -0
  204. package/rust/{dialects → providers}/sqlite/src/lib.rs +28 -35
  205. package/rust/providers/sqlserver/Cargo.lock +793 -0
  206. package/rust/{dialects → providers}/sqlserver/Cargo.toml +1 -0
  207. package/rust/{dialects → providers}/sqlserver/src/lib.rs +16 -12
  208. package/rust/src/abstractions/factory.rs +30 -6
  209. package/rust/src/abstractions/mod.rs +1 -1
  210. package/rust/src/abstractions/sql_dialect.rs +1 -1
  211. package/rust/src/attached_dialects.rs +1 -1
  212. package/rust/src/infrastructure/pool.rs +85 -26
  213. package/rust/src/lib.rs +212 -16
  214. package/rust/src/migrater.rs +70 -58
  215. package/rust/src/migraters_config.rs +90 -0
  216. package/typescript/bundle.yaml +15 -15
  217. package/typescript/package.json +6 -4
  218. package/typescript/providers/mysql/src/index.ts +5 -0
  219. package/typescript/{dialects/mysql/src/mysql-dialect.test.ts → providers/mysql/src/mysql-provider.test.ts} +13 -3
  220. package/typescript/{dialects/mysql/src/mysql-dialect.ts → providers/mysql/src/mysql-provider.ts} +49 -2
  221. package/typescript/providers/oracle/src/index.ts +5 -0
  222. package/typescript/{dialects/oracle/src/oracle-dialect.test.ts → providers/oracle/src/oracle-provider.test.ts} +14 -3
  223. package/typescript/{dialects/oracle/src/oracle-dialect.ts → providers/oracle/src/oracle-provider.ts} +46 -19
  224. package/typescript/providers/postgres/src/index.ts +5 -0
  225. package/typescript/{dialects/postgres/src/postgres-dialect.test.ts → providers/postgres/src/postgres-provider.test.ts} +13 -3
  226. package/typescript/{dialects/postgres/src/postgres-dialect.ts → providers/postgres/src/postgres-provider.ts} +38 -2
  227. package/typescript/providers/sql/connection-normalizer.ts +48 -0
  228. package/typescript/providers/sql/sql-run.ts +153 -0
  229. package/typescript/providers/sqlite/src/index.ts +5 -0
  230. package/typescript/providers/sqlite/src/sqlite-provider.paths.test.ts +28 -0
  231. package/typescript/{dialects/sqlite/src/sqlite-dialect.rollback.test.ts → providers/sqlite/src/sqlite-provider.rollback.test.ts} +3 -3
  232. package/typescript/{dialects/sqlite/src/sqlite-dialect.test.ts → providers/sqlite/src/sqlite-provider.test.ts} +11 -23
  233. package/typescript/{dialects/sqlite/src/sqlite-dialect.ts → providers/sqlite/src/sqlite-provider.ts} +53 -19
  234. package/typescript/providers/sqlserver/src/index.ts +5 -0
  235. package/typescript/{dialects/sqlserver/src/sqlserver-dialect.test.ts → providers/sqlserver/src/sqlserver-provider.test.ts} +13 -3
  236. package/typescript/{dialects/sqlserver/src/sqlserver-dialect.ts → providers/sqlserver/src/sqlserver-provider.ts} +37 -2
  237. package/typescript/src/abstractions/datasource-provider.ts +26 -0
  238. package/typescript/src/abstractions/sql-dialect-factory.ts +7 -7
  239. package/typescript/src/abstractions/sql-dialect.ts +1 -18
  240. package/typescript/src/cli.ts +7 -5
  241. package/typescript/src/datasource-migrate.ts +29 -146
  242. package/typescript/src/index.ts +6 -0
  243. package/typescript/src/infrastructure/connection-resolver.ts +5 -5
  244. package/typescript/src/infrastructure/default-factory.test.ts +17 -0
  245. package/typescript/src/infrastructure/default-factory.ts +30 -27
  246. package/typescript/src/infrastructure/migraters-config.ts +53 -0
  247. package/typescript/src/migrater.ts +33 -44
  248. package/typescript/src/setup-sql.test.ts +6 -4
  249. package/typescript/tsconfig.build.json +2 -2
  250. package/csharp/Abstractions/ISqlDialect.cs +0 -23
  251. package/csharp/Abstractions/ISqlDialectFactory.cs +0 -7
  252. package/csharp/Abstractions/SqlDialectFactory.cs +0 -24
  253. package/csharp/Dialects/Mysql/MysqlDialect.cs +0 -44
  254. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateCore.dll +0 -0
  255. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  256. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.dll +0 -0
  257. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.AssemblyInfoInputs.cache +0 -1
  258. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.CoreCompileInputs.cache +0 -1
  259. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.FileListAbsolute.txt +0 -63
  260. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.dll +0 -0
  261. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.sourcelink.json +0 -1
  262. package/csharp/Dialects/Mysql/obj/Debug/net9.0/ref/MigrateMysql.dll +0 -0
  263. package/csharp/Dialects/Mysql/obj/Debug/net9.0/refint/MigrateMysql.dll +0 -0
  264. package/csharp/Dialects/Oracle/OracleDialect.cs +0 -30
  265. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateCore.dll +0 -0
  266. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  267. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.dll +0 -0
  268. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.AssemblyInfoInputs.cache +0 -1
  269. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.CoreCompileInputs.cache +0 -1
  270. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.FileListAbsolute.txt +0 -63
  271. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.dll +0 -0
  272. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.sourcelink.json +0 -1
  273. package/csharp/Dialects/Oracle/obj/Debug/net9.0/ref/MigrateOracle.dll +0 -0
  274. package/csharp/Dialects/Oracle/obj/Debug/net9.0/refint/MigrateOracle.dll +0 -0
  275. package/csharp/Dialects/Postgres/PostgresDialect.cs +0 -43
  276. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigrateCore.dll +0 -0
  277. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  278. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.dll +0 -0
  279. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.AssemblyInfoInputs.cache +0 -1
  280. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.CoreCompileInputs.cache +0 -1
  281. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.FileListAbsolute.txt +0 -63
  282. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.dll +0 -0
  283. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.sourcelink.json +0 -1
  284. package/csharp/Dialects/Postgres/obj/Debug/net9.0/ref/MigratePostgres.dll +0 -0
  285. package/csharp/Dialects/Postgres/obj/Debug/net9.0/refint/MigratePostgres.dll +0 -0
  286. package/csharp/Dialects/SqlServer/SqlServerDialect.cs +0 -21
  287. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateCore.dll +0 -0
  288. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  289. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.dll +0 -0
  290. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.AssemblyInfoInputs.cache +0 -1
  291. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.CoreCompileInputs.cache +0 -1
  292. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.FileListAbsolute.txt +0 -63
  293. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.dll +0 -0
  294. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.sourcelink.json +0 -1
  295. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/ref/MigrateSqlServer.dll +0 -0
  296. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/refint/MigrateSqlServer.dll +0 -0
  297. package/csharp/Dialects/Sqlite/SqliteDialect.cs +0 -77
  298. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateCore.dll +0 -0
  299. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  300. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.dll +0 -0
  301. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.AssemblyInfoInputs.cache +0 -1
  302. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.assets.cache +0 -0
  303. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.CoreCompileInputs.cache +0 -1
  304. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.FileListAbsolute.txt +0 -63
  305. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.dll +0 -0
  306. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.sourcelink.json +0 -1
  307. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/ref/MigrateSqlite.dll +0 -0
  308. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/refint/MigrateSqlite.dll +0 -0
  309. package/rust/src/dialects/mod.rs +0 -4
  310. package/typescript/dialects/mysql/src/index.ts +0 -4
  311. package/typescript/dialects/oracle/src/index.ts +0 -4
  312. package/typescript/dialects/postgres/src/index.ts +0 -4
  313. package/typescript/dialects/sqlite/src/index.ts +0 -4
  314. package/typescript/dialects/sqlserver/src/index.ts +0 -4
  315. package/typescript/src/abstractions/sql-dialect-base.ts +0 -38
  316. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/MigrateMysql.deps.json +0 -0
  317. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/cli.yaml +0 -0
  318. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/help/create.txt +0 -0
  319. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/help/down.txt +0 -0
  320. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/help/init.txt +0 -0
  321. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/help/setup.txt +0 -0
  322. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/help/up.txt +0 -0
  323. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -0
  324. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -0
  325. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -0
  326. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -0
  327. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -0
  328. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -0
  329. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -0
  330. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -0
  331. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -0
  332. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -0
  333. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -0
  334. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -0
  335. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -0
  336. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -0
  337. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -0
  338. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -0
  339. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -0
  340. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -0
  341. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -0
  342. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -0
  343. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -0
  344. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -0
  345. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -0
  346. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -0
  347. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/status/created.txt +0 -0
  348. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -0
  349. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -0
  350. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -0
  351. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -0
  352. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/scaffold/down.sql +0 -0
  353. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/scaffold/up.sql +0 -0
  354. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -0
  355. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -0
  356. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -0
  357. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -0
  358. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -0
  359. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -0
  360. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -0
  361. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -0
  362. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -0
  363. /package/csharp/{Dialects → Providers}/Mysql/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -0
  364. /package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -0
  365. /package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/Debug/net9.0/MigrateM.E580FE7A.Up2Date +0 -0
  366. /package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/Debug/net9.0/MigrateMysql.GlobalUsings.g.cs +0 -0
  367. /package/csharp/{Dialects/Mysql/obj → Providers/Mysql/obj/MigrateMysql}/MigrateMysql.csproj.nuget.g.targets +0 -0
  368. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/MigrateOracle.deps.json +0 -0
  369. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/cli.yaml +0 -0
  370. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/help/create.txt +0 -0
  371. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/help/down.txt +0 -0
  372. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/help/init.txt +0 -0
  373. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/help/setup.txt +0 -0
  374. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/help/up.txt +0 -0
  375. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -0
  376. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -0
  377. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -0
  378. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -0
  379. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -0
  380. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -0
  381. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -0
  382. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -0
  383. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -0
  384. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -0
  385. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -0
  386. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -0
  387. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -0
  388. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -0
  389. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -0
  390. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -0
  391. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -0
  392. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -0
  393. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -0
  394. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -0
  395. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -0
  396. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -0
  397. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -0
  398. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -0
  399. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/status/created.txt +0 -0
  400. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -0
  401. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -0
  402. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -0
  403. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -0
  404. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/scaffold/down.sql +0 -0
  405. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/scaffold/up.sql +0 -0
  406. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -0
  407. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -0
  408. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -0
  409. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -0
  410. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -0
  411. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -0
  412. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -0
  413. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -0
  414. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -0
  415. /package/csharp/{Dialects → Providers}/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -0
  416. /package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -0
  417. /package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/Debug/net9.0/MigrateO.BD46121C.Up2Date +0 -0
  418. /package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/Debug/net9.0/MigrateOracle.GlobalUsings.g.cs +0 -0
  419. /package/csharp/{Dialects/Oracle/obj → Providers/Oracle/obj/MigrateOracle}/MigrateOracle.csproj.nuget.g.targets +0 -0
  420. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/MigratePostgres.deps.json +0 -0
  421. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/cli.yaml +0 -0
  422. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/help/create.txt +0 -0
  423. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/help/down.txt +0 -0
  424. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/help/init.txt +0 -0
  425. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/help/setup.txt +0 -0
  426. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/help/up.txt +0 -0
  427. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -0
  428. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -0
  429. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -0
  430. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -0
  431. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -0
  432. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -0
  433. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -0
  434. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -0
  435. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -0
  436. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -0
  437. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -0
  438. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -0
  439. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -0
  440. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -0
  441. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -0
  442. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -0
  443. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -0
  444. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -0
  445. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -0
  446. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -0
  447. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -0
  448. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -0
  449. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -0
  450. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -0
  451. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/status/created.txt +0 -0
  452. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -0
  453. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -0
  454. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -0
  455. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -0
  456. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/scaffold/down.sql +0 -0
  457. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/scaffold/up.sql +0 -0
  458. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -0
  459. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -0
  460. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -0
  461. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -0
  462. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -0
  463. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -0
  464. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -0
  465. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -0
  466. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -0
  467. /package/csharp/{Dialects → Providers}/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -0
  468. /package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -0
  469. /package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigrateP.DF842641.Up2Date +0 -0
  470. /package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.GlobalUsings.g.cs +0 -0
  471. /package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/MigratePostgres.csproj.nuget.g.targets +0 -0
  472. /package/csharp/{Dialects → Providers}/SqlServer/SqlServerCreateDatabase.cs +0 -0
  473. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/MigrateSqlServer.deps.json +0 -0
  474. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/cli.yaml +0 -0
  475. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/help/create.txt +0 -0
  476. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/help/down.txt +0 -0
  477. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/help/init.txt +0 -0
  478. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/help/setup.txt +0 -0
  479. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/help/up.txt +0 -0
  480. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -0
  481. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -0
  482. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -0
  483. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -0
  484. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -0
  485. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -0
  486. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -0
  487. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -0
  488. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -0
  489. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -0
  490. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -0
  491. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -0
  492. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -0
  493. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -0
  494. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -0
  495. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -0
  496. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -0
  497. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -0
  498. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -0
  499. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -0
  500. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -0
  501. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -0
  502. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -0
  503. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -0
  504. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/status/created.txt +0 -0
  505. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -0
  506. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -0
  507. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -0
  508. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -0
  509. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/scaffold/down.sql +0 -0
  510. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/scaffold/up.sql +0 -0
  511. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -0
  512. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -0
  513. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -0
  514. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -0
  515. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -0
  516. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -0
  517. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -0
  518. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -0
  519. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -0
  520. /package/csharp/{Dialects → Providers}/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -0
  521. /package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -0
  522. /package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/Debug/net9.0/MigrateS.6604771C.Up2Date +0 -0
  523. /package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/Debug/net9.0/MigrateSqlServer.GlobalUsings.g.cs +0 -0
  524. /package/csharp/{Dialects/SqlServer/obj → Providers/SqlServer/obj/MigrateSqlServer}/MigrateSqlServer.csproj.nuget.g.targets +0 -0
  525. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/cli.yaml +0 -0
  526. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/help/create.txt +0 -0
  527. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/help/down.txt +0 -0
  528. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/help/init.txt +0 -0
  529. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/help/setup.txt +0 -0
  530. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/help/up.txt +0 -0
  531. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -0
  532. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -0
  533. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -0
  534. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -0
  535. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -0
  536. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -0
  537. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -0
  538. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -0
  539. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -0
  540. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -0
  541. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -0
  542. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -0
  543. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -0
  544. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -0
  545. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -0
  546. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -0
  547. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -0
  548. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -0
  549. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -0
  550. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -0
  551. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -0
  552. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -0
  553. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -0
  554. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -0
  555. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/status/created.txt +0 -0
  556. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -0
  557. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -0
  558. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -0
  559. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -0
  560. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/scaffold/down.sql +0 -0
  561. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/scaffold/up.sql +0 -0
  562. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -0
  563. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -0
  564. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -0
  565. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -0
  566. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -0
  567. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -0
  568. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -0
  569. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -0
  570. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -0
  571. /package/csharp/{Dialects → Providers}/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -0
  572. /package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -0
  573. /package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/Debug/net9.0/MigrateS.4867C581.Up2Date +0 -0
  574. /package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/Debug/net9.0/MigrateSqlite.GlobalUsings.g.cs +0 -0
  575. /package/csharp/{Dialects/Sqlite/obj → Providers/Sqlite/obj/MigrateSqlite}/MigrateSqlite.csproj.nuget.g.targets +0 -0
  576. /package/typescript/{dialects → providers}/mysql/package.json +0 -0
  577. /package/typescript/{dialects → providers}/oracle/package.json +0 -0
  578. /package/typescript/{dialects → providers}/postgres/package.json +0 -0
  579. /package/typescript/{src/infrastructure → providers/sql}/split-on-go.ts +0 -0
  580. /package/typescript/{dialects → providers}/sqlite/package.json +0 -0
  581. /package/typescript/{dialects → providers}/sqlserver/package.json +0 -0
@@ -1,8 +1,9 @@
1
1
  import type { Request as MssqlRequest } from 'mssql';
2
+ import type { IDatasourceProvider, ProviderLogId } from '../../../src/abstractions/datasource-provider.ts';
2
3
  import type { MigrationClient, MigrationSqlParam } from '../../../src/migration-client.ts';
3
4
  import { interopDefault } from '../../../src/infrastructure/interop-default.ts';
4
5
  import { readSqlTemplate } from '../../../src/infrastructure/sql-templates.ts';
5
- import { SqlDialectBase } from '../../../src/abstractions/sql-dialect-base.ts';
6
+ import { sqlRun } from '../../sql/sql-run.ts';
6
7
 
7
8
  const [migratesDdl, migrateLogsDdl] = await Promise.all([
8
9
  readSqlTemplate('sqlserver', 'migrates'),
@@ -23,7 +24,7 @@ const bindMssql = (
23
24
  });
24
25
  };
25
26
 
26
- export class SqlServerDialect extends SqlDialectBase {
27
+ export class SqlServerProvider implements IDatasourceProvider {
27
28
  readonly name = 'sqlserver' as const;
28
29
  readonly connectionEnvironmentVariables = ['MSSQL_URL', 'DATABASE_URL'] as const;
29
30
  readonly migratesDdl = migratesDdl;
@@ -41,6 +42,12 @@ export class SqlServerDialect extends SqlDialectBase {
41
42
  return `OFFSET 0 ROWS FETCH NEXT ${n} ROWS ONLY`;
42
43
  }
43
44
 
45
+ async prerequisiteError(_connection: string): Promise<string | null> {
46
+ return null;
47
+ }
48
+
49
+ async prepareSetup(_connection: string): Promise<void> {}
50
+
44
51
  async createDatabaseIfMissing(connection: string): Promise<void> {
45
52
  const match = /(?:^|;)Database=([^;]+)/i.exec(connection);
46
53
  const name = match?.[1]?.trim();
@@ -100,4 +107,32 @@ export class SqlServerDialect extends SqlDialectBase {
100
107
  },
101
108
  };
102
109
  }
110
+
111
+ setup(connection: string): Promise<void> {
112
+ return sqlRun.setup(this, connection);
113
+ }
114
+
115
+ applied(connection: string): Promise<Map<string, string | null>> {
116
+ return sqlRun.applied(this, connection);
117
+ }
118
+
119
+ migrateUp(connection: string, name: string, body: string, checksum: string): Promise<void> {
120
+ return sqlRun.migrateUp(this, connection, name, body, checksum);
121
+ }
122
+
123
+ migrateDown(connection: string, name: string, body: string): Promise<void> {
124
+ return sqlRun.migrateDown(this, connection, name, body);
125
+ }
126
+
127
+ log(
128
+ connection: string,
129
+ id: ProviderLogId | null,
130
+ name: string,
131
+ direction: string,
132
+ status: string | null,
133
+ durationMs: number,
134
+ error: string | null,
135
+ ): Promise<ProviderLogId> {
136
+ return sqlRun.log(this, connection, id, name, direction, status, durationMs, error);
137
+ }
103
138
  }
@@ -0,0 +1,26 @@
1
+ import type { SqlDialect } from '../sql.ts';
2
+
3
+ export type ProviderLogId = string | number | bigint;
4
+
5
+ export interface IDatasourceProvider {
6
+ readonly name: SqlDialect;
7
+ prepareSetup(connection: string): Promise<void>;
8
+ createDatabaseIfMissing(connection: string): Promise<void>;
9
+ setup(connection: string): Promise<void>;
10
+ applied(connection: string): Promise<Map<string, string | null>>;
11
+ migrateUp(connection: string, name: string, body: string, checksum: string): Promise<void>;
12
+ migrateDown(connection: string, name: string, body: string): Promise<void>;
13
+ log(
14
+ connection: string,
15
+ id: ProviderLogId | null,
16
+ name: string,
17
+ direction: string,
18
+ status: string | null,
19
+ durationMs: number,
20
+ error: string | null,
21
+ ): Promise<ProviderLogId>;
22
+ }
23
+
24
+ /** @deprecated Use IDatasourceProvider. */
25
+ export type IDialect = IDatasourceProvider;
26
+ export type ISqlDialect = IDatasourceProvider;
@@ -1,21 +1,21 @@
1
1
  import { normalizeDialect, type SqlDialect } from '../sql.ts';
2
- import type { ISqlDialect } from './sql-dialect.ts';
2
+ import type { IDatasourceProvider } from './datasource-provider.ts';
3
3
 
4
4
  const VALID = 'sqlite, mysql, postgres, sqlserver, oracle';
5
5
 
6
6
  export class SqlDialectFactory {
7
- private readonly byName: Map<SqlDialect, ISqlDialect>;
7
+ private readonly byName: Map<SqlDialect, IDatasourceProvider>;
8
8
 
9
- constructor(dialects: readonly ISqlDialect[]) {
10
- this.byName = new Map(dialects.map((d) => [d.name, d]));
9
+ constructor(providers: readonly IDatasourceProvider[]) {
10
+ this.byName = new Map(providers.map((d) => [d.name, d]));
11
11
  }
12
12
 
13
- tryGet(raw: string): ISqlDialect | undefined {
13
+ tryGet(raw: string): IDatasourceProvider | undefined {
14
14
  const key = normalizeDialect(raw);
15
15
  return key ? this.byName.get(key) : undefined;
16
16
  }
17
17
 
18
- get(raw: string): ISqlDialect {
18
+ get(raw: string): IDatasourceProvider {
19
19
  const dialect = this.tryGet(raw);
20
20
  if (!dialect) {
21
21
  throw new Error(`Unknown SQL dialect "${raw}". Valid: ${VALID}.`);
@@ -23,7 +23,7 @@ export class SqlDialectFactory {
23
23
  return dialect;
24
24
  }
25
25
 
26
- all(): readonly ISqlDialect[] {
26
+ all(): readonly IDatasourceProvider[] {
27
27
  return [...this.byName.values()];
28
28
  }
29
29
  }
@@ -1,18 +1 @@
1
- import type { MigrationClient } from '../migration-client.ts';
2
- import type { SqlDialect } from '../sql.ts';
3
-
4
- export interface ISqlDialect {
5
- readonly name: SqlDialect;
6
- readonly connectionEnvironmentVariables: readonly string[];
7
- readonly migratesDdl: string;
8
- readonly migrateLogsDdl: string;
9
- readonly usesLastInsertRowid: boolean;
10
- quoteIdent(ident: string): string;
11
- nowExpr(): string;
12
- limitClause(n: number): string;
13
- translatePlaceholders(sql: string): string;
14
- prerequisiteError(connection: string): Promise<string | null>;
15
- prepareSetup(connection: string): Promise<void>;
16
- createDatabaseIfMissing(connection: string): Promise<void>;
17
- createClient(connection: string): Promise<MigrationClient>;
18
- }
1
+ export type { IDatasourceProvider, IDialect, ISqlDialect } from './datasource-provider.ts';
@@ -1,5 +1,5 @@
1
1
  import { connectionResolver, defaultDialectFactory } from './infrastructure/default-factory.ts';
2
- import type { ISqlDialect } from './abstractions/sql-dialect.ts';
2
+ import type { IDatasourceProvider } from './abstractions/datasource-provider.ts';
3
3
  import { cliSpec } from './cli-spec.ts';
4
4
  import { fillTemplate, loadMessage } from './infrastructure/message-templates.ts';
5
5
 
@@ -9,7 +9,7 @@ const missingConnectionTpl = await loadMessage('errors/missing-connection');
9
9
 
10
10
  export { missingProviderMsg };
11
11
 
12
- export const requireDialect = (provider: string | null): ISqlDialect => {
12
+ export const requireDialect = (provider: string | null): IDatasourceProvider => {
13
13
  if (!provider) {
14
14
  process.stderr.write(missingProviderMsg);
15
15
  process.exit(2);
@@ -22,12 +22,14 @@ export const requireDialect = (provider: string | null): ISqlDialect => {
22
22
  return dialect;
23
23
  };
24
24
 
25
- export const requireConnection = (dialect: ISqlDialect, fromFlag: string | null): string => {
26
- const connection = connectionResolver.resolve(dialect, fromFlag);
25
+ export const requireConnection = (dialect: IDatasourceProvider, fromFlag: string | null): string => {
26
+ const connection = connectionResolver.resolve(dialect.name, fromFlag);
27
27
  if (!connection) {
28
28
  process.stderr.write(
29
29
  fillTemplate(missingConnectionTpl, {
30
- envVars: dialect.connectionEnvironmentVariables.join(cliSpec.env_var_list_separator),
30
+ envVars: (cliSpec.connection_environment[dialect.name] ?? []).join(
31
+ cliSpec.env_var_list_separator,
32
+ ),
31
33
  }),
32
34
  );
33
35
  process.exit(2);
@@ -1,12 +1,8 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { readFile, readdir, stat } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
- import { defaultDialectFactory } from './infrastructure/default-factory.ts';
5
- import { splitOnGo } from './infrastructure/split-on-go.ts';
6
4
  import { fillTemplate, loadMessage } from './infrastructure/message-templates.ts';
7
- import type { ISqlDialect } from './abstractions/sql-dialect.ts';
8
- import type { MigrationClient, MigrationRowValue } from './migration-client.ts';
9
- import type { SqlDialect } from './sql.ts';
5
+ import type { IDatasourceProvider } from './abstractions/datasource-provider.ts';
10
6
 
11
7
  export { normalizeDialect } from './sql.ts';
12
8
  export type {
@@ -15,6 +11,7 @@ export type {
15
11
  MigrationSqlParam,
16
12
  SqliteRawDatabase,
17
13
  } from './migration-client.ts';
14
+ export type { IDatasourceProvider, ProviderLogId } from './abstractions/datasource-provider.ts';
18
15
  export { applyMysqlDdlViaTextProtocol } from './infrastructure/mysql-text-protocol.ts';
19
16
 
20
17
  /** One discovered migration: its up script and the rollback sibling when present. */
@@ -51,7 +48,7 @@ export async function discoverMigrations({
51
48
  migratePath: string;
52
49
  dialect: string;
53
50
  }): Promise<MigrationDescriptor[]> {
54
- requireDialect(dialect);
51
+ void dialect;
55
52
  let st;
56
53
  try {
57
54
  st = await stat(migratePath);
@@ -86,15 +83,17 @@ export function checksum(text: string): string {
86
83
  }
87
84
 
88
85
  export async function applyOneUp({
89
- client,
86
+ provider,
87
+ connection,
90
88
  migrations,
91
89
  env = process.env,
92
90
  }: {
93
- client: MigrationClient;
91
+ provider: IDatasourceProvider;
92
+ connection: string;
94
93
  migrations: MigrationDescriptor[];
95
94
  env?: NodeJS.ProcessEnv;
96
95
  }): Promise<{ applied: boolean; name: string | null }> {
97
- const applied = await appliedRecords(client);
96
+ const applied = await provider.applied(connection);
98
97
  await assertNoChecksumDrift({ migrations, applied, env });
99
98
  const next = migrations.find((m) => !applied.has(m.name));
100
99
  if (!next) return { applied: false, name: null };
@@ -102,49 +101,33 @@ export async function applyOneUp({
102
101
  const sqlText = await readFile(next.upPath, 'utf8');
103
102
  const sum = checksum(sqlText);
104
103
 
105
- const logId = await insertLogStarted(client, next.name, 'up');
104
+ const logId = await provider.log(connection, null, next.name, 'up', null, 0, null);
106
105
  const startedAt = Date.now();
107
106
 
108
107
  try {
109
- await client.transaction(async () => {
110
- const stmts = splitOnGo(await readFile(next.upPath, 'utf8'));
111
- for (const stmt of stmts) {
112
- await client.exec(stmt);
113
- }
114
- await insertMigrate(client, next.name, sum);
115
- });
108
+ await provider.migrateUp(connection, next.name, sqlText, sum);
116
109
  } catch (e) {
117
110
  const err = e as Error;
118
- await updateLogTerminal({
119
- client,
120
- id: logId,
121
- status: 'error',
122
- durationMs: Date.now() - startedAt,
123
- errorMessage: String(err?.message ?? e),
124
- });
111
+ await provider.log(connection, logId, next.name, 'up', 'error', Date.now() - startedAt, String(err?.message ?? e));
125
112
  throw e;
126
113
  }
127
114
 
128
- await updateLogTerminal({
129
- client,
130
- id: logId,
131
- status: 'success',
132
- durationMs: Date.now() - startedAt,
133
- errorMessage: null,
134
- });
115
+ await provider.log(connection, logId, next.name, 'up', 'success', Date.now() - startedAt, null);
135
116
  return { applied: true, name: next.name };
136
117
  }
137
118
 
138
119
  export async function applyOneDown({
139
- client,
120
+ provider,
121
+ connection,
140
122
  migrations,
141
123
  env = process.env,
142
124
  }: {
143
- client: MigrationClient;
125
+ provider: IDatasourceProvider;
126
+ connection: string;
144
127
  migrations: MigrationDescriptor[];
145
128
  env?: NodeJS.ProcessEnv;
146
129
  }): Promise<{ rolledBack: boolean; name: string | null }> {
147
- const applied = await appliedRecords(client);
130
+ const applied = await provider.applied(connection);
148
131
  await assertNoChecksumDrift({ migrations, applied, env });
149
132
  if (applied.size === 0) return { rolledBack: false, name: null };
150
133
 
@@ -159,56 +142,29 @@ export async function applyOneDown({
159
142
  }
160
143
  const downPath = lastApplied.downPath;
161
144
 
162
- const logId = await insertLogStarted(client, lastApplied.name, 'down');
145
+ const logId = await provider.log(connection, null, lastApplied.name, 'down', null, 0, null);
163
146
  const startedAt = Date.now();
164
147
 
165
148
  try {
166
- await client.transaction(async () => {
167
- const stmts = splitOnGo(await readFile(downPath, 'utf8'));
168
- for (const stmt of stmts) {
169
- await client.exec(stmt);
170
- }
171
- await deleteMigrate(client, lastApplied.name);
172
- });
149
+ await provider.migrateDown(connection, lastApplied.name, await readFile(downPath, 'utf8'));
173
150
  } catch (e) {
174
151
  const err = e as Error;
175
- await updateLogTerminal({
176
- client,
177
- id: logId,
178
- status: 'error',
179
- durationMs: Date.now() - startedAt,
180
- errorMessage: String(err?.message ?? e),
181
- });
152
+ await provider.log(
153
+ connection,
154
+ logId,
155
+ lastApplied.name,
156
+ 'down',
157
+ 'error',
158
+ Date.now() - startedAt,
159
+ String(err?.message ?? e),
160
+ );
182
161
  throw e;
183
162
  }
184
163
 
185
- await updateLogTerminal({
186
- client,
187
- id: logId,
188
- status: 'success',
189
- durationMs: Date.now() - startedAt,
190
- errorMessage: null,
191
- });
164
+ await provider.log(connection, logId, lastApplied.name, 'down', 'success', Date.now() - startedAt, null);
192
165
  return { rolledBack: true, name: lastApplied.name };
193
166
  }
194
167
 
195
- function dialectOf(client: MigrationClient): ISqlDialect {
196
- return defaultDialectFactory.get(client.dialect);
197
- }
198
-
199
- async function appliedRecords(client: MigrationClient): Promise<Map<string, string | null>> {
200
- const d = dialectOf(client);
201
- const q = (ident: string) => d.quoteIdent(ident);
202
- const rows = await client.query(
203
- `SELECT ${q('name')} AS name, ${q('checksum')} AS checksum FROM ${q('migrates')}`,
204
- );
205
- return new Map(
206
- rows.map(
207
- (r) => [r.name ?? r.NAME, r.checksum ?? r.CHECKSUM ?? null] as [string, string | null],
208
- ),
209
- );
210
- }
211
-
212
168
  async function assertNoChecksumDrift({
213
169
  migrations,
214
170
  applied,
@@ -239,76 +195,3 @@ async function assertNoChecksumDrift({
239
195
  .join('\n');
240
196
  throw new Error(fillTemplate(checksumDriftTpl, { lines }).trimEnd());
241
197
  }
242
-
243
- async function insertMigrate(client: MigrationClient, name: string, sum: string): Promise<void> {
244
- const d = dialectOf(client);
245
- const t = d.quoteIdent('migrates');
246
- await client.run(
247
- `INSERT INTO ${t} (${d.quoteIdent('name')}, ${d.quoteIdent('checksum')}) VALUES (?, ?)`,
248
- [name, sum],
249
- );
250
- }
251
-
252
- async function deleteMigrate(client: MigrationClient, name: string): Promise<void> {
253
- const d = dialectOf(client);
254
- const t = d.quoteIdent('migrates');
255
- await client.run(`DELETE FROM ${t} WHERE ${d.quoteIdent('name')} = ?`, [name]);
256
- }
257
-
258
- async function insertLogStarted(
259
- client: MigrationClient,
260
- name: string,
261
- direction: string,
262
- ): Promise<MigrationRowValue> {
263
- const d = dialectOf(client);
264
- const t = d.quoteIdent('migrate_logs');
265
- if (d.usesLastInsertRowid) {
266
- const stmt = `INSERT INTO ${t} (${d.quoteIdent('migrate_name')}, ${d.quoteIdent('direction')}, ${d.quoteIdent('status')}) VALUES (?, ?, 'started')`;
267
- const db = client._raw;
268
- if (db) {
269
- const info = db.prepare(stmt).run(name, direction);
270
- return info.lastInsertRowid;
271
- }
272
- await client.run(stmt, [name, direction]);
273
- const rows = await client.query(
274
- `SELECT ${d.quoteIdent('id')} AS id FROM ${t} WHERE ${d.quoteIdent('migrate_name')} = ? AND ${d.quoteIdent('direction')} = ? ORDER BY id DESC ${d.limitClause(1)}`,
275
- [name, direction],
276
- );
277
- return rows[0]?.id;
278
- }
279
- await client.run(
280
- `INSERT INTO ${t} (${d.quoteIdent('migrate_name')}, ${d.quoteIdent('direction')}, ${d.quoteIdent('status')}) VALUES (?, ?, 'started')`,
281
- [name, direction],
282
- );
283
- const rows = await client.query(
284
- `SELECT ${d.quoteIdent('id')} AS id FROM ${t} WHERE ${d.quoteIdent('migrate_name')} = ? AND ${d.quoteIdent('direction')} = ? ORDER BY ${d.quoteIdent('id')} DESC ${d.limitClause(1)}`,
285
- [name, direction],
286
- );
287
- return rows[0]?.id ?? rows[0]?.ID;
288
- }
289
-
290
- async function updateLogTerminal({
291
- client,
292
- id,
293
- status,
294
- durationMs,
295
- errorMessage,
296
- }: {
297
- client: MigrationClient;
298
- id: MigrationRowValue;
299
- status: string;
300
- durationMs: number;
301
- errorMessage: string | null;
302
- }): Promise<void> {
303
- const d = dialectOf(client);
304
- const t = d.quoteIdent('migrate_logs');
305
- const setNow = d.nowExpr();
306
- await client.run(
307
- `UPDATE ${t} SET ${d.quoteIdent('status')} = ?, ${d.quoteIdent('finished_at')} = ${setNow}, ${d.quoteIdent('duration_ms')} = ?, ${d.quoteIdent('error_message')} = ?, ${d.quoteIdent('updated')} = ${setNow} WHERE ${d.quoteIdent('id')} = ?`,
308
- [status, durationMs, errorMessage, id],
309
- );
310
- }
311
-
312
- function requireDialect(dialect: string): SqlDialect {
313
- return defaultDialectFactory.get(dialect).name;
314
- }
@@ -7,6 +7,12 @@ export type {
7
7
  SetupArg,
8
8
  UpArg,
9
9
  } from './abstractions/migrater.ts';
10
+ export type {
11
+ IDatasourceProvider,
12
+ IDialect,
13
+ ISqlDialect,
14
+ ProviderLogId,
15
+ } from './abstractions/datasource-provider.ts';
10
16
  export { getMigrater, Migrater } from './migrater.ts';
11
17
  export {
12
18
  fillHelpTemplate,
@@ -1,18 +1,18 @@
1
- import type { ISqlDialect } from '../abstractions/sql-dialect.ts';
1
+ import { cliSpec } from '../cli-spec.ts';
2
2
 
3
3
  export class ConnectionResolver {
4
4
  constructor(private readonly env: NodeJS.ProcessEnv = process.env) {}
5
5
 
6
- fromEnvironment(dialect: ISqlDialect): string | null {
7
- for (const name of dialect.connectionEnvironmentVariables) {
6
+ fromEnvironment(provider: string): string | null {
7
+ for (const name of cliSpec.connection_environment[provider] ?? []) {
8
8
  const value = this.env[name];
9
9
  if (value) return value;
10
10
  }
11
11
  return null;
12
12
  }
13
13
 
14
- resolve(dialect: ISqlDialect, fromFlag: string | null): string | null {
14
+ resolve(provider: string, fromFlag: string | null): string | null {
15
15
  if (fromFlag) return fromFlag;
16
- return this.fromEnvironment(dialect);
16
+ return this.fromEnvironment(provider);
17
17
  }
18
18
  }
@@ -1,5 +1,6 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import { defaultDialectFactory } from './default-factory.ts';
3
+ import { parseProviders } from './migraters-config.ts';
3
4
 
4
5
  describe('defaultDialectFactory', () => {
5
6
  it('registers every dialect name and alias', () => {
@@ -27,4 +28,20 @@ describe('defaultDialectFactory', () => {
27
28
  expect(defaultDialectFactory.tryGet('nope')).toBeUndefined();
28
29
  expect(() => defaultDialectFactory.get('nope')).toThrow(/Unknown SQL dialect/);
29
30
  });
31
+
32
+ it('reads the providers list migrate-init writes', () => {
33
+ expect(
34
+ parseProviders(
35
+ `language: typescript
36
+ providers:
37
+ - name: sqlite
38
+ location: typescript/providers/sqlite/src/index.ts
39
+ - name: postgres
40
+ location: typescript/providers/postgres/src/index.ts
41
+ binDir: typescript/dist/src/bin
42
+ `,
43
+ ).map((p) => p.name),
44
+ ).toEqual(['sqlite', 'postgres']);
45
+ expect(parseProviders('language: rust\nproviders: []\nbinDir: rust/target/debug\n')).toEqual([]);
46
+ });
30
47
  });
@@ -1,41 +1,44 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { dirname, join } from 'node:path';
3
- import { fileURLToPath, pathToFileURL } from 'node:url';
2
+ import { isAbsolute, resolve } from 'node:path';
3
+ import { pathToFileURL } from 'node:url';
4
4
  import { SqlDialectFactory } from '../abstractions/sql-dialect-factory.ts';
5
- import type { ISqlDialect } from '../abstractions/sql-dialect.ts';
5
+ import type { IDatasourceProvider } from '../abstractions/datasource-provider.ts';
6
6
  import { ConnectionResolver } from './connection-resolver.ts';
7
+ import { enabledProviders } from './migraters-config.ts';
7
8
 
8
- const DIALECT_PACKAGES = [
9
- 'sqlite',
10
- 'postgres',
11
- 'mysql',
12
- 'sqlserver',
13
- 'oracle',
14
- ] as const;
15
-
16
- const dialectEntry = (name: string): string => {
17
- const here = dirname(fileURLToPath(import.meta.url));
18
- const ext = import.meta.url.endsWith('.ts') ? '.ts' : '.js';
19
- return join(here, '..', '..', 'dialects', name, 'src', `index${ext}`);
9
+ const loadModule = async (
10
+ location: string,
11
+ configDir: string,
12
+ ): Promise<IDatasourceProvider> => {
13
+ const relative = isAbsolute(location) ? location : resolve(configDir, location);
14
+ const stripped = location.startsWith('typescript/')
15
+ ? resolve(configDir, location.slice('typescript/'.length))
16
+ : relative;
17
+ const file = existsSync(relative) ? relative : stripped;
18
+ const specifier = existsSync(file) ? pathToFileURL(file).href : location;
19
+ const mod = (await import(specifier)) as {
20
+ provider?: () => IDatasourceProvider;
21
+ createProvider?: () => IDatasourceProvider;
22
+ };
23
+ const create = mod.provider ?? mod.createProvider;
24
+ if (typeof create !== 'function') throw new Error(location);
25
+ return create();
20
26
  };
21
27
 
22
- const loadInstalledDialects = async (): Promise<ISqlDialect[]> => {
23
- const loaded: ISqlDialect[] = [];
24
- for (const name of DIALECT_PACKAGES) {
25
- const file = dialectEntry(name);
26
- if (!existsSync(file)) continue;
28
+ const loadInstalledProviders = async (): Promise<IDatasourceProvider[]> => {
29
+ const { configDir, entries } = enabledProviders();
30
+ const loaded: IDatasourceProvider[] = [];
31
+ for (const entry of entries) {
27
32
  try {
28
- const mod = (await import(pathToFileURL(file).href)) as { createDialect?: () => ISqlDialect };
29
- if (typeof mod.createDialect === 'function') {
30
- loaded.push(mod.createDialect());
31
- }
32
- } catch {
33
- // Dialect is compiled and drivers are installed by migrate-init.
33
+ loaded.push(await loadModule(entry.location, configDir));
34
+ } catch (err) {
35
+ if (err instanceof Error && err.message === entry.name) throw err;
36
+ throw new Error(entry.name, { cause: err });
34
37
  }
35
38
  }
36
39
  return loaded;
37
40
  };
38
41
 
39
- export const defaultDialectFactory = new SqlDialectFactory(await loadInstalledDialects());
42
+ export const defaultDialectFactory = new SqlDialectFactory(await loadInstalledProviders());
40
43
 
41
44
  export const connectionResolver = new ConnectionResolver();
@@ -0,0 +1,53 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { dirname, join, resolve } from 'node:path';
3
+
4
+ export const CONFIG_NAME = '.migraters.yaml';
5
+
6
+ export type ProviderEntry = { name: string; location: string };
7
+
8
+ export const findConfigPath = (start: string): string | undefined => {
9
+ let dir = resolve(start);
10
+ while (true) {
11
+ const candidate = join(dir, CONFIG_NAME);
12
+ if (existsSync(candidate)) return candidate;
13
+ const parent = dirname(dir);
14
+ if (parent === dir) return undefined;
15
+ dir = parent;
16
+ }
17
+ };
18
+
19
+ export const parseProviders = (raw: string): ProviderEntry[] => {
20
+ const entries: ProviderEntry[] = [];
21
+ let inProviders = false;
22
+ let name: string | undefined;
23
+ for (const line of raw.split('\n')) {
24
+ const trimmed = line.replace(/\r$/, '');
25
+ if (!inProviders) {
26
+ if (trimmed.trim() === 'providers:') inProviders = true;
27
+ continue;
28
+ }
29
+ const item = trimmed.trim();
30
+ if (item.startsWith('- name:')) {
31
+ name = item.slice('- name:'.length).trim();
32
+ continue;
33
+ }
34
+ if (item.startsWith('location:') && name) {
35
+ const location = item.slice('location:'.length).trim();
36
+ if (name.length > 0 && location.length > 0) entries.push({ name, location });
37
+ name = undefined;
38
+ continue;
39
+ }
40
+ if (item.length === 0) continue;
41
+ if (item.startsWith('- ')) continue;
42
+ break;
43
+ }
44
+ return entries;
45
+ };
46
+
47
+ export const enabledProviders = (
48
+ start = process.cwd(),
49
+ ): { configDir: string; entries: ProviderEntry[] } => {
50
+ const path = findConfigPath(start);
51
+ if (!path) return { configDir: start, entries: [] };
52
+ return { configDir: dirname(path), entries: parseProviders(readFileSync(path, 'utf8')) };
53
+ };