@deterministic-code/migraters 0.0.1 → 0.0.3
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.
- package/README.md +149 -0
- package/bundle.yaml +20 -28
- package/cli.yaml +276 -0
- package/csharp/Abstractions/IConnectionResolver.cs +6 -0
- package/csharp/Abstractions/IMigrateCommand.cs +7 -0
- package/csharp/Abstractions/IMigrater.cs +20 -0
- package/csharp/Abstractions/ISqlDialect.cs +23 -0
- package/csharp/Abstractions/ISqlDialectFactory.cs +7 -0
- package/csharp/Abstractions/SqlDialect.cs +78 -0
- package/csharp/Abstractions/SqlDialectFactory.cs +24 -0
- package/csharp/Dialects/Mysql/MigrateMysql.csproj +14 -0
- package/csharp/Dialects/Mysql/MysqlCreateDatabase.cs +21 -0
- package/csharp/Dialects/Mysql/MysqlDialect.cs +44 -0
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateCore.dll +0 -0
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateCore.pdb +0 -0
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.deps.json +213 -0
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.dll +0 -0
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/MigrateMysql.pdb +0 -0
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/cli.yaml +276 -0
- package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/help/down.txt +3 -5
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/init.txt +15 -0
- package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/help/setup.txt +4 -0
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
- package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/down/destructive-header.txt +0 -1
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateM.E580FE7A.Up2Date +0 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.AssemblyInfo.cs +22 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.AssemblyInfoInputs.cache +1 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.GeneratedMSBuildEditorConfig.editorconfig +18 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.GlobalUsings.g.cs +8 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.assets.cache +0 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.AssemblyReference.cache +0 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.CoreCompileInputs.cache +1 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.FileListAbsolute.txt +63 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.dll +0 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.pdb +0 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.sourcelink.json +1 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/ref/MigrateMysql.dll +0 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/refint/MigrateMysql.dll +0 -0
- package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.dgspec.json +172 -0
- package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.g.props +15 -0
- package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.g.targets +6 -0
- package/csharp/Dialects/Mysql/obj/project.assets.json +5081 -0
- package/csharp/Dialects/Mysql/obj/project.nuget.cache +94 -0
- package/csharp/Dialects/Oracle/MigrateOracle.csproj +14 -0
- package/csharp/Dialects/Oracle/OracleDialect.cs +30 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateCore.dll +0 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateCore.pdb +0 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.deps.json +343 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.dll +0 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/MigrateOracle.pdb +0 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/cli.yaml +276 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/create.txt +16 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/down.txt +40 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/init.txt +15 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/setup.txt +45 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/up.txt +43 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift.txt +11 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +2 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/setup-complete.txt +9 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/applied.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/created.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-pending.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/scaffold/down.sql +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/scaffold/up.sql +1 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +11 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +7 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +14 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +10 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +11 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +7 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +11 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +7 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +12 -0
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +8 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateO.BD46121C.Up2Date +0 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.AssemblyInfo.cs +22 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.AssemblyInfoInputs.cache +1 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.GeneratedMSBuildEditorConfig.editorconfig +18 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.GlobalUsings.g.cs +8 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.assets.cache +0 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.AssemblyReference.cache +0 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.CoreCompileInputs.cache +1 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.FileListAbsolute.txt +63 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.dll +0 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.pdb +0 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.sourcelink.json +1 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/ref/MigrateOracle.dll +0 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/refint/MigrateOracle.dll +0 -0
- package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.dgspec.json +172 -0
- package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.g.props +15 -0
- package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.g.targets +2 -0
- package/csharp/Dialects/Oracle/obj/project.assets.json +5414 -0
- package/csharp/Dialects/Oracle/obj/project.nuget.cache +101 -0
- package/csharp/Dialects/Postgres/MigratePostgres.csproj +14 -0
- package/csharp/Dialects/Postgres/PostgresCreateDatabase.cs +31 -0
- package/csharp/Dialects/Postgres/PostgresDialect.cs +43 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigrateCore.dll +0 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigrateCore.pdb +0 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.deps.json +212 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.dll +0 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/MigratePostgres.pdb +0 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/cli.yaml +276 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/create.txt +16 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/down.txt +40 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/init.txt +15 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/setup.txt +45 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/up.txt +43 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift.txt +11 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +2 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/setup-complete.txt +9 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/applied.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/created.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-pending.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/scaffold/down.sql +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/scaffold/up.sql +1 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +11 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +7 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +14 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +10 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +11 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +7 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +11 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +7 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +12 -0
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +8 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigrateP.DF842641.Up2Date +0 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.AssemblyInfo.cs +22 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.AssemblyInfoInputs.cache +1 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.GeneratedMSBuildEditorConfig.editorconfig +18 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.GlobalUsings.g.cs +8 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.assets.cache +0 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.AssemblyReference.cache +0 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.CoreCompileInputs.cache +1 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.FileListAbsolute.txt +63 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.dll +0 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.pdb +0 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.sourcelink.json +1 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/ref/MigratePostgres.dll +0 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/refint/MigratePostgres.dll +0 -0
- package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.dgspec.json +172 -0
- package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.g.props +15 -0
- package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.g.targets +6 -0
- package/csharp/Dialects/Postgres/obj/project.assets.json +5068 -0
- package/csharp/Dialects/Postgres/obj/project.nuget.cache +94 -0
- package/csharp/Dialects/SqlServer/MigrateSqlServer.csproj +14 -0
- package/csharp/Dialects/SqlServer/SqlServerCreateDatabase.cs +21 -0
- package/csharp/Dialects/SqlServer/SqlServerDialect.cs +21 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateCore.dll +0 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateCore.pdb +0 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.deps.json +727 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.dll +0 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/MigrateSqlServer.pdb +0 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/cli.yaml +276 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/create.txt +16 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/down.txt +40 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/init.txt +15 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/setup.txt +45 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/up.txt +43 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift.txt +11 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +2 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/setup-complete.txt +9 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/applied.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/created.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-pending.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/scaffold/down.sql +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/scaffold/up.sql +1 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +11 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +7 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +14 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +10 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +11 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +7 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +11 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +7 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +12 -0
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +8 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateS.6604771C.Up2Date +0 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.AssemblyInfo.cs +22 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.AssemblyInfoInputs.cache +1 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.GeneratedMSBuildEditorConfig.editorconfig +18 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.GlobalUsings.g.cs +8 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.assets.cache +0 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.AssemblyReference.cache +0 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.CoreCompileInputs.cache +1 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.FileListAbsolute.txt +63 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.dll +0 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.pdb +0 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.sourcelink.json +1 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/ref/MigrateSqlServer.dll +0 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/refint/MigrateSqlServer.dll +0 -0
- package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.dgspec.json +172 -0
- package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.g.props +15 -0
- package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.g.targets +7 -0
- package/csharp/Dialects/SqlServer/obj/project.assets.json +6391 -0
- package/csharp/Dialects/SqlServer/obj/project.nuget.cache +122 -0
- package/csharp/Dialects/Sqlite/MigrateSqlite.csproj +14 -0
- package/csharp/Dialects/Sqlite/SqliteDialect.cs +77 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateCore.dll +0 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateCore.pdb +0 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.deps.json +376 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.dll +0 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/MigrateSqlite.pdb +0 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/cli.yaml +276 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/create.txt +16 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/down.txt +40 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/init.txt +15 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/setup.txt +45 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/up.txt +43 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift.txt +11 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +2 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/setup-complete.txt +9 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/applied.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/created.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-pending.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/scaffold/down.sql +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/scaffold/up.sql +1 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +11 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +7 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +14 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +10 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +11 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +7 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +11 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +7 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +12 -0
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +8 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateS.4867C581.Up2Date +0 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.AssemblyInfo.cs +22 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.AssemblyInfoInputs.cache +1 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.GeneratedMSBuildEditorConfig.editorconfig +18 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.GlobalUsings.g.cs +8 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.assets.cache +0 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.AssemblyReference.cache +0 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.CoreCompileInputs.cache +1 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.FileListAbsolute.txt +63 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.dll +0 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.pdb +0 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.sourcelink.json +1 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/ref/MigrateSqlite.dll +0 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/refint/MigrateSqlite.dll +0 -0
- package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.dgspec.json +172 -0
- package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.g.props +15 -0
- package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.g.targets +6 -0
- package/csharp/Dialects/Sqlite/obj/project.assets.json +5263 -0
- package/csharp/Dialects/Sqlite/obj/project.nuget.cache +99 -0
- package/csharp/GlobalUsings.cs +6 -0
- package/csharp/Infrastructure/Checksum.cs +18 -0
- package/csharp/Infrastructure/CliSpec.cs +228 -0
- package/csharp/Infrastructure/ConnectionResolver.cs +9 -0
- package/csharp/Infrastructure/ConnectionStringUrl.cs +47 -0
- package/csharp/Infrastructure/CreateDatabase.cs +7 -0
- package/csharp/Infrastructure/DbExecute.cs +81 -0
- package/csharp/Infrastructure/HelpTemplates.cs +47 -0
- package/csharp/Infrastructure/MigrateCli.cs +159 -0
- package/csharp/Infrastructure/MigrateLog.cs +54 -0
- package/csharp/Infrastructure/Migrater.cs +157 -0
- package/csharp/Infrastructure/Migrations.cs +105 -0
- package/csharp/Infrastructure/SqlTemplates.cs +10 -0
- package/csharp/MigrateCreate.cs +114 -0
- package/csharp/MigrateDown.cs +147 -0
- package/csharp/MigrateRunner.Core.csproj +66 -0
- package/csharp/MigrateRunner.csproj +63 -0
- package/csharp/MigrateRunnerServices.cs +55 -0
- package/csharp/MigrateSetup.cs +145 -0
- package/csharp/MigrateUp.cs +122 -0
- package/csharp/Program.cs +40 -0
- package/{dist → orchestrator/dist}/cli-spec.d.ts +1 -1
- package/{dist → orchestrator/dist}/cli-spec.js +10 -2
- package/orchestrator/dist/config.d.ts +13 -0
- package/orchestrator/dist/config.js +48 -0
- package/orchestrator/dist/dialects.d.ts +2 -0
- package/orchestrator/dist/dialects.js +25 -0
- package/orchestrator/dist/dispatch.d.ts +9 -0
- package/orchestrator/dist/dispatch.js +36 -0
- package/{dist → orchestrator/dist}/help.d.ts +0 -1
- package/orchestrator/dist/help.js +36 -0
- package/orchestrator/dist/languages.d.ts +4 -0
- package/orchestrator/dist/languages.js +12 -0
- package/orchestrator/dist/manifests.d.ts +8 -0
- package/orchestrator/dist/manifests.js +53 -0
- package/orchestrator/dist/migrate-create.js +3 -0
- package/orchestrator/dist/migrate-down.js +3 -0
- package/orchestrator/dist/migrate-init.js +37 -0
- package/orchestrator/dist/migrate-setup.js +3 -0
- package/orchestrator/dist/migrate-up.js +3 -0
- package/orchestrator/dist/parse-init.d.ts +12 -0
- package/orchestrator/dist/parse-init.js +56 -0
- package/orchestrator/dist/repo.d.ts +2 -0
- package/orchestrator/dist/repo.js +19 -0
- package/orchestrator/dist/run-init.d.ts +2 -0
- package/orchestrator/dist/run-init.js +66 -0
- package/orchestrator/dist/run.d.ts +3 -0
- package/orchestrator/dist/run.js +16 -0
- package/orchestrator/prepare.js +21 -0
- package/{tsconfig.build.json → orchestrator/tsconfig.json} +1 -1
- package/package.json +47 -59
- package/rust/Cargo.lock +393 -0
- package/rust/Cargo.toml +29 -0
- package/rust/api/Cargo.toml +8 -0
- package/rust/api/src/lib.rs +231 -0
- package/rust/dialects/mysql/Cargo.toml +11 -0
- package/rust/dialects/mysql/src/lib.rs +231 -0
- package/rust/dialects/oracle/Cargo.toml +11 -0
- package/rust/dialects/oracle/src/lib.rs +245 -0
- package/rust/dialects/postgres/Cargo.toml +11 -0
- package/rust/dialects/postgres/src/lib.rs +235 -0
- package/rust/dialects/sqlite/Cargo.toml +11 -0
- package/rust/dialects/sqlite/src/lib.rs +286 -0
- package/rust/dialects/sqlserver/Cargo.toml +12 -0
- package/rust/dialects/sqlserver/src/lib.rs +235 -0
- package/rust/rustfmt.toml +2 -0
- package/rust/src/abstractions/factory.rs +17 -0
- package/rust/src/abstractions/mod.rs +5 -0
- package/rust/src/abstractions/sql_dialect.rs +1 -0
- package/rust/src/argv.rs +15 -0
- package/rust/src/attached_dialects.rs +2 -0
- package/rust/src/bin/migrate_create.rs +97 -0
- package/rust/src/bin/migrate_down.rs +151 -0
- package/rust/src/bin/migrate_setup.rs +153 -0
- package/rust/src/bin/migrate_up.rs +126 -0
- package/rust/src/checksum.rs +55 -0
- package/rust/src/cli_spec.rs +249 -0
- package/rust/src/dialects/mod.rs +4 -0
- package/rust/src/help.rs +10 -0
- package/rust/src/infrastructure/connection_resolver.rs +8 -0
- package/rust/src/infrastructure/create_database.rs +15 -0
- package/rust/src/infrastructure/mod.rs +9 -0
- package/rust/src/infrastructure/pool.rs +79 -0
- package/rust/src/infrastructure/split_on_go.rs +48 -0
- package/rust/src/lib.rs +115 -0
- package/rust/src/messages.rs +102 -0
- package/rust/src/migrater.rs +224 -0
- package/rust/src/migrations.rs +151 -0
- package/rust/src/provider.rs +57 -0
- package/shared/templates/help/create.txt +16 -0
- package/shared/templates/help/down.txt +40 -0
- package/shared/templates/help/init.txt +15 -0
- package/shared/templates/help/setup.txt +45 -0
- package/shared/templates/help/up.txt +43 -0
- package/shared/templates/messages/checksum-drift-line.txt +1 -0
- package/shared/templates/messages/checksum-drift.txt +11 -0
- package/shared/templates/messages/down/confirm-mismatch.txt +1 -0
- package/shared/templates/messages/down/confirm-prompt.txt +1 -0
- package/shared/templates/messages/down/confirm-stdin-failed.txt +1 -0
- package/shared/templates/messages/down/confirm-token-mismatch.txt +1 -0
- package/shared/templates/messages/down/confirm-tty-required.txt +1 -0
- package/shared/templates/messages/down/destructive-header.txt +2 -0
- package/shared/templates/messages/errors/invalid-name.txt +1 -0
- package/shared/templates/messages/errors/migrate-path-not-dir.txt +1 -0
- package/shared/templates/messages/errors/missing-connection.txt +1 -0
- package/shared/templates/messages/errors/missing-name-hint.txt +1 -0
- package/shared/templates/messages/errors/missing-name.txt +1 -0
- package/shared/templates/messages/errors/missing-provider-hint.txt +1 -0
- package/shared/templates/messages/errors/missing-provider.txt +1 -0
- package/shared/templates/messages/errors/missing-value-for-flag.txt +1 -0
- package/shared/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
- package/shared/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
- package/shared/templates/messages/errors/rollback-not-in-path.txt +1 -0
- package/shared/templates/messages/errors/sqlite-prerequisite.txt +1 -0
- package/shared/templates/messages/errors/unknown-arg.txt +1 -0
- package/shared/templates/messages/errors/unsupported-provider.txt +1 -0
- package/shared/templates/messages/setup-complete.txt +9 -0
- package/shared/templates/messages/status/applied.txt +1 -0
- package/shared/templates/messages/status/created.txt +1 -0
- package/shared/templates/messages/status/no-more-pending.txt +1 -0
- package/shared/templates/messages/status/no-pending.txt +1 -0
- package/shared/templates/messages/status/no-rollback.txt +1 -0
- package/shared/templates/messages/status/rolled-back.txt +1 -0
- package/shared/templates/scaffold/down.sql +1 -0
- package/shared/templates/scaffold/up.sql +1 -0
- package/shared/templates/sql/mysql/migrate_logs.sql +11 -0
- package/shared/templates/sql/mysql/migrates.sql +7 -0
- package/shared/templates/sql/oracle/migrate_logs.sql +14 -0
- package/shared/templates/sql/oracle/migrates.sql +10 -0
- package/shared/templates/sql/postgres/migrate_logs.sql +11 -0
- package/shared/templates/sql/postgres/migrates.sql +7 -0
- package/shared/templates/sql/sqlite/migrate_logs.sql +11 -0
- package/shared/templates/sql/sqlite/migrates.sql +7 -0
- package/shared/templates/sql/sqlserver/migrate_logs.sql +12 -0
- package/shared/templates/sql/sqlserver/migrates.sql +8 -0
- package/typescript/bundle.yaml +254 -0
- package/typescript/dialects/mysql/package.json +12 -0
- package/typescript/dialects/mysql/src/index.ts +4 -0
- package/{src/dialects → typescript/dialects/mysql/src}/mysql-dialect.test.ts +6 -0
- package/{src/dialects → typescript/dialects/mysql/src}/mysql-dialect.ts +20 -12
- package/typescript/dialects/oracle/package.json +13 -0
- package/typescript/dialects/oracle/src/index.ts +4 -0
- package/{src/dialects → typescript/dialects/oracle/src}/oracle-dialect.ts +4 -4
- package/typescript/dialects/postgres/package.json +13 -0
- package/typescript/dialects/postgres/src/index.ts +4 -0
- package/{src/dialects → typescript/dialects/postgres/src}/postgres-dialect.test.ts +18 -0
- package/{src/dialects → typescript/dialects/postgres/src}/postgres-dialect.ts +20 -3
- package/typescript/dialects/sqlite/package.json +13 -0
- package/typescript/dialects/sqlite/src/index.ts +4 -0
- package/{src/dialects → typescript/dialects/sqlite/src}/sqlite-dialect.test.ts +1 -1
- package/{src/dialects → typescript/dialects/sqlite/src}/sqlite-dialect.ts +5 -5
- package/typescript/dialects/sqlserver/package.json +13 -0
- package/typescript/dialects/sqlserver/src/index.ts +4 -0
- package/{src/dialects → typescript/dialects/sqlserver/src}/sqlserver-dialect.test.ts +10 -0
- package/{src/dialects → typescript/dialects/sqlserver/src}/sqlserver-dialect.ts +20 -4
- package/typescript/package.json +46 -0
- package/{src → typescript/src}/abstractions/sql-dialect-base.ts +2 -0
- package/{src → typescript/src}/abstractions/sql-dialect.ts +1 -0
- package/{src → typescript/src}/bin/migrate-down.ts +13 -35
- package/{src → typescript/src}/bin/migrate-setup.ts +8 -0
- package/{src → typescript/src}/cli-spec.ts +10 -1
- package/typescript/src/create-database.test.ts +18 -0
- package/typescript/src/create-database.ts +7 -0
- package/{src → typescript/src}/datasource-migrate.ts +1 -1
- package/typescript/src/infrastructure/default-factory.test.ts +30 -0
- package/typescript/src/infrastructure/default-factory.ts +41 -0
- package/typescript/src/infrastructure/mysql-text-protocol.ts +7 -0
- package/{src → typescript/src}/infrastructure/templates-root.ts +3 -0
- package/{src → typescript/src}/init-select.test.ts +8 -0
- package/{src → typescript/src}/init-select.ts +13 -9
- package/typescript/tsconfig.build.json +20 -0
- package/dist/abstractions/migrater.d.ts +0 -28
- package/dist/abstractions/migrater.js +0 -1
- package/dist/abstractions/sql-dialect-base.d.ts +0 -16
- package/dist/abstractions/sql-dialect-base.js +0 -19
- package/dist/abstractions/sql-dialect-factory.d.ts +0 -8
- package/dist/abstractions/sql-dialect-factory.js +0 -22
- package/dist/abstractions/sql-dialect.d.ts +0 -16
- package/dist/abstractions/sql-dialect.js +0 -1
- package/dist/bin/migrate-create.js +0 -71
- package/dist/bin/migrate-down.js +0 -135
- package/dist/bin/migrate-init.js +0 -77
- package/dist/bin/migrate-setup.js +0 -87
- package/dist/bin/migrate-up.js +0 -97
- package/dist/cli-contract.d.ts +0 -6
- package/dist/cli-contract.js +0 -19
- package/dist/cli.d.ts +0 -9
- package/dist/cli.js +0 -41
- package/dist/create-sequence.d.ts +0 -4
- package/dist/create-sequence.js +0 -16
- package/dist/datasource-migrate.d.ts +0 -31
- package/dist/datasource-migrate.js +0 -206
- package/dist/dialects/mysql-dialect.d.ts +0 -12
- package/dist/dialects/mysql-dialect.js +0 -56
- package/dist/dialects/oracle-dialect.d.ts +0 -18
- package/dist/dialects/oracle-dialect.js +0 -76
- package/dist/dialects/postgres-dialect.d.ts +0 -11
- package/dist/dialects/postgres-dialect.js +0 -58
- package/dist/dialects/sqlite-dialect.d.ts +0 -13
- package/dist/dialects/sqlite-dialect.js +0 -96
- package/dist/dialects/sqlserver-dialect.d.ts +0 -12
- package/dist/dialects/sqlserver-dialect.js +0 -73
- package/dist/help.js +0 -10
- package/dist/index.d.ts +0 -7
- package/dist/index.js +0 -6
- package/dist/infrastructure/connection-resolver.d.ts +0 -7
- package/dist/infrastructure/connection-resolver.js +0 -19
- package/dist/infrastructure/default-factory.d.ts +0 -4
- package/dist/infrastructure/default-factory.js +0 -15
- package/dist/infrastructure/interop-default.d.ts +0 -3
- package/dist/infrastructure/interop-default.js +0 -1
- package/dist/infrastructure/message-templates.d.ts +0 -3
- package/dist/infrastructure/message-templates.js +0 -18
- package/dist/infrastructure/split-on-go.d.ts +0 -2
- package/dist/infrastructure/split-on-go.js +0 -20
- package/dist/infrastructure/sql-templates.d.ts +0 -2
- package/dist/infrastructure/sql-templates.js +0 -4
- package/dist/infrastructure/templates-root.d.ts +0 -2
- package/dist/infrastructure/templates-root.js +0 -11
- package/dist/init-select.d.ts +0 -12
- package/dist/init-select.js +0 -52
- package/dist/migrater.d.ts +0 -12
- package/dist/migrater.js +0 -84
- package/dist/migration-client.d.ts +0 -21
- package/dist/migration-client.js +0 -1
- package/dist/path-exists.d.ts +0 -1
- package/dist/path-exists.js +0 -10
- package/dist/sql.d.ts +0 -3
- package/dist/sql.js +0 -15
- package/dist/templates/help/init.txt +0 -13
- package/dist/templates/messages/down/confirm-prompt.txt +0 -1
- package/dist/templates/messages/down/confirm-token-mismatch.txt +0 -1
- package/dist/templates/messages/down/confirm-tty-required.txt +0 -1
- package/src/bin/migrate-init.ts +0 -88
- package/src/infrastructure/default-factory.test.ts +0 -18
- package/src/infrastructure/default-factory.ts +0 -17
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/help/create.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/help/up.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/checksum-drift-line.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/checksum-drift.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/down/confirm-mismatch.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/down/confirm-stdin-failed.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/invalid-name.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/migrate-path-not-dir.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-connection.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-name-hint.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-name.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-provider-hint.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-provider.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/missing-value-for-flag.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/rollback-no-down-sibling.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/rollback-not-in-path.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/sqlite-prerequisite.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/unknown-arg.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/errors/unsupported-provider.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/setup-complete.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/applied.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/created.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/no-more-pending.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/no-pending.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/no-rollback.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/messages/status/rolled-back.txt +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/scaffold/down.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/scaffold/up.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/mysql/migrate_logs.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/mysql/migrates.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/oracle/migrate_logs.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/oracle/migrates.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/postgres/migrate_logs.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/postgres/migrates.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/sqlite/migrate_logs.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/sqlite/migrates.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/sqlserver/migrate_logs.sql +0 -0
- /package/{dist → csharp/Dialects/Mysql/bin/Debug/net9.0}/templates/sql/sqlserver/migrates.sql +0 -0
- /package/{dist/bin → orchestrator/dist}/migrate-create.d.ts +0 -0
- /package/{dist/bin → orchestrator/dist}/migrate-down.d.ts +0 -0
- /package/{dist/bin → orchestrator/dist}/migrate-init.d.ts +0 -0
- /package/{dist/bin → orchestrator/dist}/migrate-setup.d.ts +0 -0
- /package/{dist/bin → orchestrator/dist}/migrate-up.d.ts +0 -0
- /package/{src/dialects → typescript/dialects/oracle/src}/oracle-dialect.test.ts +0 -0
- /package/{src/dialects → typescript/dialects/sqlite/src}/sqlite-dialect.rollback.test.ts +0 -0
- /package/{src → typescript/src}/abstractions/migrater.ts +0 -0
- /package/{src → typescript/src}/abstractions/sql-dialect-factory.ts +0 -0
- /package/{src → typescript/src}/bin/migrate-create.ts +0 -0
- /package/{src → typescript/src}/bin/migrate-up.ts +0 -0
- /package/{src → typescript/src}/cli-contract.ts +0 -0
- /package/{src → typescript/src}/cli.ts +0 -0
- /package/{src → typescript/src}/create-sequence.ts +0 -0
- /package/{src → typescript/src}/generate-help.test.ts +0 -0
- /package/{src → typescript/src}/generate-help.ts +0 -0
- /package/{src → typescript/src}/help.test.ts +0 -0
- /package/{src → typescript/src}/help.ts +0 -0
- /package/{src → typescript/src}/index.ts +0 -0
- /package/{src → typescript/src}/infrastructure/connection-resolver.ts +0 -0
- /package/{src → typescript/src}/infrastructure/interop-default.test.ts +0 -0
- /package/{src → typescript/src}/infrastructure/interop-default.ts +0 -0
- /package/{src → typescript/src}/infrastructure/message-templates.ts +0 -0
- /package/{src → typescript/src}/infrastructure/split-on-go.ts +0 -0
- /package/{src → typescript/src}/infrastructure/sql-templates.ts +0 -0
- /package/{src → typescript/src}/migrater.ts +0 -0
- /package/{src → typescript/src}/migration-client.ts +0 -0
- /package/{src → typescript/src}/path-exists.ts +0 -0
- /package/{src → typescript/src}/setup-sql.test.ts +0 -0
- /package/{src → typescript/src}/sql.ts +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
122
|
+
- rust/dialects/sqlserver/**
|
|
130
123
|
- shared/templates/sql/sqlserver/**
|
|
131
|
-
feature: sqlserver
|
|
132
124
|
oracle:
|
|
133
125
|
files:
|
|
134
|
-
- rust/
|
|
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/
|
|
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/
|
|
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.
|
|
199
|
+
version: "9.0.2"
|
|
208
200
|
mysql:
|
|
209
201
|
files:
|
|
210
|
-
- csharp/Dialects/
|
|
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/
|
|
210
|
+
- csharp/Dialects/SqlServer/**
|
|
219
211
|
- shared/templates/sql/sqlserver/**
|
|
220
212
|
packages:
|
|
221
213
|
- name: Microsoft.Data.SqlClient
|
|
222
|
-
version: "6.0.
|
|
214
|
+
version: "6.0.2"
|
|
223
215
|
oracle:
|
|
224
216
|
files:
|
|
225
|
-
- csharp/Dialects/
|
|
217
|
+
- csharp/Dialects/Oracle/**
|
|
226
218
|
- shared/templates/sql/oracle/**
|
|
227
219
|
packages:
|
|
228
220
|
- name: Oracle.ManagedDataAccess.Core
|
|
229
|
-
version: "23.
|
|
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
ADDED
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# Source of truth for migrate command names, argv layout, and --help copy.
|
|
2
|
+
# TypeScript, Rust, and C# parsers must match this file.
|
|
3
|
+
# IMigrater (setup, up, down, create) lives in api.yaml. SQL spelling is a provider detail.
|
|
4
|
+
# Help templates in shared/templates/help are generated:
|
|
5
|
+
# npm run generate:help
|
|
6
|
+
# Usage line for each verb: `Usage: migrate-<verb> ` + args in order.
|
|
7
|
+
|
|
8
|
+
command: migrate-{verb}
|
|
9
|
+
|
|
10
|
+
providers:
|
|
11
|
+
- sqlite
|
|
12
|
+
- postgres
|
|
13
|
+
- mysql
|
|
14
|
+
- sqlserver
|
|
15
|
+
- oracle
|
|
16
|
+
|
|
17
|
+
languages:
|
|
18
|
+
- typescript
|
|
19
|
+
- csharp
|
|
20
|
+
- rust
|
|
21
|
+
|
|
22
|
+
# Lookup: lowercase, strip spaces/underscores/hyphens, then match a provider or alias.
|
|
23
|
+
provider_aliases:
|
|
24
|
+
sqlite3: sqlite
|
|
25
|
+
mariadb: mysql
|
|
26
|
+
postgresql: postgres
|
|
27
|
+
pg: postgres
|
|
28
|
+
mssql: sqlserver
|
|
29
|
+
mssqlserver: sqlserver
|
|
30
|
+
ora: oracle
|
|
31
|
+
|
|
32
|
+
exit_codes:
|
|
33
|
+
success: 0
|
|
34
|
+
usage: 2
|
|
35
|
+
runtime: 1
|
|
36
|
+
|
|
37
|
+
help:
|
|
38
|
+
- -h
|
|
39
|
+
- --help
|
|
40
|
+
|
|
41
|
+
help_stream: stderr
|
|
42
|
+
|
|
43
|
+
# Canonical argv is `--flag value`. `--flag=value` is optional extra syntax.
|
|
44
|
+
aliases:
|
|
45
|
+
--migrate-path: --migrations-path
|
|
46
|
+
--migrate-root: --migrations-root
|
|
47
|
+
|
|
48
|
+
env_var_list_separator: " / "
|
|
49
|
+
|
|
50
|
+
migrations:
|
|
51
|
+
path_flag: --migrations-path
|
|
52
|
+
root_flag: --migrations-root
|
|
53
|
+
root_default: sql
|
|
54
|
+
layout: "<root>/<provider>/migrations"
|
|
55
|
+
discovery: top_level_up_down_pairs
|
|
56
|
+
missing_directory: errors/migrate-path-not-dir
|
|
57
|
+
|
|
58
|
+
create:
|
|
59
|
+
name_pattern: "^[a-z][a-z0-9_]*$"
|
|
60
|
+
sequence_digits: 4
|
|
61
|
+
|
|
62
|
+
checksum:
|
|
63
|
+
algorithm: sha256
|
|
64
|
+
drift_bypass: MIGRATE_ALLOW_CHECKSUM_DRIFT
|
|
65
|
+
|
|
66
|
+
# Documented when a command sets show_connection_env: true.
|
|
67
|
+
connection_environment:
|
|
68
|
+
sqlite: [SQLITE_PATH, DB_PATH]
|
|
69
|
+
postgres: [PG_CONNECTION_STRING, DATABASE_URL]
|
|
70
|
+
mysql: [MYSQL_URL, DATABASE_URL]
|
|
71
|
+
sqlserver: [MSSQL_URL, DATABASE_URL]
|
|
72
|
+
oracle: [ORACLE_CONNECT_STRING, DATABASE_URL]
|
|
73
|
+
|
|
74
|
+
commands:
|
|
75
|
+
- verb: init
|
|
76
|
+
summary: |
|
|
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
|
|
80
|
+
every dialect. Does not take --connection.
|
|
81
|
+
examples: |
|
|
82
|
+
{{command}} --language typescript --dialect sqlite --dialect postgres
|
|
83
|
+
{{command}} --language csharp --dialect sqlite
|
|
84
|
+
{{command}} --language rust --all
|
|
85
|
+
args:
|
|
86
|
+
- flag: --language
|
|
87
|
+
placeholder: languages
|
|
88
|
+
required: true
|
|
89
|
+
help: "Programming language runner to install and build. typescript, csharp, or rust."
|
|
90
|
+
- flag: --dialect
|
|
91
|
+
placeholder: providers
|
|
92
|
+
required: false
|
|
93
|
+
help: "Dialect to enable. Repeat for each dialect. Aliases from this file apply."
|
|
94
|
+
- flag: --all
|
|
95
|
+
required: false
|
|
96
|
+
help: "Enable every dialect. Restores the committed full-provider set."
|
|
97
|
+
|
|
98
|
+
- verb: setup
|
|
99
|
+
show_connection_env: true
|
|
100
|
+
summary: |
|
|
101
|
+
Creates the bookkeeping tables (migrates, migrate_logs) for the chosen dialect
|
|
102
|
+
and the migrations directory (mkdir -p). Idempotent — re-running against an
|
|
103
|
+
already-setup database is a no-op. For sqlite, also mkdir -p of the parent
|
|
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.
|
|
108
|
+
examples: |
|
|
109
|
+
# sqlite — bare path or sqlite:// URL; both create a file on disk.
|
|
110
|
+
{{command}} --provider sqlite --connection ./app.sqlite
|
|
111
|
+
{{command}} --provider sqlite --connection sqlite:///absolute/path/app.sqlite
|
|
112
|
+
|
|
113
|
+
# postgres — URL or keyword form.
|
|
114
|
+
{{command}} --provider postgres --connection postgresql://user:pass@host:5432/dbname
|
|
115
|
+
|
|
116
|
+
# mysql — URL form.
|
|
117
|
+
{{command}} --provider mysql --connection mysql://user:pass@host:3306/dbname
|
|
118
|
+
|
|
119
|
+
# sqlserver / oracle — pass a driver-native connection string.
|
|
120
|
+
{{command}} --provider sqlserver --connection "Server=host;Database=dbname;User Id=user;Password=pass;"
|
|
121
|
+
{{command}} --provider oracle --connection "user/pass@host:1521/service"
|
|
122
|
+
|
|
123
|
+
# env-var fallback when --connection is omitted:
|
|
124
|
+
SQLITE_PATH=./app.sqlite {{command}} --provider sqlite
|
|
125
|
+
DATABASE_URL=postgresql://... {{command}} --provider postgres
|
|
126
|
+
DATABASE_URL=mysql://... {{command}} --provider mysql
|
|
127
|
+
|
|
128
|
+
# explicit in-memory sqlite:
|
|
129
|
+
{{command}} --provider sqlite --connection :memory:
|
|
130
|
+
args:
|
|
131
|
+
- flag: --provider
|
|
132
|
+
placeholder: providers
|
|
133
|
+
required: true
|
|
134
|
+
help: "Database dialect. Required."
|
|
135
|
+
- flag: --connection
|
|
136
|
+
placeholder: url
|
|
137
|
+
required: true
|
|
138
|
+
help: "Connection string. Required (or set the per-dialect env var below)."
|
|
139
|
+
- flag: --migrations-path
|
|
140
|
+
placeholder: dir
|
|
141
|
+
required: false
|
|
142
|
+
help: "Migrations directory (default: ./sql/<dialect>/migrations)."
|
|
143
|
+
- flag: --and-up
|
|
144
|
+
required: false
|
|
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."
|
|
149
|
+
|
|
150
|
+
- verb: up
|
|
151
|
+
show_connection_env: true
|
|
152
|
+
summary: |
|
|
153
|
+
Applies ALL pending migrations in sequence, each in its own transaction.
|
|
154
|
+
examples: |
|
|
155
|
+
# sqlite — bare path or sqlite:// URL; both create a file on disk.
|
|
156
|
+
{{command}} --provider sqlite --connection ./app.sqlite
|
|
157
|
+
{{command}} --provider sqlite --connection sqlite:///absolute/path/app.sqlite
|
|
158
|
+
|
|
159
|
+
# postgres — URL or keyword form.
|
|
160
|
+
{{command}} --provider postgres --connection postgresql://user:pass@host:5432/dbname
|
|
161
|
+
|
|
162
|
+
# mysql — URL form.
|
|
163
|
+
{{command}} --provider mysql --connection mysql://user:pass@host:3306/dbname
|
|
164
|
+
|
|
165
|
+
# sqlserver / oracle — pass a driver-native connection string.
|
|
166
|
+
{{command}} --provider sqlserver --connection "Server=host;Database=dbname;User Id=user;Password=pass;"
|
|
167
|
+
{{command}} --provider oracle --connection "user/pass@host:1521/service"
|
|
168
|
+
|
|
169
|
+
# env-var fallback when --connection is omitted:
|
|
170
|
+
SQLITE_PATH=./app.sqlite {{command}} --provider sqlite
|
|
171
|
+
DATABASE_URL=postgresql://... {{command}} --provider postgres
|
|
172
|
+
|
|
173
|
+
# custom migrations layout (default looks under sql/<dialect>/migrations):
|
|
174
|
+
{{command}} --provider sqlite --connection ./app.sqlite --migrations-path ./db/changes/sqlite
|
|
175
|
+
{{command}} --provider sqlite --connection ./app.sqlite --migrations-root ./db/changes
|
|
176
|
+
|
|
177
|
+
# one-shot: apply the next pending migration only, then exit.
|
|
178
|
+
{{command}} --provider sqlite --connection ./app.sqlite --one
|
|
179
|
+
args:
|
|
180
|
+
- flag: --provider
|
|
181
|
+
placeholder: providers
|
|
182
|
+
required: true
|
|
183
|
+
help: "Database dialect. Required."
|
|
184
|
+
- flag: --connection
|
|
185
|
+
placeholder: url
|
|
186
|
+
required: true
|
|
187
|
+
help: "Connection string. Required (or set the per-dialect env var below)."
|
|
188
|
+
- flag: --migrations-path
|
|
189
|
+
placeholder: dir
|
|
190
|
+
required: false
|
|
191
|
+
help: "Full path to the migrations directory (e.g. sql/sqlite/migrations)."
|
|
192
|
+
- flag: --migrations-root
|
|
193
|
+
placeholder: dir
|
|
194
|
+
required: false
|
|
195
|
+
help: |
|
|
196
|
+
Root prefix; the script then looks at <migrations-root>/<dialect>/migrations.
|
|
197
|
+
Defaults to 'sql'. Ignored when --migrations-path is also set.
|
|
198
|
+
- flag: --one
|
|
199
|
+
required: false
|
|
200
|
+
help: "Apply only the next pending migration, then exit. Default is to apply all pending migrations."
|
|
201
|
+
|
|
202
|
+
- verb: down
|
|
203
|
+
show_connection_env: true
|
|
204
|
+
summary: |
|
|
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.
|
|
207
|
+
examples: |
|
|
208
|
+
# sqlite — bare path or sqlite:// URL.
|
|
209
|
+
{{command}} --provider sqlite --connection ./app.sqlite
|
|
210
|
+
{{command}} --provider sqlite --connection sqlite:///absolute/path/app.sqlite
|
|
211
|
+
|
|
212
|
+
# postgres — URL or keyword form.
|
|
213
|
+
{{command}} --provider postgres --connection postgresql://user:pass@host:5432/dbname
|
|
214
|
+
|
|
215
|
+
# mysql — URL form.
|
|
216
|
+
{{command}} --provider mysql --connection mysql://user:pass@host:3306/dbname
|
|
217
|
+
|
|
218
|
+
# sqlserver / oracle — pass a driver-native connection string.
|
|
219
|
+
{{command}} --provider sqlserver --connection "Server=host;Database=dbname;User Id=user;Password=pass;"
|
|
220
|
+
{{command}} --provider oracle --connection "user/pass@host:1521/service"
|
|
221
|
+
|
|
222
|
+
# env-var fallback when --connection is omitted:
|
|
223
|
+
SQLITE_PATH=./app.sqlite {{command}} --provider sqlite
|
|
224
|
+
DATABASE_URL=postgresql://... {{command}} --provider postgres
|
|
225
|
+
|
|
226
|
+
# custom migrations layout (default looks under sql/<dialect>/migrations):
|
|
227
|
+
{{command}} --provider sqlite --connection ./app.sqlite --migrations-path ./db/changes/sqlite
|
|
228
|
+
args:
|
|
229
|
+
- flag: --provider
|
|
230
|
+
placeholder: providers
|
|
231
|
+
required: true
|
|
232
|
+
help: "Database dialect. Required."
|
|
233
|
+
- flag: --connection
|
|
234
|
+
placeholder: url
|
|
235
|
+
required: true
|
|
236
|
+
help: "Connection string. Required (or set the per-dialect env var below)."
|
|
237
|
+
- flag: --migrations-path
|
|
238
|
+
placeholder: dir
|
|
239
|
+
required: false
|
|
240
|
+
help: "Full path to the migrations directory."
|
|
241
|
+
- flag: --migrations-root
|
|
242
|
+
placeholder: dir
|
|
243
|
+
required: false
|
|
244
|
+
help: |
|
|
245
|
+
Root prefix; the script then looks at <migrations-root>/<dialect>/migrations.
|
|
246
|
+
Defaults to 'sql'. Ignored when --migrations-path is also set.
|
|
247
|
+
- flag: --confirm
|
|
248
|
+
required: false
|
|
249
|
+
help: Skip the interactive prompt.
|
|
250
|
+
|
|
251
|
+
- verb: create
|
|
252
|
+
summary: |
|
|
253
|
+
Creates a new <NNNN>_<name>_up.sql + <NNNN>_<name>_down.sql pair scaffolded
|
|
254
|
+
with TODO placeholders. NNNN is one greater than the highest 1-4-digit
|
|
255
|
+
sequence prefix already present in the migrations directory (starts at 0001).
|
|
256
|
+
Legacy timestamp-prefixed filenames are ignored for numbering.
|
|
257
|
+
examples: |
|
|
258
|
+
{{command}} --provider sqlite --name add_users
|
|
259
|
+
{{command}} --provider postgres --name backfill_email_lower --migrations-path ./db/changes/postgres
|
|
260
|
+
args:
|
|
261
|
+
- flag: --provider
|
|
262
|
+
placeholder: providers
|
|
263
|
+
required: true
|
|
264
|
+
help: "Database dialect. Required."
|
|
265
|
+
- flag: --name
|
|
266
|
+
placeholder: snake_case_slug
|
|
267
|
+
required: true
|
|
268
|
+
help: |
|
|
269
|
+
snake_case slug for the new migration. Required. Must
|
|
270
|
+
match /^[a-z][a-z0-9_]*$/.
|
|
271
|
+
- flag: --migrations-path
|
|
272
|
+
placeholder: dir
|
|
273
|
+
required: false
|
|
274
|
+
help: |
|
|
275
|
+
Migrations directory (default: ./sql/<dialect>/migrations).
|
|
276
|
+
Created with mkdir -p if it does not exist.
|
|
@@ -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
|
+
}
|