@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
@@ -7,6 +7,7 @@ edition = "2021"
7
7
  async-trait = "0.1"
8
8
  inventory = "0.3"
9
9
  migraters-api = { path = "../../api" }
10
+ migraters-sql = { path = "../sql" }
10
11
  tiberius = { version = "0.12", default-features = false, features = ["tds73", "chrono", "rustls"] }
11
12
  tokio = { version = "1", features = ["io-util", "net", "rt"] }
12
13
  tokio-util = { version = "0.7", features = ["compat"] }
@@ -3,7 +3,8 @@ use std::future::Future;
3
3
  use std::pin::Pin;
4
4
 
5
5
  use async_trait::async_trait;
6
- use migraters_api::{catalog_name, BoxError, DialectPlugin, MigrationSession, SqlDialect};
6
+ use migraters_api::{catalog_name, BoxError, DialectPlugin, IDatasourceProvider, MigrationDriver};
7
+ use migraters_sql::{SqlDriver, SqlSession};
7
8
  use tiberius::{Client, Config};
8
9
  use tokio::net::TcpStream;
9
10
  use tokio::sync::Mutex;
@@ -11,15 +12,15 @@ use tokio_util::compat::{Compat, TokioAsyncWriteCompatExt};
11
12
 
12
13
  type MssqlClient = Client<Compat<TcpStream>>;
13
14
 
14
- pub struct SqlServerDialect;
15
+ pub struct SqlServerProvider;
15
16
 
16
- pub static SQLSERVER: SqlServerDialect = SqlServerDialect;
17
+ pub static SQLSERVER: SqlServerProvider = SqlServerProvider;
17
18
 
18
19
  inventory::submit! {
19
20
  DialectPlugin { dialect: &SQLSERVER }
20
21
  }
21
22
 
22
- impl SqlDialect for SqlServerDialect {
23
+ impl IDatasourceProvider for SqlServerProvider {
23
24
  fn name(&self) -> &'static str {
24
25
  "sqlserver"
25
26
  }
@@ -62,7 +63,7 @@ impl SqlDialect for SqlServerDialect {
62
63
  fn connect<'a>(
63
64
  &'a self,
64
65
  connection: &'a str,
65
- ) -> Pin<Box<dyn Future<Output = Result<Box<dyn MigrationSession>, BoxError>> + Send + 'a>> {
66
+ ) -> Pin<Box<dyn Future<Output = Result<Box<dyn MigrationDriver>, BoxError>> + Send + 'a>> {
66
67
  Box::pin(async move {
67
68
  let url = self.normalize_connection(connection);
68
69
  let config = Config::from_ado_string(&url)
@@ -71,9 +72,12 @@ impl SqlDialect for SqlServerDialect {
71
72
  let tcp = TcpStream::connect(config.get_addr()).await?;
72
73
  tcp.set_nodelay(true)?;
73
74
  let client = Client::connect(config, tcp.compat_write()).await?;
74
- Ok(Box::new(SqlServerSession {
75
- client: Mutex::new(client),
76
- }) as Box<dyn MigrationSession>)
75
+ Ok(Box::new(SqlDriver::wrap(
76
+ SqlServerSession {
77
+ client: Mutex::new(client),
78
+ },
79
+ &SQLSERVER,
80
+ )) as Box<dyn MigrationDriver>)
77
81
  })
78
82
  }
79
83
  fn create_database<'a>(
@@ -89,7 +93,7 @@ struct SqlServerSession {
89
93
  }
90
94
 
91
95
  #[async_trait]
92
- impl MigrationSession for SqlServerSession {
96
+ impl SqlSession for SqlServerSession {
93
97
  async fn execute(&self, sql: &str) -> Result<(), BoxError> {
94
98
  let mut c = self.client.lock().await;
95
99
  c.execute(sql, &[]).await?;
@@ -210,12 +214,12 @@ async fn create_database(connection: &str) -> Result<(), BoxError> {
210
214
 
211
215
  #[cfg(test)]
212
216
  mod tests {
213
- use super::SqlServerDialect;
214
- use migraters_api::{assert_dialect_surface, SqlDialect};
217
+ use super::SqlServerProvider;
218
+ use migraters_api::{assert_dialect_surface, IDatasourceProvider};
215
219
 
216
220
  #[test]
217
221
  fn surface() {
218
- let d = SqlServerDialect;
222
+ let d = SqlServerProvider;
219
223
  assert_dialect_surface(&d);
220
224
  assert_eq!(d.name(), "sqlserver");
221
225
  assert_eq!(d.connection_env_vars(), &["MSSQL_URL", "DATABASE_URL"]);
@@ -1,17 +1,41 @@
1
+ use std::sync::OnceLock;
2
+
3
+ use crate::migraters_config;
1
4
  use crate::provider::normalize_provider;
2
5
  use migraters_api::registered_dialects;
3
6
 
4
- use super::SqlDialect;
7
+ use super::Dialect;
8
+
9
+ fn enabled() -> &'static [&'static dyn Dialect] {
10
+ static ENABLED: OnceLock<Vec<&'static dyn Dialect>> = OnceLock::new();
11
+ ENABLED
12
+ .get_or_init(|| {
13
+ let registered = registered_dialects();
14
+ migraters_config::enabled_providers()
15
+ .into_iter()
16
+ .map(|entry| {
17
+ let name = normalize_provider(&entry.name).unwrap_or(entry.name.as_str());
18
+ registered
19
+ .iter()
20
+ .copied()
21
+ .find(|dialect| dialect.name() == name)
22
+ .unwrap_or_else(|| panic!("{name}"))
23
+ })
24
+ .collect()
25
+ })
26
+ .as_slice()
27
+ }
5
28
 
6
- pub fn try_get(name: &str) -> Option<&'static dyn SqlDialect> {
29
+ pub fn try_get(name: &str) -> Option<&'static dyn Dialect> {
7
30
  let key = normalize_provider(name)?;
8
- registered_dialects()
9
- .into_iter()
31
+ enabled()
32
+ .iter()
33
+ .copied()
10
34
  .find(|dialect| dialect.name() == key)
11
35
  }
12
36
 
13
- pub fn all() -> Vec<&'static dyn SqlDialect> {
14
- let mut dialects = registered_dialects();
37
+ pub fn all() -> Vec<&'static dyn Dialect> {
38
+ let mut dialects = enabled().to_vec();
15
39
  dialects.sort_by_key(|dialect| dialect.name());
16
40
  dialects
17
41
  }
@@ -2,4 +2,4 @@ mod factory;
2
2
  mod sql_dialect;
3
3
 
4
4
  pub use factory::{all, try_get};
5
- pub use sql_dialect::SqlDialect;
5
+ pub use sql_dialect::{Dialect, IDatasourceProvider, SqlDialect};
@@ -1 +1 @@
1
- pub use migraters_api::SqlDialect;
1
+ pub use migraters_api::{Dialect, IDatasourceProvider, SqlDialect};
@@ -1,2 +1,2 @@
1
- // migrate-init attaches selected dialect crates here.
1
+ // Generated by migrate-init. Do not edit.
2
2
  #![allow(unused_imports)]
@@ -1,9 +1,8 @@
1
1
  use std::collections::HashMap;
2
+ use std::sync::atomic::{AtomicBool, Ordering};
2
3
 
3
- use crate::abstractions::SqlDialect;
4
- use migraters_api::{
5
- apply_statements, insert_log_started, update_log, BoxError as ApiError, MigrationSession,
6
- };
4
+ use crate::abstractions::Dialect;
5
+ use migraters_api::BoxError as ApiError;
7
6
 
8
7
  type BoxError = Box<dyn std::error::Error>;
9
8
 
@@ -12,68 +11,128 @@ fn cast(err: ApiError) -> BoxError {
12
11
  }
13
12
 
14
13
  pub struct MigrationPool {
15
- session: Box<dyn MigrationSession>,
14
+ dialect: &'static dyn Dialect,
15
+ connection: String,
16
+ setup_started: AtomicBool,
16
17
  }
17
18
 
18
19
  impl MigrationPool {
19
- pub async fn connect(dialect: &dyn SqlDialect, connection: &str) -> Result<Self, BoxError> {
20
+ pub async fn connect(dialect: &'static dyn Dialect, connection: &str) -> Result<Self, BoxError> {
20
21
  Ok(Self {
21
- session: dialect.connect(connection).await.map_err(cast)?,
22
+ dialect,
23
+ connection: connection.to_string(),
24
+ setup_started: AtomicBool::new(false),
22
25
  })
23
26
  }
24
27
 
25
- pub async fn execute(&self, sql: &str) -> Result<(), BoxError> {
26
- self.session.execute(sql).await.map_err(cast)
28
+ pub async fn setup(&self) -> Result<(), BoxError> {
29
+ self.dialect.setup(&self.connection).await.map_err(cast)
30
+ }
31
+
32
+ pub async fn execute(&self, _sql: &str) -> Result<(), BoxError> {
33
+ if self
34
+ .setup_started
35
+ .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst)
36
+ .is_ok()
37
+ {
38
+ self.dialect.setup(&self.connection).await.map_err(cast)?;
39
+ }
40
+ Ok(())
27
41
  }
28
42
 
29
43
  pub async fn fetch_applied(
30
44
  &self,
31
- sql: &str,
45
+ _sql: &str,
32
46
  ) -> Result<HashMap<String, Option<String>>, BoxError> {
33
- self.session.fetch_applied(sql).await.map_err(cast)
47
+ self.applied().await
48
+ }
49
+
50
+ pub async fn applied(&self) -> Result<HashMap<String, Option<String>>, BoxError> {
51
+ self.dialect.applied(&self.connection).await.map_err(cast)
34
52
  }
35
53
 
36
54
  pub async fn apply_statements(
37
55
  &self,
38
- dialect: &dyn SqlDialect,
56
+ _dialect: &dyn Dialect,
39
57
  sql: &str,
40
58
  catalog_sql: &str,
41
59
  p1: &str,
42
60
  p2: Option<&str>,
43
61
  ) -> Result<(), BoxError> {
44
- apply_statements(&*self.session, dialect, sql, catalog_sql, p1, p2)
62
+ if catalog_sql.to_ascii_uppercase().contains("DELETE") {
63
+ self.dialect
64
+ .migrate_down(&self.connection, p1, sql)
65
+ .await
66
+ .map_err(cast)
67
+ } else {
68
+ self.dialect
69
+ .migrate_up(&self.connection, p1, sql, p2.unwrap_or(""))
70
+ .await
71
+ .map_err(cast)
72
+ }
73
+ }
74
+
75
+ pub async fn migrate_up(&self, name: &str, body: &str, checksum: &str) -> Result<(), BoxError> {
76
+ self.dialect
77
+ .migrate_up(&self.connection, name, body, checksum)
78
+ .await
79
+ .map_err(cast)
80
+ }
81
+
82
+ pub async fn migrate_down(&self, name: &str, body: &str) -> Result<(), BoxError> {
83
+ self.dialect
84
+ .migrate_down(&self.connection, name, body)
45
85
  .await
46
86
  .map_err(cast)
47
87
  }
48
88
 
49
89
  pub async fn insert_log_started(
50
90
  &self,
51
- dialect: &dyn SqlDialect,
91
+ _dialect: &dyn Dialect,
52
92
  name: &str,
53
93
  direction: &str,
54
94
  ) -> Result<i64, BoxError> {
55
- insert_log_started(&*self.session, dialect, name, direction)
95
+ self.log_started(name, direction).await
96
+ }
97
+
98
+ pub async fn log_started(&self, name: &str, direction: &str) -> Result<i64, BoxError> {
99
+ self.dialect
100
+ .log(&self.connection, None, name, direction, None, 0, None)
56
101
  .await
57
102
  .map_err(cast)
58
103
  }
59
104
 
60
105
  pub async fn update_log(
61
106
  &self,
62
- dialect: &dyn SqlDialect,
107
+ _dialect: &dyn Dialect,
63
108
  id: i64,
64
109
  status: &str,
65
110
  duration_ms: i64,
66
111
  error_message: Option<&str>,
67
112
  ) -> Result<(), BoxError> {
68
- update_log(
69
- &*self.session,
70
- dialect,
71
- id,
72
- status,
73
- duration_ms,
74
- error_message,
75
- )
76
- .await
77
- .map_err(cast)
113
+ self.log_finished(id, status, duration_ms, error_message)
114
+ .await
115
+ }
116
+
117
+ pub async fn log_finished(
118
+ &self,
119
+ id: i64,
120
+ status: &str,
121
+ duration_ms: i64,
122
+ error_message: Option<&str>,
123
+ ) -> Result<(), BoxError> {
124
+ self.dialect
125
+ .log(
126
+ &self.connection,
127
+ Some(id),
128
+ "",
129
+ "",
130
+ Some(status),
131
+ duration_ms,
132
+ error_message,
133
+ )
134
+ .await
135
+ .map_err(cast)?;
136
+ Ok(())
78
137
  }
79
138
  }
package/rust/src/lib.rs CHANGED
@@ -1,17 +1,17 @@
1
- mod attached_dialects;
2
1
  pub mod abstractions;
3
2
  pub mod argv;
3
+ mod attached_dialects;
4
4
  pub mod checksum;
5
5
  pub mod cli_spec;
6
- pub mod dialects;
7
6
  pub mod help;
8
7
  pub mod infrastructure;
9
8
  pub mod messages;
10
9
  pub mod migrater;
10
+ pub mod migraters_config;
11
11
  pub mod migrations;
12
12
  pub mod provider;
13
13
 
14
- pub use abstractions::{all, try_get, SqlDialect};
14
+ pub use abstractions::{all, try_get, Dialect, IDatasourceProvider, SqlDialect};
15
15
  pub use argv::{is_help, take_value};
16
16
  pub use checksum::checksum_hex;
17
17
  pub use cli_spec::join_env_vars;
@@ -41,19 +41,165 @@ mod api_yaml {
41
41
  }
42
42
 
43
43
  #[cfg(test)]
44
- mod sqlite_lifecycle {
44
+ mod driver_yaml {
45
+ const RAW: &str = include_str!("../../driver.yaml");
46
+
47
+ #[test]
48
+ fn lists_datasource_provider() {
49
+ assert!(RAW.contains("interface: IDatasourceProvider"));
50
+ for method in ["setup", "applied", "migrateUp", "migrateDown", "log"] {
51
+ assert!(
52
+ RAW.contains(&format!(" - {method}")),
53
+ "driver.yaml missing method {method}"
54
+ );
55
+ }
56
+ }
57
+ }
58
+
59
+ #[cfg(test)]
60
+ mod core_lifecycle {
61
+ use std::collections::HashMap;
62
+ use std::sync::{Arc, Mutex};
63
+
64
+ use async_trait::async_trait;
65
+ use migraters_api::{BoxError, IDatasourceProvider, MigrationDriver};
66
+
45
67
  use crate::checksum::checksum_hex;
46
68
  use crate::infrastructure::MigrationPool;
47
- use crate::migrater::{DownArg, IMigrater, Migrater, SetupArg, UpArg};
48
- use crate::try_get;
69
+ use crate::migrater::{CreateArg, DownArg, IMigrater, Migrater, SetupArg, UpArg};
70
+
71
+ struct Store {
72
+ applied: Mutex<HashMap<String, Option<String>>>,
73
+ next_id: Mutex<i64>,
74
+ }
75
+
76
+ impl Store {
77
+ fn new() -> Arc<Self> {
78
+ Arc::new(Self {
79
+ applied: Mutex::new(HashMap::new()),
80
+ next_id: Mutex::new(1),
81
+ })
82
+ }
83
+ }
84
+
85
+ fn store_for(connection: &str) -> Arc<Store> {
86
+ use std::sync::OnceLock;
87
+ static STORES: OnceLock<Mutex<HashMap<String, Arc<Store>>>> = OnceLock::new();
88
+ let map = STORES.get_or_init(|| Mutex::new(HashMap::new()));
89
+ let mut locked = map.lock().unwrap();
90
+ locked
91
+ .entry(connection.to_string())
92
+ .or_insert_with(Store::new)
93
+ .clone()
94
+ }
95
+
96
+ struct CoreSession {
97
+ store: Arc<Store>,
98
+ }
99
+
100
+ #[async_trait]
101
+ impl MigrationDriver for CoreSession {
102
+ async fn setup(&self) -> Result<(), BoxError> {
103
+ Ok(())
104
+ }
105
+
106
+ async fn applied(&self) -> Result<HashMap<String, Option<String>>, BoxError> {
107
+ Ok(self.store.applied.lock().unwrap().clone())
108
+ }
109
+
110
+ async fn migrate_up(&self, name: &str, body: &str, checksum: &str) -> Result<(), BoxError> {
111
+ if body.contains("NOT VALID") {
112
+ return Err("not valid sql".into());
113
+ }
114
+ self.store
115
+ .applied
116
+ .lock()
117
+ .unwrap()
118
+ .insert(name.to_string(), Some(checksum.to_string()));
119
+ Ok(())
120
+ }
121
+
122
+ async fn migrate_down(&self, name: &str, _body: &str) -> Result<(), BoxError> {
123
+ self.store.applied.lock().unwrap().remove(name);
124
+ Ok(())
125
+ }
126
+
127
+ async fn log_started(&self, _name: &str, _direction: &str) -> Result<i64, BoxError> {
128
+ let mut next = self.store.next_id.lock().unwrap();
129
+ let id = *next;
130
+ *next += 1;
131
+ Ok(id)
132
+ }
133
+
134
+ async fn log_finished(
135
+ &self,
136
+ _id: i64,
137
+ _status: &str,
138
+ _duration_ms: i64,
139
+ _error: Option<&str>,
140
+ ) -> Result<(), BoxError> {
141
+ Ok(())
142
+ }
143
+
144
+ async fn close(&self) -> Result<(), BoxError> {
145
+ Ok(())
146
+ }
147
+ }
148
+
149
+ struct CoreDialect;
150
+
151
+ impl IDatasourceProvider for CoreDialect {
152
+ fn name(&self) -> &'static str {
153
+ "core"
154
+ }
155
+ fn connection_env_vars(&self) -> &'static [&'static str] {
156
+ &["CORE_URL"]
157
+ }
158
+ fn migrates_ddl(&self) -> &'static str {
159
+ "CREATE TABLE migrates (name TEXT)"
160
+ }
161
+ fn migrate_logs_ddl(&self) -> &'static str {
162
+ "CREATE TABLE migrate_logs (id INTEGER)"
163
+ }
164
+ fn use_transaction(&self) -> bool {
165
+ true
166
+ }
167
+ fn insert_applied_sql(&self) -> &'static str {
168
+ r#"INSERT INTO "migrates" ("name", "checksum") VALUES (?, ?)"#
169
+ }
170
+ fn delete_applied_sql(&self) -> &'static str {
171
+ r#"DELETE FROM "migrates" WHERE "name" = ?"#
172
+ }
173
+ fn normalize_connection(&self, connection: &str) -> String {
174
+ connection.to_string()
175
+ }
176
+ fn prerequisite_error(&self, _connection: &str) -> Option<String> {
177
+ None
178
+ }
179
+ fn prepare_setup(&self, _connection: &str) -> std::io::Result<()> {
180
+ Ok(())
181
+ }
182
+ fn connect<'a>(
183
+ &'a self,
184
+ connection: &'a str,
185
+ ) -> std::pin::Pin<
186
+ Box<
187
+ dyn std::future::Future<Output = Result<Box<dyn MigrationDriver>, BoxError>>
188
+ + Send
189
+ + 'a,
190
+ >,
191
+ > {
192
+ let store = store_for(connection);
193
+ Box::pin(async move { Ok(Box::new(CoreSession { store }) as Box<dyn MigrationDriver>) })
194
+ }
195
+ }
196
+
197
+ static CORE: CoreDialect = CoreDialect;
49
198
 
50
199
  #[tokio::test]
51
200
  async fn setup_apply_applied_rollback() {
52
- let Some(dialect) = try_get("sqlite") else {
53
- return;
54
- };
55
201
  let dir = std::env::temp_dir().join(format!(
56
- "migraters-api-{}-{}",
202
+ "migraters-core-{}-{}",
57
203
  std::process::id(),
58
204
  std::time::SystemTime::now()
59
205
  .duration_since(std::time::UNIX_EPOCH)
@@ -61,10 +207,9 @@ mod sqlite_lifecycle {
61
207
  .as_nanos()
62
208
  ));
63
209
  std::fs::create_dir_all(&dir).unwrap();
64
- let db = dir.join("app.sqlite");
65
- let connection = db.to_str().unwrap();
210
+ let connection = dir.to_str().unwrap();
66
211
  let migrations_path = dir.join("migrations");
67
- let migrater = Migrater::new(dialect);
212
+ let migrater = Migrater::new(&CORE);
68
213
  migrater
69
214
  .setup(SetupArg {
70
215
  connection,
@@ -72,6 +217,13 @@ mod sqlite_lifecycle {
72
217
  })
73
218
  .await
74
219
  .unwrap();
220
+ let created = migrater
221
+ .create(CreateArg {
222
+ name: "init",
223
+ migrations_path: migrations_path.to_str().unwrap(),
224
+ })
225
+ .unwrap();
226
+ assert_eq!(created.up_name, "0001_init_up.sql");
75
227
  let sql = "CREATE TABLE t (id INTEGER);\n";
76
228
  std::fs::write(migrations_path.join("0001_init_up.sql"), sql).unwrap();
77
229
  std::fs::write(
@@ -88,15 +240,24 @@ mod sqlite_lifecycle {
88
240
  .await
89
241
  .unwrap();
90
242
  assert_eq!(names, vec!["0001_init".to_string()]);
91
- let pool = MigrationPool::connect(dialect, connection).await.unwrap();
243
+ let pool = MigrationPool::connect(&CORE, connection).await.unwrap();
92
244
  let applied = pool
93
- .fetch_applied(&dialect.select_applied_checksum_sql())
245
+ .fetch_applied(&CORE.select_applied_checksum_sql())
94
246
  .await
95
247
  .unwrap();
96
248
  assert_eq!(
97
249
  applied.get("0001_init").cloned().flatten().as_deref(),
98
250
  Some(checksum_hex(sql).as_str())
99
251
  );
252
+ let again = migrater
253
+ .up(UpArg {
254
+ connection,
255
+ migrations_path: migrations_path.to_str().unwrap(),
256
+ one: false,
257
+ })
258
+ .await
259
+ .unwrap();
260
+ assert!(again.is_empty());
100
261
  let rolled = migrater
101
262
  .down(DownArg {
102
263
  connection,
@@ -106,10 +267,45 @@ mod sqlite_lifecycle {
106
267
  .unwrap();
107
268
  assert_eq!(rolled.as_deref(), Some("0001_init"));
108
269
  let applied = pool
109
- .fetch_applied(&dialect.select_applied_checksum_sql())
270
+ .fetch_applied(&CORE.select_applied_checksum_sql())
110
271
  .await
111
272
  .unwrap();
112
273
  assert!(!applied.contains_key("0001_init"));
113
274
  let _ = std::fs::remove_dir_all(dir);
114
275
  }
276
+
277
+ #[tokio::test]
278
+ async fn up_rethrows_invalid_sql() {
279
+ let dir = std::env::temp_dir().join(format!(
280
+ "migraters-core-fail-{}-{}",
281
+ std::process::id(),
282
+ std::time::SystemTime::now()
283
+ .duration_since(std::time::UNIX_EPOCH)
284
+ .unwrap()
285
+ .as_nanos()
286
+ ));
287
+ std::fs::create_dir_all(&dir).unwrap();
288
+ let connection = format!("{}-fail", dir.display());
289
+ let migrations_path = dir.join("migrations");
290
+ let migrater = Migrater::new(&CORE);
291
+ migrater
292
+ .setup(SetupArg {
293
+ connection: &connection,
294
+ migrations_path: migrations_path.to_str().unwrap(),
295
+ })
296
+ .await
297
+ .unwrap();
298
+ std::fs::write(migrations_path.join("0001_init_up.sql"), "NOT VALID SQL;\n").unwrap();
299
+ std::fs::write(migrations_path.join("0001_init_down.sql"), "SELECT 1;\n").unwrap();
300
+ let err = migrater
301
+ .up(UpArg {
302
+ connection: &connection,
303
+ migrations_path: migrations_path.to_str().unwrap(),
304
+ one: false,
305
+ })
306
+ .await
307
+ .unwrap_err();
308
+ assert!(err.to_string().contains("not valid sql"));
309
+ let _ = std::fs::remove_dir_all(dir);
310
+ }
115
311
  }