@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,78 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ internal static class ConnectionNormalizer
4
+ {
5
+ public static string Sqlite(string? connection)
6
+ {
7
+ var c = connection ?? string.Empty;
8
+ if (c.Contains('=', StringComparison.Ordinal))
9
+ return c;
10
+ if (c.StartsWith("sqlite://", StringComparison.OrdinalIgnoreCase))
11
+ {
12
+ var path = RelativeDotPath(c["sqlite://".Length..]);
13
+ return string.IsNullOrEmpty(path) ? "Data Source=:memory:" : $"Data Source={path}";
14
+ }
15
+ return string.IsNullOrEmpty(c) ? "Data Source=:memory:" : $"Data Source={c}";
16
+ }
17
+
18
+ public static bool SqliteIsMemory(string? connection)
19
+ {
20
+ var s = (connection ?? string.Empty).Trim();
21
+ if (s.Length == 0 || string.Equals(s, ":memory:", StringComparison.Ordinal))
22
+ return true;
23
+ var compact = s.Replace(" ", string.Empty, StringComparison.Ordinal);
24
+ return compact.Contains(":memory:", StringComparison.OrdinalIgnoreCase)
25
+ || compact.Contains("?mode=memory", StringComparison.OrdinalIgnoreCase)
26
+ || compact.Contains("&mode=memory", StringComparison.OrdinalIgnoreCase)
27
+ || compact.Contains(";mode=memory", StringComparison.OrdinalIgnoreCase)
28
+ || compact.StartsWith("mode=memory", StringComparison.OrdinalIgnoreCase);
29
+ }
30
+
31
+ public static string? SqliteFilesystemPath(string? connection)
32
+ {
33
+ if (SqliteIsMemory(connection))
34
+ return null;
35
+ var s = connection!.Trim();
36
+ var eq = s.IndexOf('=', StringComparison.Ordinal);
37
+ if (eq >= 0)
38
+ {
39
+ var key = s[..eq].Trim().Replace(" ", string.Empty);
40
+ if (string.Equals(key, "DataSource", StringComparison.OrdinalIgnoreCase))
41
+ {
42
+ s = s[(eq + 1)..].Trim();
43
+ var semi = s.IndexOf(';', StringComparison.Ordinal);
44
+ if (semi >= 0)
45
+ s = s[..semi].Trim();
46
+ }
47
+ }
48
+ foreach (var prefix in new[] { "sqlite://", "sqlite:", "file:" })
49
+ {
50
+ if (s.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
51
+ {
52
+ s = s[prefix.Length..];
53
+ break;
54
+ }
55
+ }
56
+ var q = s.IndexOf('?', StringComparison.Ordinal);
57
+ if (q >= 0)
58
+ s = s[..q];
59
+ s = RelativeDotPath(s);
60
+ return s.Length == 0 ? null : s;
61
+ }
62
+
63
+ // sqlite:///./app.sqlite keeps the URI slash and would open /./app.sqlite.
64
+ private static string RelativeDotPath(string path) =>
65
+ path.StartsWith("/./", StringComparison.Ordinal) ? path[1..] : path;
66
+
67
+ public static string Oracle(string connection)
68
+ {
69
+ var slash = connection.IndexOf('/');
70
+ var at = connection.LastIndexOf('@');
71
+ if (slash <= 0 || at <= slash)
72
+ throw new ArgumentException("Oracle connection must look like user/password@connectString");
73
+ var user = connection[..slash];
74
+ var password = connection[(slash + 1)..at];
75
+ var dataSource = connection[(at + 1)..];
76
+ return $"User Id={user};Password={password};Data Source={dataSource}";
77
+ }
78
+ }
@@ -19,7 +19,7 @@ internal static class DbExecute
19
19
  public static async Task CatalogWriteAsync(
20
20
  DbConnection conn,
21
21
  DbTransaction? tx,
22
- ISqlDialect dialect,
22
+ SqlRun dialect,
23
23
  string sql,
24
24
  params (string name, object value)[] parameters
25
25
  )
@@ -35,7 +35,7 @@ internal static class DbExecute
35
35
 
36
36
  public static async Task ApplyStatementsAsync(
37
37
  DbConnection conn,
38
- ISqlDialect dialect,
38
+ SqlRun dialect,
39
39
  string sql,
40
40
  Func<DbTransaction?, Task> catalogWrite
41
41
  )
@@ -0,0 +1,6 @@
1
+ global using System.Collections.Concurrent;
2
+ global using System.Data.Common;
3
+ global using System.Globalization;
4
+ global using System.Text;
5
+ global using System.Text.RegularExpressions;
6
+ global using Deterministic.MigrateRunner;
@@ -1,10 +1,25 @@
1
1
  namespace Deterministic.MigrateRunner;
2
2
 
3
- internal static class MigrateLog
3
+ internal static class SqlCatalog
4
4
  {
5
- public static async Task<long> InsertStartedAsync(
5
+ public static async Task<Dictionary<string, string?>> AppliedAsync(DbConnection conn, SqlRun dialect)
6
+ {
7
+ var map = new Dictionary<string, string?>(StringComparer.Ordinal);
8
+ using var cmd = conn.CreateCommand();
9
+ cmd.CommandText = dialect.SelectAppliedChecksumSql;
10
+ using var reader = await cmd.ExecuteReaderAsync().ConfigureAwait(false);
11
+ while (await reader.ReadAsync().ConfigureAwait(false))
12
+ {
13
+ var name = Migrations.CatalogName(reader.GetString(0));
14
+ var checksum = reader.IsDBNull(1) ? null : reader.GetString(1);
15
+ map[name] = checksum;
16
+ }
17
+ return map;
18
+ }
19
+
20
+ public static async Task<long> InsertLogStartedAsync(
6
21
  DbConnection conn,
7
- ISqlDialect dialect,
22
+ SqlRun dialect,
8
23
  string name,
9
24
  string direction
10
25
  )
@@ -25,9 +40,9 @@ internal static class MigrateLog
25
40
  return Convert.ToInt64(value, CultureInfo.InvariantCulture);
26
41
  }
27
42
 
28
- public static async Task UpdateAsync(
43
+ public static async Task UpdateLogAsync(
29
44
  DbConnection conn,
30
- ISqlDialect dialect,
45
+ SqlRun dialect,
31
46
  long id,
32
47
  string status,
33
48
  long durationMs,
@@ -1,7 +1,8 @@
1
1
  namespace Deterministic.MigrateRunner;
2
2
 
3
- public sealed class SqlDialect : ISqlDialect
3
+ internal sealed class SqlRun
4
4
  {
5
+ private readonly ConcurrentDictionary<string, DbConnection> _open = new(StringComparer.Ordinal);
5
6
  private readonly Func<string, string> _normalize;
6
7
  private readonly Func<string, DbConnection> _createConnection;
7
8
  private readonly Action<DbCommand, string, object> _addParameter;
@@ -12,9 +13,8 @@ public sealed class SqlDialect : ISqlDialect
12
13
  private readonly Func<string, Task>? _createDatabase;
13
14
  private readonly Func<int, string> _limitClause;
14
15
 
15
- public SqlDialect(
16
+ public SqlRun(
16
17
  string name,
17
- IReadOnlyList<string> connectionEnvironmentVariables,
18
18
  bool useTransaction,
19
19
  Func<string, string> normalizeConnectionString,
20
20
  Func<string, DbConnection> createConnection,
@@ -29,7 +29,6 @@ public sealed class SqlDialect : ISqlDialect
29
29
  )
30
30
  {
31
31
  Name = name;
32
- ConnectionEnvironmentVariables = connectionEnvironmentVariables;
33
32
  UseTransaction = useTransaction;
34
33
  NowExpr = nowExpr;
35
34
  _normalize = normalizeConnectionString;
@@ -44,7 +43,6 @@ public sealed class SqlDialect : ISqlDialect
44
43
  }
45
44
 
46
45
  public string Name { get; }
47
- public IReadOnlyList<string> ConnectionEnvironmentVariables { get; }
48
46
  public bool UseTransaction { get; }
49
47
  public string NowExpr { get; }
50
48
  public string MigratesDdl => SqlTemplates.Read(Name, "migrates");
@@ -68,6 +66,67 @@ public sealed class SqlDialect : ISqlDialect
68
66
  public Task CreateDatabaseIfMissingAsync(string connection) =>
69
67
  _createDatabase?.Invoke(connection) ?? Task.CompletedTask;
70
68
 
69
+ public async Task Setup(string connection)
70
+ {
71
+ var conn = await OpenAsync(connection, requireExisting: false).ConfigureAwait(false);
72
+ await DbExecute.NonQueryAsync(conn, null, MigratesDdl).ConfigureAwait(false);
73
+ await DbExecute.NonQueryAsync(conn, null, MigrateLogsDdl).ConfigureAwait(false);
74
+ }
75
+
76
+ public async Task<IReadOnlyDictionary<string, string?>> Applied(string connection)
77
+ {
78
+ var conn = await OpenAsync(connection, requireExisting: true).ConfigureAwait(false);
79
+ return await SqlCatalog.AppliedAsync(conn, this).ConfigureAwait(false);
80
+ }
81
+
82
+ public async Task MigrateUp(string connection, string name, string body, string checksum)
83
+ {
84
+ var conn = await OpenAsync(connection, requireExisting: true).ConfigureAwait(false);
85
+ await DbExecute.ApplyStatementsAsync(
86
+ conn,
87
+ this,
88
+ body,
89
+ tx =>
90
+ DbExecute.CatalogWriteAsync(
91
+ conn,
92
+ tx,
93
+ this,
94
+ InsertAppliedSql,
95
+ ("p1", name),
96
+ ("p2", checksum)
97
+ )
98
+ ).ConfigureAwait(false);
99
+ }
100
+
101
+ public async Task MigrateDown(string connection, string name, string body)
102
+ {
103
+ var conn = await OpenAsync(connection, requireExisting: true).ConfigureAwait(false);
104
+ await DbExecute.ApplyStatementsAsync(
105
+ conn,
106
+ this,
107
+ body,
108
+ tx => DbExecute.CatalogWriteAsync(conn, tx, this, DeleteAppliedSql, ("p1", name))
109
+ ).ConfigureAwait(false);
110
+ }
111
+
112
+ public async Task<long> Log(
113
+ string connection,
114
+ long? id,
115
+ string name,
116
+ string direction,
117
+ string? status,
118
+ long durationMs,
119
+ string? error
120
+ )
121
+ {
122
+ var conn = await OpenAsync(connection, requireExisting: id is not null).ConfigureAwait(false);
123
+ if (id is null)
124
+ return await SqlCatalog.InsertLogStartedAsync(conn, this, name, direction).ConfigureAwait(false);
125
+ await SqlCatalog.UpdateLogAsync(conn, this, id.Value, status ?? "started", durationMs, error)
126
+ .ConfigureAwait(false);
127
+ return id.Value;
128
+ }
129
+
71
130
  public static void Bind(DbCommand command, string parameterName, object value)
72
131
  {
73
132
  var p = command.CreateParameter();
@@ -75,4 +134,17 @@ public sealed class SqlDialect : ISqlDialect
75
134
  p.Value = value;
76
135
  command.Parameters.Add(p);
77
136
  }
137
+
138
+ private async Task<DbConnection> OpenAsync(string connection, bool requireExisting)
139
+ {
140
+ if (requireExisting && PrerequisiteError(connection) is { } error)
141
+ throw new InvalidOperationException(error);
142
+ var key = _normalize(connection);
143
+ if (_open.TryGetValue(key, out var existing))
144
+ return existing;
145
+ var conn = _createConnection(key);
146
+ await conn.OpenAsync().ConfigureAwait(false);
147
+ _open[key] = conn;
148
+ return conn;
149
+ }
78
150
  }
@@ -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="Microsoft.Data.SqlClient" Version="6.0.2" />
13
15
  </ItemGroup>
14
16
  </Project>
@@ -0,0 +1,45 @@
1
+ using Microsoft.Data.SqlClient;
2
+
3
+ namespace Deterministic.MigrateRunner;
4
+
5
+ public sealed class SqlServerProvider : IDatasourceProvider
6
+ {
7
+ private readonly SqlRun _sql = new(
8
+ "sqlserver",
9
+ useTransaction: true,
10
+ connection => connection,
11
+ s => new SqlConnection(s),
12
+ (cmd, n, v) => SqlRun.Bind(cmd, $"@{n}", v),
13
+ ident => $"[{ident}]",
14
+ name => $"@{name}",
15
+ createDatabase: SqlServerCreateDatabase.IfMissingAsync,
16
+ nowExpr: "SYSUTCDATETIME()",
17
+ limitClause: n => $"OFFSET 0 ROWS FETCH NEXT {n} ROWS ONLY"
18
+ );
19
+
20
+ public string Name => _sql.Name;
21
+ public void PrepareSetup(string connection) => _sql.PrepareSetup(connection);
22
+ public Task CreateDatabaseIfMissingAsync(string connection) =>
23
+ _sql.CreateDatabaseIfMissingAsync(connection);
24
+ public Task Setup(string connection) => _sql.Setup(connection);
25
+ public Task<IReadOnlyDictionary<string, string?>> Applied(string connection) =>
26
+ _sql.Applied(connection);
27
+ public Task MigrateUp(string connection, string name, string body, string checksum) =>
28
+ _sql.MigrateUp(connection, name, body, checksum);
29
+ public Task MigrateDown(string connection, string name, string body) =>
30
+ _sql.MigrateDown(connection, name, body);
31
+ public Task<long> Log(
32
+ string connection,
33
+ long? id,
34
+ string name,
35
+ string direction,
36
+ string? status,
37
+ long durationMs,
38
+ string? error
39
+ ) => _sql.Log(connection, id, name, direction, status, durationMs, error);
40
+
41
+ internal SqlRun Sql => _sql;
42
+ public string NormalizeConnectionString(string connection) =>
43
+ _sql.NormalizeConnectionString(connection);
44
+ public string? PrerequisiteError(string connection) => _sql.PrerequisiteError(connection);
45
+ }
@@ -6,9 +6,13 @@
6
6
  <RootNamespace>Deterministic.MigrateRunner</RootNamespace>
7
7
  <AssemblyName>MigrateSqlite</AssemblyName>
8
8
  <IsPackable>false</IsPackable>
9
+ <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
9
10
  </PropertyGroup>
10
11
  <ItemGroup>
11
12
  <ProjectReference Include="..\..\MigrateRunner.Core.csproj" />
13
+ <InternalsVisibleTo Include="MigrateRunner.Tests" />
14
+ <InternalsVisibleTo Include="MigrateRunner.ProviderTests" />
12
15
  <PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.0" />
16
+ <PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.10" />
13
17
  </ItemGroup>
14
18
  </Project>
@@ -0,0 +1,71 @@
1
+ using Microsoft.Data.Sqlite;
2
+ using SQLitePCL;
3
+
4
+ namespace Deterministic.MigrateRunner;
5
+
6
+ public sealed class SqliteProvider : IDatasourceProvider
7
+ {
8
+ private readonly SqlRun _sql;
9
+
10
+ static SqliteProvider() => Batteries.Init();
11
+
12
+ public SqliteProvider()
13
+ {
14
+ _sql = new SqlRun(
15
+ "sqlite",
16
+ useTransaction: true,
17
+ ConnectionNormalizer.Sqlite,
18
+ s => new SqliteConnection(s),
19
+ (cmd, n, v) => SqlRun.Bind(cmd, $"${n}", v),
20
+ ident => $"\"{ident}\"",
21
+ name => $"${name}",
22
+ connection =>
23
+ {
24
+ var path = ConnectionNormalizer.SqliteFilesystemPath(connection);
25
+ return path is null || File.Exists(path)
26
+ ? null
27
+ : HelpTemplates.Message(
28
+ "errors/sqlite-prerequisite",
29
+ new Dictionary<string, string> { ["path"] = path }
30
+ );
31
+ },
32
+ PrepareParent
33
+ );
34
+ }
35
+
36
+ public string Name => _sql.Name;
37
+ public void PrepareSetup(string connection) => _sql.PrepareSetup(connection);
38
+ public Task CreateDatabaseIfMissingAsync(string connection) =>
39
+ _sql.CreateDatabaseIfMissingAsync(connection);
40
+ public Task Setup(string connection) => _sql.Setup(connection);
41
+ public Task<IReadOnlyDictionary<string, string?>> Applied(string connection) =>
42
+ _sql.Applied(connection);
43
+ public Task MigrateUp(string connection, string name, string body, string checksum) =>
44
+ _sql.MigrateUp(connection, name, body, checksum);
45
+ public Task MigrateDown(string connection, string name, string body) =>
46
+ _sql.MigrateDown(connection, name, body);
47
+ public Task<long> Log(
48
+ string connection,
49
+ long? id,
50
+ string name,
51
+ string direction,
52
+ string? status,
53
+ long durationMs,
54
+ string? error
55
+ ) => _sql.Log(connection, id, name, direction, status, durationMs, error);
56
+
57
+ internal SqlRun Sql => _sql;
58
+ public string NormalizeConnectionString(string connection) =>
59
+ _sql.NormalizeConnectionString(connection);
60
+ public string? PrerequisiteError(string connection) => _sql.PrerequisiteError(connection);
61
+
62
+ private static void PrepareParent(string connection)
63
+ {
64
+ var path = ConnectionNormalizer.SqliteFilesystemPath(connection);
65
+ if (path is null)
66
+ return;
67
+ var parent = Path.GetDirectoryName(path);
68
+ if (!string.IsNullOrEmpty(parent))
69
+ Directory.CreateDirectory(parent);
70
+ }
71
+ }
@@ -1,12 +1,13 @@
1
1
  import { type Language } from './languages.ts';
2
+ import { type ProviderEntry } from './provider-location.ts';
2
3
  export declare const CONFIG_NAME = ".migraters.yaml";
3
4
  export type MigratersConfig = {
4
5
  language: Language;
5
- dialects: string[];
6
+ providers: ProviderEntry[];
6
7
  binDir: string;
7
8
  };
8
9
  export declare const configPath: (dir: string) => string;
9
- export declare const renderConfig: (language: Language, dialects: string[]) => string;
10
+ export declare const renderConfig: (language: Language, dialects: string[], configDir?: string) => string;
10
11
  export declare const writeConfig: (dir: string, language: Language, dialects: string[]) => Promise<string>;
11
12
  export declare const parseConfig: (raw: string) => MigratersConfig;
12
13
  export declare const findConfigPath: (start: string, fallbackRoot?: string) => string | undefined;
@@ -3,29 +3,51 @@ import { readFile, writeFile } from 'node:fs/promises';
3
3
  import { dirname, join } from 'node:path';
4
4
  import { stringify, parse } from 'yaml';
5
5
  import { binDirFor, normalizeLanguage } from "./languages.js";
6
+ import { providerEntries } from "./provider-location.js";
6
7
  export const CONFIG_NAME = '.migraters.yaml';
7
8
  export const configPath = (dir) => join(dir, CONFIG_NAME);
8
- export const renderConfig = (language, dialects) => stringify({
9
+ export const renderConfig = (language, dialects, configDir = '') => stringify({
9
10
  language,
10
- dialects,
11
+ providers: providerEntries(language, dialects, configDir),
11
12
  binDir: binDirFor(language),
12
13
  });
13
14
  export const writeConfig = async (dir, language, dialects) => {
14
15
  const path = configPath(dir);
15
- await writeFile(path, renderConfig(language, dialects));
16
+ await writeFile(path, renderConfig(language, dialects, dir));
17
+ if (language === 'typescript') {
18
+ const tsDir = join(dir, 'typescript');
19
+ if (existsSync(tsDir)) {
20
+ await writeFile(configPath(tsDir), renderConfig(language, dialects, tsDir));
21
+ }
22
+ }
16
23
  return path;
17
24
  };
18
25
  export const parseConfig = (raw) => {
19
26
  const doc = parse(raw);
20
- const language = typeof doc?.language === 'string' ? normalizeLanguage(doc.language) : undefined;
21
- if (!language) {
27
+ if (!doc || typeof doc.language !== 'string') {
22
28
  throw new Error(`${CONFIG_NAME} is missing a valid language`);
23
29
  }
24
- if (!Array.isArray(doc?.dialects) || doc.dialects.some((d) => typeof d !== 'string')) {
25
- throw new Error(`${CONFIG_NAME} is missing a dialects list`);
30
+ const language = normalizeLanguage(doc.language);
31
+ if (!language) {
32
+ throw new Error(`${CONFIG_NAME} is missing a valid language`);
26
33
  }
34
+ const providers = parseProviders(doc);
27
35
  const binDir = typeof doc.binDir === 'string' && doc.binDir.length > 0 ? doc.binDir : binDirFor(language);
28
- return { language, dialects: doc.dialects, binDir };
36
+ return { language, providers, binDir };
37
+ };
38
+ const parseProviders = (doc) => {
39
+ if (Array.isArray(doc.providers)) {
40
+ return doc.providers.map((item) => {
41
+ if (item &&
42
+ typeof item === 'object' &&
43
+ typeof item.name === 'string' &&
44
+ typeof item.location === 'string') {
45
+ return { name: item.name, location: item.location };
46
+ }
47
+ throw new Error(`${CONFIG_NAME} is missing a providers list`);
48
+ });
49
+ }
50
+ throw new Error(`${CONFIG_NAME} is missing a providers list`);
29
51
  };
30
52
  export const findConfigPath = (start, fallbackRoot) => {
31
53
  let dir = start;
@@ -1,9 +1,9 @@
1
1
  const DIALECT_PROJECTS = {
2
- sqlite: 'Dialects/Sqlite/MigrateSqlite.csproj',
3
- postgres: 'Dialects/Postgres/MigratePostgres.csproj',
4
- mysql: 'Dialects/Mysql/MigrateMysql.csproj',
5
- sqlserver: 'Dialects/SqlServer/MigrateSqlServer.csproj',
6
- oracle: 'Dialects/Oracle/MigrateOracle.csproj',
2
+ sqlite: 'Providers/Sqlite/MigrateSqlite.csproj',
3
+ postgres: 'Providers/Postgres/MigratePostgres.csproj',
4
+ mysql: 'Providers/Mysql/MigrateMysql.csproj',
5
+ sqlserver: 'Providers/SqlServer/MigrateSqlServer.csproj',
6
+ oracle: 'Providers/Oracle/MigrateOracle.csproj',
7
7
  };
8
8
  export const cargoDefaultFeaturesLine = (dialects) => `default = [${dialects.map((name) => `"${name}"`).join(', ')}]`;
9
9
  export const setCargoDefaultFeatures = (cargoToml, dialects) => {
@@ -25,7 +25,7 @@ export const setCargoDefaultFeatures = (cargoToml, dialects) => {
25
25
  };
26
26
  export const rustDialectCrate = (dialect) => `migraters-${dialect}`;
27
27
  export const rustDialectIdent = (dialect) => rustDialectCrate(dialect).replaceAll('-', '_');
28
- export const rustDialectPath = (dialect) => `dialects/${dialect}`;
28
+ export const rustDialectPath = (dialect) => `providers/${dialect}`;
29
29
  export const renderAttachedDialects = (dialects) => [
30
30
  '// Generated by migrate-init. Do not edit.',
31
31
  '#![allow(unused_imports)]',
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,7 @@
1
+ import type { Language } from './languages.ts';
2
+ export type ProviderEntry = {
3
+ name: string;
4
+ location: string;
5
+ };
6
+ export declare const providerLocation: (language: Language, name: string, configDir?: string) => string;
7
+ export declare const providerEntries: (language: Language, names: string[], configDir?: string) => ProviderEntry[];
@@ -0,0 +1,23 @@
1
+ import { basename } from 'node:path';
2
+ const csharpType = {
3
+ sqlite: { dll: 'MigrateSqlite.dll', type: 'Deterministic.MigrateRunner.SqliteProvider' },
4
+ postgres: { dll: 'MigratePostgres.dll', type: 'Deterministic.MigrateRunner.PostgresProvider' },
5
+ mysql: { dll: 'MigrateMysql.dll', type: 'Deterministic.MigrateRunner.MysqlProvider' },
6
+ sqlserver: { dll: 'MigrateSqlServer.dll', type: 'Deterministic.MigrateRunner.SqlServerProvider' },
7
+ oracle: { dll: 'MigrateOracle.dll', type: 'Deterministic.MigrateRunner.OracleProvider' },
8
+ };
9
+ export const providerLocation = (language, name, configDir = '') => {
10
+ if (language === 'csharp') {
11
+ const entry = csharpType[name];
12
+ if (!entry)
13
+ throw new Error(name);
14
+ return `${entry.dll}!${entry.type}`;
15
+ }
16
+ if (language === 'typescript') {
17
+ return basename(configDir) === 'typescript'
18
+ ? `providers/${name}/src/index.ts`
19
+ : `typescript/providers/${name}/src/index.ts`;
20
+ }
21
+ return `providers/${name}`;
22
+ };
23
+ export const providerEntries = (language, names, configDir = '') => names.map((name) => ({ name, location: providerLocation(language, name, configDir) }));
@@ -10,7 +10,7 @@ const dialectPackage = (name) => `@deterministic-code/migraters-${name}`;
10
10
  const dialectRuntimeDeps = async (tsRoot, dialects) => {
11
11
  const names = new Set();
12
12
  for (const dialect of dialects) {
13
- const raw = await readFile(join(tsRoot, 'dialects', dialect, 'package.json'), 'utf8');
13
+ const raw = await readFile(join(tsRoot, 'providers', dialect, 'package.json'), 'utf8');
14
14
  const pkg = JSON.parse(raw);
15
15
  for (const name of Object.keys(pkg.dependencies ?? {})) {
16
16
  if (!name.startsWith('@types/'))
@@ -22,7 +22,7 @@ const dialectRuntimeDeps = async (tsRoot, dialects) => {
22
22
  const initTypescript = async (root, dialects) => {
23
23
  const tsRoot = join(root, 'typescript');
24
24
  requireStatus(runCommand(npmCmd(), ['install', ...npmFlags], { cwd: tsRoot }));
25
- const specs = dialects.map((name) => join(tsRoot, 'dialects', name));
25
+ const specs = dialects.map((name) => join(tsRoot, 'providers', name));
26
26
  if (specs.length > 0) {
27
27
  requireStatus(runCommand(npmCmd(), ['install', ...npmFlags, '--no-save', ...specs], { cwd: tsRoot }));
28
28
  }
@@ -5,6 +5,7 @@ import { dirname, join } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
6
 
7
7
  const orch = dirname(fileURLToPath(import.meta.url));
8
+ const root = join(orch, '..');
8
9
  const src = join(orch, 'src', 'migrate-init.ts');
9
10
  const built = join(orch, 'dist', 'migrate-init.js');
10
11
  if (!existsSync(src)) {
@@ -14,8 +15,20 @@ if (!existsSync(src)) {
14
15
  }
15
16
  process.exit(0);
16
17
  }
17
- const result = spawnSync('npx', ['tsc', '-p', join(orch, 'tsconfig.json')], {
18
+ const tsc = join(root, 'node_modules', 'typescript', 'bin', 'tsc');
19
+ if (!existsSync(tsc)) {
20
+ process.stderr.write('typescript is not installed; run npm ci at the repo root\n');
21
+ process.exit(1);
22
+ }
23
+ const result = spawnSync(process.execPath, [tsc, '-p', join(orch, 'tsconfig.json')], {
18
24
  stdio: 'inherit',
19
- shell: process.platform === 'win32',
20
25
  });
21
- process.exit(result.status ?? 1);
26
+ if ((result.status ?? 1) !== 0) {
27
+ process.exit(result.status ?? 1);
28
+ }
29
+ const gitDir = join(root, '.git');
30
+ const hooks = join(root, '.githooks');
31
+ if (existsSync(src) && existsSync(gitDir) && existsSync(hooks)) {
32
+ spawnSync('git', ['config', 'core.hooksPath', '.githooks'], { cwd: root, stdio: 'ignore' });
33
+ }
34
+ process.exit(0);