@deterministic-code/migraters 0.0.2 → 0.0.4

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 (645) hide show
  1. package/README.md +149 -1
  2. package/bundle.yaml +20 -28
  3. package/cli.yaml +24 -12
  4. package/csharp/Abstractions/IConnectionResolver.cs +6 -0
  5. package/csharp/Abstractions/IMigrateCommand.cs +7 -0
  6. package/csharp/Abstractions/IMigrater.cs +20 -0
  7. package/csharp/Abstractions/ISqlDialect.cs +23 -0
  8. package/csharp/Abstractions/ISqlDialectFactory.cs +7 -0
  9. package/csharp/Abstractions/SqlDialect.cs +78 -0
  10. package/csharp/Abstractions/SqlDialectFactory.cs +24 -0
  11. package/csharp/Dialects/Mysql/MigrateMysql.csproj +14 -0
  12. package/csharp/Dialects/Mysql/MysqlCreateDatabase.cs +21 -0
  13. package/csharp/Dialects/Mysql/MysqlDialect.cs +44 -0
  14. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateCore.dll +0 -0
  15. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  16. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.deps.json +213 -0
  17. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.dll +0 -0
  18. package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.pdb +0 -0
  19. package/csharp/Dialects/Mysql/bin/Debug/net9.0/cli.yaml +276 -0
  20. package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/help/down.txt +3 -5
  21. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/init.txt +15 -0
  22. package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/help/setup.txt +4 -0
  23. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
  24. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
  25. package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
  26. package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/down/destructive-header.txt +0 -1
  27. package/csharp/Dialects/Mysql/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
  28. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateM.E580FE7A.Up2Date +0 -0
  29. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.AssemblyInfo.cs +22 -0
  30. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.AssemblyInfoInputs.cache +1 -0
  31. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.GeneratedMSBuildEditorConfig.editorconfig +18 -0
  32. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.GlobalUsings.g.cs +8 -0
  33. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.assets.cache +0 -0
  34. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.AssemblyReference.cache +0 -0
  35. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.CoreCompileInputs.cache +1 -0
  36. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.FileListAbsolute.txt +63 -0
  37. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.dll +0 -0
  38. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.pdb +0 -0
  39. package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.sourcelink.json +1 -0
  40. package/csharp/Dialects/Mysql/obj/Debug/net9.0/ref/MigrateMysql.dll +0 -0
  41. package/csharp/Dialects/Mysql/obj/Debug/net9.0/refint/MigrateMysql.dll +0 -0
  42. package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.dgspec.json +172 -0
  43. package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.g.props +15 -0
  44. package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.g.targets +6 -0
  45. package/csharp/Dialects/Mysql/obj/project.assets.json +5081 -0
  46. package/csharp/Dialects/Mysql/obj/project.nuget.cache +94 -0
  47. package/csharp/Dialects/Oracle/MigrateOracle.csproj +14 -0
  48. package/csharp/Dialects/Oracle/OracleDialect.cs +30 -0
  49. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateCore.dll +0 -0
  50. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  51. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.deps.json +343 -0
  52. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.dll +0 -0
  53. package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.pdb +0 -0
  54. package/csharp/Dialects/Oracle/bin/Debug/net9.0/cli.yaml +276 -0
  55. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/create.txt +16 -0
  56. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/down.txt +40 -0
  57. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/init.txt +15 -0
  58. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/setup.txt +45 -0
  59. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/up.txt +43 -0
  60. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +1 -0
  61. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift.txt +11 -0
  62. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +1 -0
  63. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
  64. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +1 -0
  65. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
  66. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
  67. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +2 -0
  68. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +1 -0
  69. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +1 -0
  70. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +1 -0
  71. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +1 -0
  72. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +1 -0
  73. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +1 -0
  74. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +1 -0
  75. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +1 -0
  76. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
  77. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
  78. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +1 -0
  79. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +1 -0
  80. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +1 -0
  81. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +1 -0
  82. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/setup-complete.txt +9 -0
  83. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/applied.txt +1 -0
  84. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/created.txt +1 -0
  85. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +1 -0
  86. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-pending.txt +1 -0
  87. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +1 -0
  88. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +1 -0
  89. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/scaffold/down.sql +1 -0
  90. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/scaffold/up.sql +1 -0
  91. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +11 -0
  92. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +7 -0
  93. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +14 -0
  94. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +10 -0
  95. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +11 -0
  96. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +7 -0
  97. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +11 -0
  98. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +7 -0
  99. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +12 -0
  100. package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +8 -0
  101. package/csharp/Dialects/Oracle/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
  102. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateO.BD46121C.Up2Date +0 -0
  103. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.AssemblyInfo.cs +22 -0
  104. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.AssemblyInfoInputs.cache +1 -0
  105. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.GeneratedMSBuildEditorConfig.editorconfig +18 -0
  106. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.GlobalUsings.g.cs +8 -0
  107. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.assets.cache +0 -0
  108. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.AssemblyReference.cache +0 -0
  109. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.CoreCompileInputs.cache +1 -0
  110. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.FileListAbsolute.txt +63 -0
  111. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.dll +0 -0
  112. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.pdb +0 -0
  113. package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.sourcelink.json +1 -0
  114. package/csharp/Dialects/Oracle/obj/Debug/net9.0/ref/MigrateOracle.dll +0 -0
  115. package/csharp/Dialects/Oracle/obj/Debug/net9.0/refint/MigrateOracle.dll +0 -0
  116. package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.dgspec.json +172 -0
  117. package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.g.props +15 -0
  118. package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.g.targets +2 -0
  119. package/csharp/Dialects/Oracle/obj/project.assets.json +5414 -0
  120. package/csharp/Dialects/Oracle/obj/project.nuget.cache +101 -0
  121. package/csharp/Dialects/Postgres/MigratePostgres.csproj +14 -0
  122. package/csharp/Dialects/Postgres/PostgresCreateDatabase.cs +31 -0
  123. package/csharp/Dialects/Postgres/PostgresDialect.cs +43 -0
  124. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigrateCore.dll +0 -0
  125. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  126. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.deps.json +212 -0
  127. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.dll +0 -0
  128. package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.pdb +0 -0
  129. package/csharp/Dialects/Postgres/bin/Debug/net9.0/cli.yaml +276 -0
  130. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/create.txt +16 -0
  131. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/down.txt +40 -0
  132. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/init.txt +15 -0
  133. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/setup.txt +45 -0
  134. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/up.txt +43 -0
  135. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +1 -0
  136. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift.txt +11 -0
  137. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +1 -0
  138. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
  139. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +1 -0
  140. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
  141. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
  142. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +2 -0
  143. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +1 -0
  144. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +1 -0
  145. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +1 -0
  146. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +1 -0
  147. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +1 -0
  148. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +1 -0
  149. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +1 -0
  150. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +1 -0
  151. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
  152. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
  153. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +1 -0
  154. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +1 -0
  155. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +1 -0
  156. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +1 -0
  157. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/setup-complete.txt +9 -0
  158. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/applied.txt +1 -0
  159. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/created.txt +1 -0
  160. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +1 -0
  161. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-pending.txt +1 -0
  162. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +1 -0
  163. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +1 -0
  164. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/scaffold/down.sql +1 -0
  165. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/scaffold/up.sql +1 -0
  166. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +11 -0
  167. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +7 -0
  168. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +14 -0
  169. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +10 -0
  170. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +11 -0
  171. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +7 -0
  172. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +11 -0
  173. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +7 -0
  174. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +12 -0
  175. package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +8 -0
  176. package/csharp/Dialects/Postgres/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
  177. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigrateP.DF842641.Up2Date +0 -0
  178. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.AssemblyInfo.cs +22 -0
  179. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.AssemblyInfoInputs.cache +1 -0
  180. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.GeneratedMSBuildEditorConfig.editorconfig +18 -0
  181. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.GlobalUsings.g.cs +8 -0
  182. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.assets.cache +0 -0
  183. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.AssemblyReference.cache +0 -0
  184. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.CoreCompileInputs.cache +1 -0
  185. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.FileListAbsolute.txt +63 -0
  186. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.dll +0 -0
  187. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.pdb +0 -0
  188. package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.sourcelink.json +1 -0
  189. package/csharp/Dialects/Postgres/obj/Debug/net9.0/ref/MigratePostgres.dll +0 -0
  190. package/csharp/Dialects/Postgres/obj/Debug/net9.0/refint/MigratePostgres.dll +0 -0
  191. package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.dgspec.json +172 -0
  192. package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.g.props +15 -0
  193. package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.g.targets +6 -0
  194. package/csharp/Dialects/Postgres/obj/project.assets.json +5068 -0
  195. package/csharp/Dialects/Postgres/obj/project.nuget.cache +94 -0
  196. package/csharp/Dialects/SqlServer/MigrateSqlServer.csproj +14 -0
  197. package/csharp/Dialects/SqlServer/SqlServerCreateDatabase.cs +21 -0
  198. package/csharp/Dialects/SqlServer/SqlServerDialect.cs +21 -0
  199. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateCore.dll +0 -0
  200. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  201. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.deps.json +727 -0
  202. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.dll +0 -0
  203. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.pdb +0 -0
  204. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/cli.yaml +276 -0
  205. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/create.txt +16 -0
  206. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/down.txt +40 -0
  207. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/init.txt +15 -0
  208. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/setup.txt +45 -0
  209. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/up.txt +43 -0
  210. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +1 -0
  211. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift.txt +11 -0
  212. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +1 -0
  213. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
  214. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +1 -0
  215. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
  216. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
  217. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +2 -0
  218. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +1 -0
  219. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +1 -0
  220. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +1 -0
  221. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +1 -0
  222. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +1 -0
  223. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +1 -0
  224. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +1 -0
  225. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +1 -0
  226. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
  227. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
  228. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +1 -0
  229. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +1 -0
  230. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +1 -0
  231. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +1 -0
  232. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/setup-complete.txt +9 -0
  233. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/applied.txt +1 -0
  234. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/created.txt +1 -0
  235. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +1 -0
  236. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-pending.txt +1 -0
  237. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +1 -0
  238. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +1 -0
  239. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/scaffold/down.sql +1 -0
  240. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/scaffold/up.sql +1 -0
  241. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +11 -0
  242. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +7 -0
  243. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +14 -0
  244. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +10 -0
  245. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +11 -0
  246. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +7 -0
  247. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +11 -0
  248. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +7 -0
  249. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +12 -0
  250. package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +8 -0
  251. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
  252. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateS.6604771C.Up2Date +0 -0
  253. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.AssemblyInfo.cs +22 -0
  254. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.AssemblyInfoInputs.cache +1 -0
  255. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.GeneratedMSBuildEditorConfig.editorconfig +18 -0
  256. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.GlobalUsings.g.cs +8 -0
  257. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.assets.cache +0 -0
  258. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.AssemblyReference.cache +0 -0
  259. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.CoreCompileInputs.cache +1 -0
  260. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.FileListAbsolute.txt +63 -0
  261. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.dll +0 -0
  262. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.pdb +0 -0
  263. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.sourcelink.json +1 -0
  264. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/ref/MigrateSqlServer.dll +0 -0
  265. package/csharp/Dialects/SqlServer/obj/Debug/net9.0/refint/MigrateSqlServer.dll +0 -0
  266. package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.dgspec.json +172 -0
  267. package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.g.props +15 -0
  268. package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.g.targets +7 -0
  269. package/csharp/Dialects/SqlServer/obj/project.assets.json +6391 -0
  270. package/csharp/Dialects/SqlServer/obj/project.nuget.cache +122 -0
  271. package/csharp/Dialects/Sqlite/MigrateSqlite.csproj +14 -0
  272. package/csharp/Dialects/Sqlite/SqliteDialect.cs +77 -0
  273. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateCore.dll +0 -0
  274. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateCore.pdb +0 -0
  275. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.deps.json +376 -0
  276. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.dll +0 -0
  277. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.pdb +0 -0
  278. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/cli.yaml +276 -0
  279. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/create.txt +16 -0
  280. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/down.txt +40 -0
  281. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/init.txt +15 -0
  282. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/setup.txt +45 -0
  283. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/up.txt +43 -0
  284. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +1 -0
  285. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift.txt +11 -0
  286. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +1 -0
  287. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
  288. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +1 -0
  289. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
  290. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
  291. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +2 -0
  292. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +1 -0
  293. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +1 -0
  294. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +1 -0
  295. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +1 -0
  296. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +1 -0
  297. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +1 -0
  298. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +1 -0
  299. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +1 -0
  300. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
  301. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
  302. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +1 -0
  303. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +1 -0
  304. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +1 -0
  305. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +1 -0
  306. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/setup-complete.txt +9 -0
  307. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/applied.txt +1 -0
  308. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/created.txt +1 -0
  309. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +1 -0
  310. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-pending.txt +1 -0
  311. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +1 -0
  312. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +1 -0
  313. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/scaffold/down.sql +1 -0
  314. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/scaffold/up.sql +1 -0
  315. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +11 -0
  316. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +7 -0
  317. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +14 -0
  318. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +10 -0
  319. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +11 -0
  320. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +7 -0
  321. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +11 -0
  322. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +7 -0
  323. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +12 -0
  324. package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +8 -0
  325. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
  326. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateS.4867C581.Up2Date +0 -0
  327. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.AssemblyInfo.cs +22 -0
  328. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.AssemblyInfoInputs.cache +1 -0
  329. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.GeneratedMSBuildEditorConfig.editorconfig +18 -0
  330. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.GlobalUsings.g.cs +8 -0
  331. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.assets.cache +0 -0
  332. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.AssemblyReference.cache +0 -0
  333. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.CoreCompileInputs.cache +1 -0
  334. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.FileListAbsolute.txt +63 -0
  335. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.dll +0 -0
  336. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.pdb +0 -0
  337. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.sourcelink.json +1 -0
  338. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/ref/MigrateSqlite.dll +0 -0
  339. package/csharp/Dialects/Sqlite/obj/Debug/net9.0/refint/MigrateSqlite.dll +0 -0
  340. package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.dgspec.json +172 -0
  341. package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.g.props +15 -0
  342. package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.g.targets +6 -0
  343. package/csharp/Dialects/Sqlite/obj/project.assets.json +5263 -0
  344. package/csharp/Dialects/Sqlite/obj/project.nuget.cache +99 -0
  345. package/csharp/GlobalUsings.cs +6 -0
  346. package/csharp/Infrastructure/Checksum.cs +18 -0
  347. package/csharp/Infrastructure/CliSpec.cs +228 -0
  348. package/csharp/Infrastructure/ConnectionResolver.cs +9 -0
  349. package/csharp/Infrastructure/ConnectionStringUrl.cs +47 -0
  350. package/csharp/Infrastructure/CreateDatabase.cs +7 -0
  351. package/csharp/Infrastructure/DbExecute.cs +81 -0
  352. package/csharp/Infrastructure/HelpTemplates.cs +47 -0
  353. package/csharp/Infrastructure/MigrateCli.cs +159 -0
  354. package/csharp/Infrastructure/MigrateLog.cs +54 -0
  355. package/csharp/Infrastructure/Migrater.cs +157 -0
  356. package/csharp/Infrastructure/Migrations.cs +105 -0
  357. package/csharp/Infrastructure/SqlTemplates.cs +10 -0
  358. package/csharp/MigrateCreate.cs +114 -0
  359. package/csharp/MigrateDown.cs +147 -0
  360. package/csharp/MigrateRunner.Core.csproj +66 -0
  361. package/csharp/MigrateRunner.csproj +63 -0
  362. package/csharp/MigrateRunnerServices.cs +55 -0
  363. package/csharp/MigrateSetup.cs +145 -0
  364. package/csharp/MigrateUp.cs +122 -0
  365. package/csharp/Program.cs +40 -0
  366. package/{dist → orchestrator/dist}/cli-spec.d.ts +1 -1
  367. package/{dist → orchestrator/dist}/cli-spec.js +10 -2
  368. package/orchestrator/dist/config.d.ts +13 -0
  369. package/orchestrator/dist/config.js +48 -0
  370. package/orchestrator/dist/dialects.d.ts +2 -0
  371. package/orchestrator/dist/dialects.js +25 -0
  372. package/orchestrator/dist/dispatch.d.ts +9 -0
  373. package/orchestrator/dist/dispatch.js +36 -0
  374. package/{dist → orchestrator/dist}/help.d.ts +0 -1
  375. package/orchestrator/dist/help.js +36 -0
  376. package/orchestrator/dist/languages.d.ts +4 -0
  377. package/orchestrator/dist/languages.js +12 -0
  378. package/orchestrator/dist/manifests.d.ts +8 -0
  379. package/orchestrator/dist/manifests.js +53 -0
  380. package/orchestrator/dist/migrate-create.js +3 -0
  381. package/orchestrator/dist/migrate-down.js +3 -0
  382. package/orchestrator/dist/migrate-init.js +37 -0
  383. package/orchestrator/dist/migrate-setup.js +3 -0
  384. package/orchestrator/dist/migrate-up.js +3 -0
  385. package/orchestrator/dist/parse-init.d.ts +12 -0
  386. package/orchestrator/dist/parse-init.js +56 -0
  387. package/orchestrator/dist/repo.d.ts +2 -0
  388. package/orchestrator/dist/repo.js +19 -0
  389. package/orchestrator/dist/run-init.d.ts +2 -0
  390. package/orchestrator/dist/run-init.js +66 -0
  391. package/orchestrator/dist/run.d.ts +3 -0
  392. package/orchestrator/dist/run.js +16 -0
  393. package/orchestrator/prepare.js +21 -0
  394. package/orchestrator/tsconfig.json +19 -0
  395. package/package.json +49 -62
  396. package/rust/Cargo.lock +393 -0
  397. package/rust/Cargo.toml +29 -0
  398. package/rust/api/Cargo.toml +8 -0
  399. package/rust/api/src/lib.rs +231 -0
  400. package/rust/dialects/mysql/Cargo.toml +11 -0
  401. package/rust/dialects/mysql/src/lib.rs +231 -0
  402. package/rust/dialects/oracle/Cargo.toml +11 -0
  403. package/rust/dialects/oracle/src/lib.rs +245 -0
  404. package/rust/dialects/postgres/Cargo.toml +11 -0
  405. package/rust/dialects/postgres/src/lib.rs +235 -0
  406. package/rust/dialects/sqlite/Cargo.toml +11 -0
  407. package/rust/dialects/sqlite/src/lib.rs +286 -0
  408. package/rust/dialects/sqlserver/Cargo.toml +12 -0
  409. package/rust/dialects/sqlserver/src/lib.rs +235 -0
  410. package/rust/rustfmt.toml +2 -0
  411. package/rust/src/abstractions/factory.rs +17 -0
  412. package/rust/src/abstractions/mod.rs +5 -0
  413. package/rust/src/abstractions/sql_dialect.rs +1 -0
  414. package/rust/src/argv.rs +15 -0
  415. package/rust/src/attached_dialects.rs +2 -0
  416. package/rust/src/bin/migrate_create.rs +97 -0
  417. package/rust/src/bin/migrate_down.rs +151 -0
  418. package/rust/src/bin/migrate_setup.rs +153 -0
  419. package/rust/src/bin/migrate_up.rs +126 -0
  420. package/rust/src/checksum.rs +55 -0
  421. package/rust/src/cli_spec.rs +249 -0
  422. package/rust/src/dialects/mod.rs +4 -0
  423. package/rust/src/help.rs +10 -0
  424. package/rust/src/infrastructure/connection_resolver.rs +8 -0
  425. package/rust/src/infrastructure/create_database.rs +15 -0
  426. package/rust/src/infrastructure/mod.rs +9 -0
  427. package/rust/src/infrastructure/pool.rs +79 -0
  428. package/rust/src/infrastructure/split_on_go.rs +48 -0
  429. package/rust/src/lib.rs +115 -0
  430. package/rust/src/messages.rs +102 -0
  431. package/rust/src/migrater.rs +224 -0
  432. package/rust/src/migrations.rs +151 -0
  433. package/rust/src/provider.rs +57 -0
  434. package/shared/templates/help/create.txt +16 -0
  435. package/shared/templates/help/down.txt +40 -0
  436. package/shared/templates/help/init.txt +15 -0
  437. package/shared/templates/help/setup.txt +45 -0
  438. package/shared/templates/help/up.txt +43 -0
  439. package/shared/templates/messages/checksum-drift-line.txt +1 -0
  440. package/shared/templates/messages/checksum-drift.txt +11 -0
  441. package/shared/templates/messages/down/confirm-mismatch.txt +1 -0
  442. package/shared/templates/messages/down/confirm-prompt.txt +1 -0
  443. package/shared/templates/messages/down/confirm-stdin-failed.txt +1 -0
  444. package/shared/templates/messages/down/confirm-token-mismatch.txt +1 -0
  445. package/shared/templates/messages/down/confirm-tty-required.txt +1 -0
  446. package/shared/templates/messages/down/destructive-header.txt +2 -0
  447. package/shared/templates/messages/errors/invalid-name.txt +1 -0
  448. package/shared/templates/messages/errors/migrate-path-not-dir.txt +1 -0
  449. package/shared/templates/messages/errors/missing-connection.txt +1 -0
  450. package/shared/templates/messages/errors/missing-name-hint.txt +1 -0
  451. package/shared/templates/messages/errors/missing-name.txt +1 -0
  452. package/shared/templates/messages/errors/missing-provider-hint.txt +1 -0
  453. package/shared/templates/messages/errors/missing-provider.txt +1 -0
  454. package/shared/templates/messages/errors/missing-value-for-flag.txt +1 -0
  455. package/shared/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
  456. package/shared/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
  457. package/shared/templates/messages/errors/rollback-not-in-path.txt +1 -0
  458. package/shared/templates/messages/errors/sqlite-prerequisite.txt +1 -0
  459. package/shared/templates/messages/errors/unknown-arg.txt +1 -0
  460. package/shared/templates/messages/errors/unsupported-provider.txt +1 -0
  461. package/shared/templates/messages/setup-complete.txt +9 -0
  462. package/shared/templates/messages/status/applied.txt +1 -0
  463. package/shared/templates/messages/status/created.txt +1 -0
  464. package/shared/templates/messages/status/no-more-pending.txt +1 -0
  465. package/shared/templates/messages/status/no-pending.txt +1 -0
  466. package/shared/templates/messages/status/no-rollback.txt +1 -0
  467. package/shared/templates/messages/status/rolled-back.txt +1 -0
  468. package/shared/templates/scaffold/down.sql +1 -0
  469. package/shared/templates/scaffold/up.sql +1 -0
  470. package/shared/templates/sql/mysql/migrate_logs.sql +11 -0
  471. package/shared/templates/sql/mysql/migrates.sql +7 -0
  472. package/shared/templates/sql/oracle/migrate_logs.sql +14 -0
  473. package/shared/templates/sql/oracle/migrates.sql +10 -0
  474. package/shared/templates/sql/postgres/migrate_logs.sql +11 -0
  475. package/shared/templates/sql/postgres/migrates.sql +7 -0
  476. package/shared/templates/sql/sqlite/migrate_logs.sql +11 -0
  477. package/shared/templates/sql/sqlite/migrates.sql +7 -0
  478. package/shared/templates/sql/sqlserver/migrate_logs.sql +12 -0
  479. package/shared/templates/sql/sqlserver/migrates.sql +8 -0
  480. package/typescript/bundle.yaml +254 -0
  481. package/typescript/dialects/mysql/package.json +12 -0
  482. package/typescript/dialects/mysql/src/index.ts +4 -0
  483. package/typescript/dialects/mysql/src/mysql-dialect.test.ts +99 -0
  484. package/typescript/dialects/mysql/src/mysql-dialect.ts +75 -0
  485. package/typescript/dialects/oracle/package.json +13 -0
  486. package/typescript/dialects/oracle/src/index.ts +4 -0
  487. package/typescript/dialects/oracle/src/oracle-dialect.test.ts +118 -0
  488. package/typescript/dialects/oracle/src/oracle-dialect.ts +91 -0
  489. package/typescript/dialects/postgres/package.json +13 -0
  490. package/typescript/dialects/postgres/src/index.ts +4 -0
  491. package/typescript/dialects/postgres/src/postgres-dialect.test.ts +98 -0
  492. package/typescript/dialects/postgres/src/postgres-dialect.ts +82 -0
  493. package/typescript/dialects/sqlite/package.json +13 -0
  494. package/typescript/dialects/sqlite/src/index.ts +4 -0
  495. package/typescript/dialects/sqlite/src/sqlite-dialect.rollback.test.ts +30 -0
  496. package/typescript/dialects/sqlite/src/sqlite-dialect.test.ts +77 -0
  497. package/typescript/dialects/sqlite/src/sqlite-dialect.ts +96 -0
  498. package/typescript/dialects/sqlserver/package.json +13 -0
  499. package/typescript/dialects/sqlserver/src/index.ts +4 -0
  500. package/typescript/dialects/sqlserver/src/sqlserver-dialect.test.ts +109 -0
  501. package/typescript/dialects/sqlserver/src/sqlserver-dialect.ts +103 -0
  502. package/typescript/package.json +46 -0
  503. package/typescript/src/abstractions/migrater.ts +13 -0
  504. package/typescript/src/abstractions/sql-dialect-base.ts +38 -0
  505. package/typescript/src/abstractions/sql-dialect-factory.ts +29 -0
  506. package/typescript/src/abstractions/sql-dialect.ts +18 -0
  507. package/typescript/src/bin/migrate-create.ts +80 -0
  508. package/typescript/src/bin/migrate-down.ts +141 -0
  509. package/typescript/src/bin/migrate-setup.ts +106 -0
  510. package/typescript/src/bin/migrate-up.ts +111 -0
  511. package/typescript/src/cli-contract.ts +25 -0
  512. package/typescript/src/cli-spec.ts +73 -0
  513. package/typescript/src/cli.ts +52 -0
  514. package/typescript/src/create-database.test.ts +18 -0
  515. package/typescript/src/create-database.ts +7 -0
  516. package/typescript/src/create-sequence.ts +17 -0
  517. package/typescript/src/datasource-migrate.ts +314 -0
  518. package/typescript/src/generate-help.test.ts +33 -0
  519. package/typescript/src/generate-help.ts +173 -0
  520. package/typescript/src/help.test.ts +48 -0
  521. package/typescript/src/help.ts +12 -0
  522. package/typescript/src/index.ts +23 -0
  523. package/typescript/src/infrastructure/connection-resolver.ts +18 -0
  524. package/typescript/src/infrastructure/default-factory.test.ts +30 -0
  525. package/typescript/src/infrastructure/default-factory.ts +41 -0
  526. package/typescript/src/infrastructure/interop-default.test.ts +9 -0
  527. package/typescript/src/infrastructure/interop-default.ts +2 -0
  528. package/typescript/src/infrastructure/message-templates.ts +30 -0
  529. package/typescript/src/infrastructure/mysql-text-protocol.ts +7 -0
  530. package/typescript/src/infrastructure/split-on-go.ts +19 -0
  531. package/typescript/src/infrastructure/sql-templates.ts +10 -0
  532. package/typescript/src/infrastructure/templates-root.ts +16 -0
  533. package/typescript/src/init-select.test.ts +34 -0
  534. package/typescript/src/init-select.ts +77 -0
  535. package/typescript/src/migrater.ts +92 -0
  536. package/{dist/migration-client.d.ts → typescript/src/migration-client.ts} +12 -12
  537. package/typescript/src/path-exists.ts +10 -0
  538. package/typescript/src/setup-sql.test.ts +16 -0
  539. package/typescript/src/sql.ts +17 -0
  540. package/typescript/tsconfig.build.json +20 -0
  541. package/dist/abstractions/migrater.d.ts +0 -28
  542. package/dist/abstractions/migrater.js +0 -1
  543. package/dist/abstractions/sql-dialect-base.d.ts +0 -16
  544. package/dist/abstractions/sql-dialect-base.js +0 -19
  545. package/dist/abstractions/sql-dialect-factory.d.ts +0 -8
  546. package/dist/abstractions/sql-dialect-factory.js +0 -22
  547. package/dist/abstractions/sql-dialect.d.ts +0 -16
  548. package/dist/abstractions/sql-dialect.js +0 -1
  549. package/dist/bin/migrate-create.js +0 -71
  550. package/dist/bin/migrate-down.js +0 -135
  551. package/dist/bin/migrate-init.js +0 -77
  552. package/dist/bin/migrate-setup.js +0 -87
  553. package/dist/bin/migrate-up.js +0 -97
  554. package/dist/cli-contract.d.ts +0 -6
  555. package/dist/cli-contract.js +0 -19
  556. package/dist/cli.d.ts +0 -9
  557. package/dist/cli.js +0 -41
  558. package/dist/create-sequence.d.ts +0 -4
  559. package/dist/create-sequence.js +0 -16
  560. package/dist/datasource-migrate.d.ts +0 -31
  561. package/dist/datasource-migrate.js +0 -206
  562. package/dist/dialects/mysql-dialect.d.ts +0 -12
  563. package/dist/dialects/mysql-dialect.js +0 -56
  564. package/dist/dialects/oracle-dialect.d.ts +0 -18
  565. package/dist/dialects/oracle-dialect.js +0 -76
  566. package/dist/dialects/postgres-dialect.d.ts +0 -11
  567. package/dist/dialects/postgres-dialect.js +0 -58
  568. package/dist/dialects/sqlite-dialect.d.ts +0 -13
  569. package/dist/dialects/sqlite-dialect.js +0 -96
  570. package/dist/dialects/sqlserver-dialect.d.ts +0 -12
  571. package/dist/dialects/sqlserver-dialect.js +0 -73
  572. package/dist/help.js +0 -10
  573. package/dist/index.d.ts +0 -7
  574. package/dist/index.js +0 -6
  575. package/dist/infrastructure/connection-resolver.d.ts +0 -7
  576. package/dist/infrastructure/connection-resolver.js +0 -19
  577. package/dist/infrastructure/default-factory.d.ts +0 -4
  578. package/dist/infrastructure/default-factory.js +0 -15
  579. package/dist/infrastructure/interop-default.d.ts +0 -3
  580. package/dist/infrastructure/interop-default.js +0 -1
  581. package/dist/infrastructure/message-templates.d.ts +0 -3
  582. package/dist/infrastructure/message-templates.js +0 -18
  583. package/dist/infrastructure/split-on-go.d.ts +0 -2
  584. package/dist/infrastructure/split-on-go.js +0 -20
  585. package/dist/infrastructure/sql-templates.d.ts +0 -2
  586. package/dist/infrastructure/sql-templates.js +0 -4
  587. package/dist/infrastructure/templates-root.d.ts +0 -2
  588. package/dist/infrastructure/templates-root.js +0 -11
  589. package/dist/init-select.d.ts +0 -12
  590. package/dist/init-select.js +0 -52
  591. package/dist/migrater.d.ts +0 -12
  592. package/dist/migrater.js +0 -84
  593. package/dist/migration-client.js +0 -1
  594. package/dist/path-exists.d.ts +0 -1
  595. package/dist/path-exists.js +0 -10
  596. package/dist/sql.d.ts +0 -3
  597. package/dist/sql.js +0 -15
  598. package/dist/templates/help/init.txt +0 -13
  599. package/dist/templates/messages/down/confirm-prompt.txt +0 -1
  600. package/dist/templates/messages/down/confirm-token-mismatch.txt +0 -1
  601. package/dist/templates/messages/down/confirm-tty-required.txt +0 -1
  602. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/help/create.txt +0 -0
  603. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/help/up.txt +0 -0
  604. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/checksum-drift-line.txt +0 -0
  605. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/checksum-drift.txt +0 -0
  606. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/down/confirm-mismatch.txt +0 -0
  607. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/down/confirm-stdin-failed.txt +0 -0
  608. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/invalid-name.txt +0 -0
  609. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/migrate-path-not-dir.txt +0 -0
  610. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-connection.txt +0 -0
  611. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-name-hint.txt +0 -0
  612. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-name.txt +0 -0
  613. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-provider-hint.txt +0 -0
  614. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-provider.txt +0 -0
  615. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-value-for-flag.txt +0 -0
  616. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/rollback-no-down-sibling.txt +0 -0
  617. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -0
  618. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/rollback-not-in-path.txt +0 -0
  619. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/sqlite-prerequisite.txt +0 -0
  620. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/unknown-arg.txt +0 -0
  621. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/unsupported-provider.txt +0 -0
  622. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/setup-complete.txt +0 -0
  623. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/applied.txt +0 -0
  624. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/created.txt +0 -0
  625. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/no-more-pending.txt +0 -0
  626. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/no-pending.txt +0 -0
  627. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/no-rollback.txt +0 -0
  628. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/rolled-back.txt +0 -0
  629. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/scaffold/down.sql +0 -0
  630. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/scaffold/up.sql +0 -0
  631. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/mysql/migrate_logs.sql +0 -0
  632. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/mysql/migrates.sql +0 -0
  633. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/oracle/migrate_logs.sql +0 -0
  634. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/oracle/migrates.sql +0 -0
  635. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/postgres/migrate_logs.sql +0 -0
  636. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/postgres/migrates.sql +0 -0
  637. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/sqlite/migrate_logs.sql +0 -0
  638. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/sqlite/migrates.sql +0 -0
  639. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/sqlserver/migrate_logs.sql +0 -0
  640. /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/sqlserver/migrates.sql +0 -0
  641. /package/{dist/bin → orchestrator/dist}/migrate-create.d.ts +0 -0
  642. /package/{dist/bin → orchestrator/dist}/migrate-down.d.ts +0 -0
  643. /package/{dist/bin → orchestrator/dist}/migrate-init.d.ts +0 -0
  644. /package/{dist/bin → orchestrator/dist}/migrate-setup.d.ts +0 -0
  645. /package/{dist/bin → orchestrator/dist}/migrate-up.d.ts +0 -0
package/README.md CHANGED
@@ -1 +1,149 @@
1
- Migrate executables for deterministic-code.
1
+ # Migraters
2
+
3
+ Migraters tracks SQL changes during development and applies them upstream as the project evolves. As a codebase grows in complexity and team size, keeping those changes tracked and in sync becomes harder. Migraters is built for that.
4
+
5
+ The typical workflow is:
6
+
7
+ * On development, create one or more migration files, test them, and run migrate up.
8
+ * On deploy, those scripts are copied to production and migrate up is run again, so the upstream database matches development.
9
+
10
+ The same migrate commands and a consistent API are available in multiple programming languages and across many datasource dialects.
11
+
12
+ ## Install
13
+
14
+ ### Install from npm
15
+
16
+ ```shell
17
+ npm install @deterministic-code/migraters
18
+ npx migrate-init --language typescript --dialect sqlite --dialect postgres
19
+ ```
20
+
21
+ ### Install skill
22
+
23
+ Agent skill for Claude or Cursor: [skill/SKILL.md](skill/SKILL.md).
24
+
25
+ ```shell
26
+ npx skills add https://github.com/deterministic-code/migraters/tree/main/skill -g -a cursor -a claude-code -y --copy
27
+ ```
28
+
29
+ ## Skill Prompts
30
+
31
+ Natural-language prompts the [skill](skill/SKILL.md) maps straight to CLI commands:
32
+
33
+ | Prompt | Runs |
34
+ | --- | --- |
35
+ | Install migraters for sqlite and postgres | `npm install` → `npx migrate-init --language typescript --dialect sqlite --dialect postgres` |
36
+ | Add driver oracle | `npx migrate-init --language <language>` with prior dialects **plus** `oracle` |
37
+ | Create a new migrate | `npx migrate-create` |
38
+ | migrate up | `npx migrate-up` |
39
+ | migrate down | `npx migrate-down` |
40
+
41
+ `npx migrate-init` replaces the language and dialect set, so “add driver” means re-run init with the same `--language`, the previously enabled dialects, and the new one (for example `npx migrate-init --language typescript --dialect sqlite --dialect postgres --dialect oracle` after a sqlite+postgres install). Flag details are under [Commands](#commands).
42
+
43
+ ## Quick example
44
+
45
+ `user.sql`:
46
+
47
+ ```sql
48
+ CREATE TABLE users (
49
+ id INTEGER PRIMARY KEY,
50
+ email TEXT NOT NULL
51
+ );
52
+ ```
53
+
54
+ ```shell
55
+ npx migrate-init --language typescript --dialect sqlite
56
+ npx migrate-setup --provider sqlite --connection ./app.sqlite
57
+ npx migrate-create --provider sqlite --name add_users
58
+ cat user.sql > sql/sqlite/migrations/0001_add_users_up.sql
59
+ npx migrate-up --provider sqlite --connection ./app.sqlite
60
+ ```
61
+
62
+ ## Commands
63
+
64
+ ### init
65
+
66
+ Selects the programming language and dialects this tree will compile and install. `migrate-init` is project setup, not an `IMigrater` method, and it does not take `--connection`. `--language` is required (`typescript`, `csharp`, or `rust`). Repeat `--dialect` once per provider (aliases from [`cli.yaml`](cli.yaml) apply: `pg`, `mssql`, `ora`, and the rest). Re-running replaces the previous language and dialect set. `--all` restores every dialect. Init installs that language’s driver dependencies and builds `migrate-setup`, `migrate-up`, `migrate-down`, and `migrate-create`. Later commands dispatch to those binaries.
67
+
68
+ ```shell
69
+ npx migrate-init --language typescript --dialect sqlite --dialect postgres
70
+ npx migrate-init --language csharp --dialect sqlite
71
+ npx migrate-init --language rust --dialect sqlite
72
+ ```
73
+
74
+ `migrate-init` attaches only the selected dialect packages and builds those binaries. TypeScript installs `@deterministic-code/migraters-<dialect>` (one driver each). C# writes `ProjectReference`s to `Dialects/<Name>/Migrate*.csproj` (each project owns one NuGet driver). Rust still enables Cargo features until its pool is split the same way. A clone does not ship or build the full dialect matrix.
75
+
76
+ ### setup
77
+
78
+ Creates the `migrates` and `migrate_logs` tables and the migrations directory. Idempotent.
79
+
80
+ ```shell
81
+ npx migrate-setup --provider <sqlite|postgres|mysql|sqlserver|oracle> --connection <url> [--migrations-path <dir>] [--and-up] [--create-database]
82
+ ```
83
+
84
+ `--create-database` creates the database named in `--connection` if it does not exist. `--and-up` runs `migrate-up` immediately after setup. Default migrations directory is `./sql/<dialect>/migrations`.
85
+
86
+ ### up
87
+
88
+ Applies every pending migration, each in its own transaction.
89
+
90
+ ```shell
91
+ npx migrate-up --provider <…> --connection <url> [--migrations-path <dir>] [--migrations-root <dir>] [--one]
92
+ ```
93
+
94
+ `--migrations-root` looks under `<root>/<dialect>/migrations` and defaults to `sql`. It is ignored when `--migrations-path` is set. `--one` applies only the next pending migration. A whole-line `GO` (sqlcmd-style) splits a file into batches; each batch is executed separately.
95
+
96
+ ### down
97
+
98
+ Rolls back the most recently applied migration, one step. Type `confirm` at the prompt, or pass `--confirm`.
99
+
100
+ ```shell
101
+ npx migrate-down --provider <…> --connection <url> [--migrations-path <dir>] [--migrations-root <dir>] [--confirm]
102
+ ```
103
+
104
+ ### create
105
+
106
+ Writes the next `<NNNN>_<name>_up.sql` and `<NNNN>_<name>_down.sql` pair. The name must match `^[a-z][a-z0-9_]*$`.
107
+
108
+ ```shell
109
+ npx migrate-create --provider <…> --name <snake_case_slug> [--migrations-path <dir>]
110
+ ```
111
+
112
+ ## API
113
+
114
+ The four `IMigrater` verbs are one contract in every language: argv in [`cli.yaml`](cli.yaml), `IMigrater` in [`api.yaml`](api.yaml). Each language implements that interface. Catalog insert and delete stay inside `up` and `down`. `migrate-init` lives only in [`cli.yaml`](cli.yaml).
115
+
116
+ | Verb | TypeScript [`IMigrater`](typescript/src/abstractions/migrater.ts) | Rust [`IMigrater`](rust/src/migrater.rs) | C# [`IMigrater`](csharp/Abstractions/IMigrater.cs) |
117
+ |---|---|---|---|
118
+ | setup | `setup` | `setup` | `Setup` |
119
+ | up | `up` | `up` | `Up` |
120
+ | down | `down` | `down` | `Down` |
121
+ | create | `create` | `create` | `Create` |
122
+
123
+ ## Language support
124
+
125
+ | Datasource | C# | Rust | TypeScript |
126
+ |---|---|---|---|
127
+ | sqlite | yes | yes | yes |
128
+ | postgres | yes | yes | yes |
129
+ | mysql | yes | yes | yes |
130
+ | sqlserver | yes | yes | yes |
131
+ | oracle | yes | yes | yes |
132
+
133
+ ## Providers
134
+
135
+ `sqlite`, `postgres`, `mysql`, `sqlserver`, and `oracle`.
136
+
137
+ When `--connection` is omitted, the runner reads the first set environment variable for that dialect:
138
+
139
+ | Provider | Environment variables |
140
+ |---|---|
141
+ | sqlite | `SQLITE_PATH`, `DB_PATH` |
142
+ | postgres | `PG_CONNECTION_STRING`, `DATABASE_URL` |
143
+ | mysql | `MYSQL_URL`, `DATABASE_URL` |
144
+ | sqlserver | `MSSQL_URL`, `DATABASE_URL` |
145
+ | oracle | `ORACLE_CONNECT_STRING`, `DATABASE_URL` |
146
+
147
+ ## Specification
148
+
149
+ Shared argv, flags, aliases, exit codes, and command behavior live in [`cli.yaml`](cli.yaml). `IMigrater` (`setup`, `up`, `down`, `create`) lives in [`api.yaml`](api.yaml). `migrate-init` is CLI-only. SQL spelling stays a provider detail.
package/bundle.yaml CHANGED
@@ -23,43 +23,38 @@ languages:
23
23
  dialects:
24
24
  sqlite:
25
25
  files:
26
- - typescript/src/dialects/sqlite-dialect.ts
26
+ - typescript/dialects/sqlite/**
27
27
  - shared/templates/sql/sqlite/**
28
28
  apk: sqlite
29
29
  packages:
30
30
  - name: better-sqlite3
31
- version: "^13.0.3"
32
31
  installScripts: true
33
32
  postgres:
34
33
  files:
35
- - typescript/src/dialects/postgres-dialect.ts
34
+ - typescript/dialects/postgres/**
36
35
  - shared/templates/sql/postgres/**
37
36
  apk: postgresql-client
38
37
  packages:
39
38
  - name: pg
40
- version: "^8.13.0"
41
39
  mysql:
42
40
  files:
43
- - typescript/src/dialects/mysql-dialect.ts
41
+ - typescript/dialects/mysql/**
44
42
  - shared/templates/sql/mysql/**
45
43
  apk: mysql-client
46
44
  packages:
47
45
  - name: mysql2
48
- version: "^3.22.2"
49
46
  sqlserver:
50
47
  files:
51
- - typescript/src/dialects/sqlserver-dialect.ts
48
+ - typescript/dialects/sqlserver/**
52
49
  - shared/templates/sql/sqlserver/**
53
50
  packages:
54
51
  - name: mssql
55
- version: "^12.5.0"
56
52
  oracle:
57
53
  files:
58
- - typescript/src/dialects/oracle-dialect.ts
54
+ - typescript/dialects/oracle/**
59
55
  - shared/templates/sql/oracle/**
60
56
  packages:
61
57
  - name: oracledb
62
- version: "^6.10.0"
63
58
  commands:
64
59
  setup: migrate-setup --provider {{provider}}
65
60
  up: migrate-up --provider {{provider}} --migrate-path {{migrationsPath}}
@@ -100,6 +95,7 @@ languages:
100
95
  - rust/Cargo.toml
101
96
  - rust/rustfmt.toml
102
97
  - rust/src/**/*.rs
98
+ - rust/api/**
103
99
  - rust/init/**
104
100
  - shared/templates/help/**
105
101
  - shared/templates/messages/**
@@ -108,32 +104,27 @@ languages:
108
104
  dialects:
109
105
  sqlite:
110
106
  files:
111
- - rust/src/dialects/sqlite.rs
107
+ - rust/dialects/sqlite/**
112
108
  - shared/templates/sql/sqlite/**
113
109
  apk: sqlite
114
- feature: sqlite
115
110
  postgres:
116
111
  files:
117
- - rust/src/dialects/postgres.rs
112
+ - rust/dialects/postgres/**
118
113
  - shared/templates/sql/postgres/**
119
114
  apk: postgresql-client
120
- feature: postgres
121
115
  mysql:
122
116
  files:
123
- - rust/src/dialects/mysql.rs
117
+ - rust/dialects/mysql/**
124
118
  - shared/templates/sql/mysql/**
125
119
  apk: mysql-client
126
- feature: mysql
127
120
  sqlserver:
128
121
  files:
129
- - rust/src/dialects/sqlserver.rs
122
+ - rust/dialects/sqlserver/**
130
123
  - shared/templates/sql/sqlserver/**
131
- feature: sqlserver
132
124
  oracle:
133
125
  files:
134
- - rust/src/dialects/oracle.rs
126
+ - rust/dialects/oracle/**
135
127
  - shared/templates/sql/oracle/**
136
- feature: oracle
137
128
  commands:
138
129
  setup: migrate-setup --provider {{provider}}
139
130
  up: migrate-up --provider {{provider}} --migrate-path {{migrationsPath}}
@@ -176,6 +167,7 @@ languages:
176
167
  common:
177
168
  - csharp/**/*.cs
178
169
  - csharp/MigrateRunner.csproj
170
+ - csharp/MigrateRunner.Core.csproj
179
171
  - csharp/MigrateInit/MigrateInit.csproj
180
172
  - csharp/GlobalUsings.cs
181
173
  - csharp/.csharpierrc.json
@@ -191,7 +183,7 @@ languages:
191
183
  dialects:
192
184
  sqlite:
193
185
  files:
194
- - csharp/Dialects/SqliteDialect.cs
186
+ - csharp/Dialects/Sqlite/**
195
187
  - shared/templates/sql/sqlite/**
196
188
  apk: sqlite
197
189
  packages:
@@ -199,15 +191,15 @@ languages:
199
191
  version: "9.0.0"
200
192
  postgres:
201
193
  files:
202
- - csharp/Dialects/PostgresDialect.cs
194
+ - csharp/Dialects/Postgres/**
203
195
  - shared/templates/sql/postgres/**
204
196
  apk: postgresql-client
205
197
  packages:
206
198
  - name: Npgsql
207
- version: "9.0.1"
199
+ version: "9.0.2"
208
200
  mysql:
209
201
  files:
210
- - csharp/Dialects/MysqlDialect.cs
202
+ - csharp/Dialects/Mysql/**
211
203
  - shared/templates/sql/mysql/**
212
204
  apk: mysql-client
213
205
  packages:
@@ -215,18 +207,18 @@ languages:
215
207
  version: "2.4.0"
216
208
  sqlserver:
217
209
  files:
218
- - csharp/Dialects/SqlServerDialect.cs
210
+ - csharp/Dialects/SqlServer/**
219
211
  - shared/templates/sql/sqlserver/**
220
212
  packages:
221
213
  - name: Microsoft.Data.SqlClient
222
- version: "6.0.1"
214
+ version: "6.0.2"
223
215
  oracle:
224
216
  files:
225
- - csharp/Dialects/OracleDialect.cs
217
+ - csharp/Dialects/Oracle/**
226
218
  - shared/templates/sql/oracle/**
227
219
  packages:
228
220
  - name: Oracle.ManagedDataAccess.Core
229
- version: "23.7.0"
221
+ version: "23.9.1"
230
222
  commands:
231
223
  setup: migrate-setup --provider {{provider}}
232
224
  up: migrate-up --provider {{provider}} --migrate-path {{migrationsPath}}
package/cli.yaml CHANGED
@@ -14,6 +14,11 @@ providers:
14
14
  - sqlserver
15
15
  - oracle
16
16
 
17
+ languages:
18
+ - typescript
19
+ - csharp
20
+ - rust
21
+
17
22
  # Lookup: lowercase, strip spaces/underscores/hyphens, then match a provider or alias.
18
23
  provider_aliases:
19
24
  sqlite3: sqlite
@@ -69,14 +74,19 @@ connection_environment:
69
74
  commands:
70
75
  - verb: init
71
76
  summary: |
72
- Selects the dialects this tree will compile and install. Repeat --dialect
73
- once per provider. Re-running replaces the previous set. --all restores
77
+ Selects the programming language and dialects this tree will compile and
78
+ install. --language is required. Repeat --dialect once per provider.
79
+ Re-running replaces the previous language and dialect set. --all restores
74
80
  every dialect. Does not take --connection.
75
81
  examples: |
76
- {{command}} --dialect sqlite --dialect postgres
77
- {{command}} --dialect oracle
78
- {{command}} --all
82
+ {{command}} --language typescript --dialect sqlite --dialect postgres
83
+ {{command}} --language csharp --dialect sqlite
84
+ {{command}} --language rust --all
79
85
  args:
86
+ - flag: --language
87
+ placeholder: languages
88
+ required: true
89
+ help: "Programming language runner to install and build. typescript, csharp, or rust."
80
90
  - flag: --dialect
81
91
  placeholder: providers
82
92
  required: false
@@ -92,6 +102,9 @@ commands:
92
102
  and the migrations directory (mkdir -p). Idempotent — re-running against an
93
103
  already-setup database is a no-op. For sqlite, also mkdir -p of the parent
94
104
  directory of --connection so a fresh-tree path like ./.test/foo.sqlite works.
105
+ Pass --create-database to create the database named in --connection if it
106
+ does not exist (postgres, mysql, sqlserver). sqlite creates the file on
107
+ connect. oracle uses the existing service.
95
108
  examples: |
96
109
  # sqlite — bare path or sqlite:// URL; both create a file on disk.
97
110
  {{command}} --provider sqlite --connection ./app.sqlite
@@ -130,6 +143,9 @@ commands:
130
143
  - flag: --and-up
131
144
  required: false
132
145
  help: "After setup, immediately invoke migrate-up so the chain is applied in one step."
146
+ - flag: --create-database
147
+ required: false
148
+ help: "Create the database named in --connection if it does not exist."
133
149
 
134
150
  - verb: up
135
151
  show_connection_env: true
@@ -186,9 +202,8 @@ commands:
186
202
  - verb: down
187
203
  show_connection_env: true
188
204
  summary: |
189
- Rolls back the MOST RECENTLY applied migration (one step). DESTRUCTIVE: prints a
190
- random 4-letter uppercase token on stderr and refuses to proceed unless the
191
- operator types it back on stdin (or passes --confirm <TOKEN> matching it).
205
+ Rolls back the MOST RECENTLY applied migration (one step). DESTRUCTIVE: refuses
206
+ to proceed unless the operator types confirm on stdin, or passes --confirm.
192
207
  examples: |
193
208
  # sqlite — bare path or sqlite:// URL.
194
209
  {{command}} --provider sqlite --connection ./app.sqlite
@@ -230,11 +245,8 @@ commands:
230
245
  Root prefix; the script then looks at <migrations-root>/<dialect>/migrations.
231
246
  Defaults to 'sql'. Ignored when --migrations-path is also set.
232
247
  - flag: --confirm
233
- placeholder: TOKEN
234
248
  required: false
235
- help: |
236
- Skip the interactive prompt. The TOKEN must match the value
237
- printed on stderr at runtime — there is no fixed bypass value.
249
+ help: Skip the interactive prompt.
238
250
 
239
251
  - verb: create
240
252
  summary: |
@@ -0,0 +1,6 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ internal interface IConnectionResolver
4
+ {
5
+ string? FromEnvironment(ISqlDialect dialect);
6
+ }
@@ -0,0 +1,7 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ internal interface IMigrateCommand
4
+ {
5
+ string Name { get; }
6
+ Task<int> RunAsync(string[] args);
7
+ }
@@ -0,0 +1,20 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ internal sealed record SetupArg(string Connection, string MigrationsPath);
4
+
5
+ internal sealed record UpArg(string Connection, string MigrationsPath, bool One = false);
6
+
7
+ internal sealed record DownArg(string Connection, string MigrationsPath);
8
+
9
+ internal sealed record CreateArg(string Name, string MigrationsPath);
10
+
11
+ internal sealed record CreateResponse(string UpName, string DownName);
12
+
13
+ internal interface IMigrater
14
+ {
15
+ string Name { get; }
16
+ Task Setup(SetupArg args);
17
+ Task<IReadOnlyList<string>> Up(UpArg args);
18
+ Task<string?> Down(DownArg args);
19
+ Task<CreateResponse> Create(CreateArg args);
20
+ }
@@ -0,0 +1,23 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ public interface ISqlDialect
4
+ {
5
+ string Name { get; }
6
+ IReadOnlyList<string> ConnectionEnvironmentVariables { get; }
7
+ string MigratesDdl { get; }
8
+ string MigrateLogsDdl { get; }
9
+ string SelectAppliedChecksumSql { get; }
10
+ string InsertAppliedSql { get; }
11
+ string DeleteAppliedSql { get; }
12
+ bool UseTransaction { get; }
13
+ string NowExpr { get; }
14
+ string LimitClause(int n);
15
+ string QuoteIdent(string ident);
16
+ string Placeholder(string name);
17
+ string NormalizeConnectionString(string connection);
18
+ DbConnection CreateConnection(string connectionString);
19
+ string? PrerequisiteError(string connection);
20
+ void PrepareSetup(string connection);
21
+ void AddParameter(DbCommand command, string name, object value);
22
+ Task CreateDatabaseIfMissingAsync(string connection);
23
+ }
@@ -0,0 +1,7 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ internal interface ISqlDialectFactory
4
+ {
5
+ bool TryGet(string name, out ISqlDialect dialect);
6
+ IReadOnlyList<ISqlDialect> All();
7
+ }
@@ -0,0 +1,78 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ public sealed class SqlDialect : ISqlDialect
4
+ {
5
+ private readonly Func<string, string> _normalize;
6
+ private readonly Func<string, DbConnection> _createConnection;
7
+ private readonly Action<DbCommand, string, object> _addParameter;
8
+ private readonly Func<string, string> _quoteIdent;
9
+ private readonly Func<string, string> _placeholder;
10
+ private readonly Func<string, string?>? _prerequisiteError;
11
+ private readonly Action<string>? _prepareSetup;
12
+ private readonly Func<string, Task>? _createDatabase;
13
+ private readonly Func<int, string> _limitClause;
14
+
15
+ public SqlDialect(
16
+ string name,
17
+ IReadOnlyList<string> connectionEnvironmentVariables,
18
+ bool useTransaction,
19
+ Func<string, string> normalizeConnectionString,
20
+ Func<string, DbConnection> createConnection,
21
+ Action<DbCommand, string, object> addParameter,
22
+ Func<string, string> quoteIdent,
23
+ Func<string, string> placeholder,
24
+ Func<string, string?>? prerequisiteError = null,
25
+ Action<string>? prepareSetup = null,
26
+ Func<string, Task>? createDatabase = null,
27
+ string nowExpr = "CURRENT_TIMESTAMP",
28
+ Func<int, string>? limitClause = null
29
+ )
30
+ {
31
+ Name = name;
32
+ ConnectionEnvironmentVariables = connectionEnvironmentVariables;
33
+ UseTransaction = useTransaction;
34
+ NowExpr = nowExpr;
35
+ _normalize = normalizeConnectionString;
36
+ _createConnection = createConnection;
37
+ _addParameter = addParameter;
38
+ _quoteIdent = quoteIdent;
39
+ _placeholder = placeholder;
40
+ _prerequisiteError = prerequisiteError;
41
+ _prepareSetup = prepareSetup;
42
+ _createDatabase = createDatabase;
43
+ _limitClause = limitClause ?? (n => $"LIMIT {n}");
44
+ }
45
+
46
+ public string Name { get; }
47
+ public IReadOnlyList<string> ConnectionEnvironmentVariables { get; }
48
+ public bool UseTransaction { get; }
49
+ public string NowExpr { get; }
50
+ public string MigratesDdl => SqlTemplates.Read(Name, "migrates");
51
+ public string MigrateLogsDdl => SqlTemplates.Read(Name, "migrate_logs");
52
+ public string SelectAppliedChecksumSql =>
53
+ $"SELECT {_quoteIdent("name")} AS name, {_quoteIdent("checksum")} AS checksum FROM {_quoteIdent("migrates")}";
54
+ public string InsertAppliedSql =>
55
+ $"INSERT INTO {_quoteIdent("migrates")} ({_quoteIdent("name")}, {_quoteIdent("checksum")}) VALUES ({_placeholder("p1")}, {_placeholder("p2")})";
56
+ public string DeleteAppliedSql =>
57
+ $"DELETE FROM {_quoteIdent("migrates")} WHERE {_quoteIdent("name")} = {_placeholder("p1")}";
58
+
59
+ public string LimitClause(int n) => _limitClause(n);
60
+ public string QuoteIdent(string ident) => _quoteIdent(ident);
61
+ public string Placeholder(string name) => _placeholder(name);
62
+ public string NormalizeConnectionString(string connection) => _normalize(connection);
63
+ public DbConnection CreateConnection(string connectionString) => _createConnection(connectionString);
64
+ public void AddParameter(DbCommand command, string name, object value) =>
65
+ _addParameter(command, name, value);
66
+ public string? PrerequisiteError(string connection) => _prerequisiteError?.Invoke(connection);
67
+ public void PrepareSetup(string connection) => _prepareSetup?.Invoke(connection);
68
+ public Task CreateDatabaseIfMissingAsync(string connection) =>
69
+ _createDatabase?.Invoke(connection) ?? Task.CompletedTask;
70
+
71
+ public static void Bind(DbCommand command, string parameterName, object value)
72
+ {
73
+ var p = command.CreateParameter();
74
+ p.ParameterName = parameterName;
75
+ p.Value = value;
76
+ command.Parameters.Add(p);
77
+ }
78
+ }
@@ -0,0 +1,24 @@
1
+ namespace Deterministic.MigrateRunner;
2
+
3
+ internal sealed class SqlDialectFactory(IEnumerable<ISqlDialect> dialects) : ISqlDialectFactory
4
+ {
5
+ private readonly ISqlDialect[] _all =
6
+ [
7
+ .. CliSpec.Providers.Select(name => dialects.FirstOrDefault(d => d.Name == name)).OfType<ISqlDialect>(),
8
+ ];
9
+ private readonly IReadOnlyDictionary<string, ISqlDialect> _byName = dialects.ToDictionary(
10
+ d => d.Name,
11
+ StringComparer.Ordinal
12
+ );
13
+
14
+ public IReadOnlyList<ISqlDialect> All() => _all;
15
+
16
+ public bool TryGet(string name, out ISqlDialect dialect)
17
+ {
18
+ var key = MigrateCli.NormalizeProvider(name);
19
+ if (key is not null && _byName.TryGetValue(key, out dialect!))
20
+ return true;
21
+ dialect = null!;
22
+ return false;
23
+ }
24
+ }
@@ -0,0 +1,14 @@
1
+ <Project Sdk="Microsoft.NET.Sdk">
2
+ <PropertyGroup>
3
+ <TargetFramework>net9.0</TargetFramework>
4
+ <Nullable>enable</Nullable>
5
+ <ImplicitUsings>enable</ImplicitUsings>
6
+ <RootNamespace>Deterministic.MigrateRunner</RootNamespace>
7
+ <AssemblyName>MigrateMysql</AssemblyName>
8
+ <IsPackable>false</IsPackable>
9
+ </PropertyGroup>
10
+ <ItemGroup>
11
+ <ProjectReference Include="..\..\MigrateRunner.Core.csproj" />
12
+ <PackageReference Include="MySqlConnector" Version="2.4.0" />
13
+ </ItemGroup>
14
+ </Project>
@@ -0,0 +1,21 @@
1
+ using MySqlConnector;
2
+
3
+ namespace Deterministic.MigrateRunner;
4
+
5
+ internal static class MysqlCreateDatabase
6
+ {
7
+ public static async Task IfMissingAsync(string connection)
8
+ {
9
+ var normalized = MysqlDialect.Instance.NormalizeConnectionString(connection);
10
+ var b = new MySqlConnectionStringBuilder(normalized);
11
+ if (string.IsNullOrEmpty(b.Database))
12
+ return;
13
+ var name = b.Database;
14
+ b.Database = "";
15
+ await using var conn = new MySqlConnection(b.ConnectionString);
16
+ await conn.OpenAsync().ConfigureAwait(false);
17
+ await using var cmd = conn.CreateCommand();
18
+ cmd.CommandText = $"CREATE DATABASE IF NOT EXISTS `{name.Replace("`", "``")}`";
19
+ await cmd.ExecuteNonQueryAsync().ConfigureAwait(false);
20
+ }
21
+ }
@@ -0,0 +1,44 @@
1
+ using MySqlConnector;
2
+
3
+ namespace Deterministic.MigrateRunner;
4
+
5
+ public static class MysqlDialect
6
+ {
7
+ // MySQL DDL auto-commits, so wrapping apply + catalog write gives no atomicity.
8
+ public static readonly ISqlDialect Instance = new SqlDialect(
9
+ "mysql",
10
+ ["MYSQL_URL", "DATABASE_URL"],
11
+ useTransaction: false,
12
+ NormalizeConnection,
13
+ s => new MySqlConnection(s),
14
+ (cmd, n, v) => SqlDialect.Bind(cmd, $"@{n}", v),
15
+ ident => $"`{ident}`",
16
+ name => $"@{name}",
17
+ createDatabase: MysqlCreateDatabase.IfMissingAsync
18
+ );
19
+
20
+ private static string NormalizeConnection(string connection)
21
+ {
22
+ if (ConnectionStringUrl.TryUri(connection, "mysql") is not { } url)
23
+ return connection;
24
+ var uri = new Uri(url);
25
+ var b = new MySqlConnectionStringBuilder
26
+ {
27
+ Server = uri.Host,
28
+ Port = (uint)(uri.Port > 0 ? uri.Port : 3306),
29
+ };
30
+ ConnectionStringUrl.ApplyUriParts(
31
+ uri,
32
+ (u, p) =>
33
+ {
34
+ if (u is not null)
35
+ b.UserID = u;
36
+ if (p is not null)
37
+ b.Password = p;
38
+ },
39
+ db => b.Database = db,
40
+ (k, v) => b[k] = v
41
+ );
42
+ return b.ConnectionString;
43
+ }
44
+ }