@deterministic-code/migraters 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -14
- package/bundle.yaml +15 -15
- package/csharp/Abstractions/IConnectionResolver.cs +1 -1
- package/csharp/Abstractions/IDatasourceProvider.cs +21 -0
- package/csharp/Abstractions/IProviderFactory.cs +7 -0
- package/csharp/Abstractions/ProviderFactory.cs +50 -0
- package/csharp/Directory.Build.props +7 -0
- package/csharp/Directory.Build.targets +7 -0
- package/csharp/GlobalUsings.cs +0 -1
- package/csharp/Infrastructure/CliSpec.cs +33 -1
- package/csharp/Infrastructure/ConnectionResolver.cs +4 -4
- package/csharp/Infrastructure/CreateDatabase.cs +2 -2
- package/csharp/Infrastructure/MigrateCli.cs +23 -27
- package/csharp/Infrastructure/Migrater.cs +53 -54
- package/csharp/Infrastructure/MigratersConfig.cs +66 -0
- package/csharp/Infrastructure/Migrations.cs +0 -18
- package/csharp/MigrateCreate.cs +4 -4
- package/csharp/MigrateDown.cs +6 -8
- package/csharp/MigrateRunner.Core.csproj +8 -3
- package/csharp/MigrateRunner.csproj +13 -1
- package/csharp/MigrateRunnerServices.cs +3 -45
- package/csharp/MigrateSetup.cs +12 -11
- package/csharp/MigrateUp.cs +5 -7
- package/csharp/{Dialects → Providers}/Mysql/MigrateMysql.csproj +2 -0
- package/csharp/{Dialects → Providers}/Mysql/MysqlCreateDatabase.cs +1 -1
- package/csharp/Providers/Mysql/MysqlProvider.cs +67 -0
- package/csharp/{Dialects → Providers}/Oracle/MigrateOracle.csproj +2 -0
- package/csharp/Providers/Oracle/OracleProvider.cs +43 -0
- package/csharp/{Dialects → Providers}/Postgres/MigratePostgres.csproj +2 -0
- package/csharp/{Dialects → Providers}/Postgres/PostgresCreateDatabase.cs +1 -1
- package/csharp/Providers/Postgres/PostgresProvider.cs +74 -0
- package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.AssemblyInfo.cs +3 -1
- package/csharp/Providers/Postgres/obj/MigratePostgres/Debug/net9.0/MigratePostgres.AssemblyInfoInputs.cache +1 -0
- package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.GeneratedMSBuildEditorConfig.editorconfig +1 -1
- package/csharp/Providers/Sql/ConnectionNormalizer.cs +78 -0
- package/csharp/{Infrastructure → Providers/Sql}/DbExecute.cs +2 -2
- package/csharp/Providers/Sql/GlobalUsings.cs +6 -0
- package/csharp/{Infrastructure/MigrateLog.cs → Providers/Sql/SqlCatalog.cs} +20 -5
- package/csharp/{Abstractions/SqlDialect.cs → Providers/Sql/SqlRun.cs} +77 -5
- package/csharp/{Dialects → Providers}/SqlServer/MigrateSqlServer.csproj +2 -0
- package/csharp/Providers/SqlServer/SqlServerProvider.cs +45 -0
- package/csharp/{Dialects → Providers}/Sqlite/MigrateSqlite.csproj +4 -0
- package/csharp/Providers/Sqlite/SqliteProvider.cs +71 -0
- package/orchestrator/dist/config.d.ts +3 -2
- package/orchestrator/dist/config.js +30 -8
- package/orchestrator/dist/manifests.js +6 -6
- package/orchestrator/dist/migrate-create.js +0 -0
- package/orchestrator/dist/migrate-down.js +0 -0
- package/orchestrator/dist/migrate-init.js +0 -0
- package/orchestrator/dist/migrate-setup.js +0 -0
- package/orchestrator/dist/migrate-up.js +0 -0
- package/orchestrator/dist/provider-location.d.ts +7 -0
- package/orchestrator/dist/provider-location.js +23 -0
- package/orchestrator/dist/run-init.js +2 -2
- package/orchestrator/prepare.js +16 -3
- package/package.json +14 -8
- package/rust/Cargo.lock +1 -0
- package/rust/Cargo.toml +3 -0
- package/rust/api/src/lib.rs +99 -151
- package/rust/providers/mysql/Cargo.lock +1430 -0
- package/rust/{dialects → providers}/mysql/Cargo.toml +1 -0
- package/rust/{dialects → providers}/mysql/src/lib.rs +11 -10
- package/rust/providers/oracle/Cargo.lock +486 -0
- package/rust/{dialects → providers}/oracle/Cargo.toml +1 -0
- package/rust/{dialects → providers}/oracle/src/lib.rs +17 -29
- package/rust/providers/postgres/Cargo.lock +1344 -0
- package/rust/{dialects → providers}/postgres/Cargo.toml +1 -0
- package/rust/{dialects → providers}/postgres/src/lib.rs +12 -10
- package/rust/providers/sql/Cargo.toml +8 -0
- package/rust/providers/sql/src/lib.rs +262 -0
- package/rust/providers/sql/src/normalize.rs +63 -0
- package/rust/providers/sqlite/Cargo.lock +1143 -0
- package/rust/{dialects → providers}/sqlite/Cargo.toml +1 -0
- package/rust/{dialects → providers}/sqlite/src/lib.rs +28 -35
- package/rust/providers/sqlserver/Cargo.lock +793 -0
- package/rust/{dialects → providers}/sqlserver/Cargo.toml +1 -0
- package/rust/{dialects → providers}/sqlserver/src/lib.rs +16 -12
- package/rust/src/abstractions/factory.rs +30 -6
- package/rust/src/abstractions/mod.rs +1 -1
- package/rust/src/abstractions/sql_dialect.rs +1 -1
- package/rust/src/attached_dialects.rs +1 -1
- package/rust/src/infrastructure/pool.rs +85 -26
- package/rust/src/lib.rs +212 -16
- package/rust/src/migrater.rs +70 -58
- package/rust/src/migraters_config.rs +90 -0
- package/typescript/bundle.yaml +15 -15
- package/typescript/package.json +6 -4
- package/typescript/providers/mysql/src/index.ts +5 -0
- package/typescript/{dialects/mysql/src/mysql-dialect.test.ts → providers/mysql/src/mysql-provider.test.ts} +13 -3
- package/typescript/{dialects/mysql/src/mysql-dialect.ts → providers/mysql/src/mysql-provider.ts} +49 -2
- package/typescript/providers/oracle/src/index.ts +5 -0
- package/typescript/{dialects/oracle/src/oracle-dialect.test.ts → providers/oracle/src/oracle-provider.test.ts} +14 -3
- package/typescript/{dialects/oracle/src/oracle-dialect.ts → providers/oracle/src/oracle-provider.ts} +46 -19
- package/typescript/providers/postgres/src/index.ts +5 -0
- package/typescript/{dialects/postgres/src/postgres-dialect.test.ts → providers/postgres/src/postgres-provider.test.ts} +13 -3
- package/typescript/{dialects/postgres/src/postgres-dialect.ts → providers/postgres/src/postgres-provider.ts} +38 -2
- package/typescript/providers/sql/connection-normalizer.ts +48 -0
- package/typescript/providers/sql/sql-run.ts +153 -0
- package/typescript/providers/sqlite/src/index.ts +5 -0
- package/typescript/providers/sqlite/src/sqlite-provider.paths.test.ts +28 -0
- package/typescript/{dialects/sqlite/src/sqlite-dialect.rollback.test.ts → providers/sqlite/src/sqlite-provider.rollback.test.ts} +3 -3
- package/typescript/{dialects/sqlite/src/sqlite-dialect.test.ts → providers/sqlite/src/sqlite-provider.test.ts} +11 -23
- package/typescript/{dialects/sqlite/src/sqlite-dialect.ts → providers/sqlite/src/sqlite-provider.ts} +53 -19
- package/typescript/providers/sqlserver/src/index.ts +5 -0
- package/typescript/{dialects/sqlserver/src/sqlserver-dialect.test.ts → providers/sqlserver/src/sqlserver-provider.test.ts} +13 -3
- package/typescript/{dialects/sqlserver/src/sqlserver-dialect.ts → providers/sqlserver/src/sqlserver-provider.ts} +37 -2
- package/typescript/src/abstractions/datasource-provider.ts +26 -0
- package/typescript/src/abstractions/sql-dialect-factory.ts +7 -7
- package/typescript/src/abstractions/sql-dialect.ts +1 -18
- package/typescript/src/cli.ts +7 -5
- package/typescript/src/datasource-migrate.ts +29 -146
- package/typescript/src/index.ts +6 -0
- package/typescript/src/infrastructure/connection-resolver.ts +5 -5
- package/typescript/src/infrastructure/default-factory.test.ts +17 -0
- package/typescript/src/infrastructure/default-factory.ts +30 -27
- package/typescript/src/infrastructure/migraters-config.ts +53 -0
- package/typescript/src/migrater.ts +33 -44
- package/typescript/src/setup-sql.test.ts +6 -4
- package/typescript/tsconfig.build.json +2 -2
- package/csharp/Abstractions/ISqlDialect.cs +0 -23
- package/csharp/Abstractions/ISqlDialectFactory.cs +0 -7
- package/csharp/Abstractions/SqlDialectFactory.cs +0 -24
- package/csharp/Dialects/Mysql/MysqlDialect.cs +0 -44
- 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 +0 -213
- 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 +0 -276
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/create.txt +0 -16
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/down.txt +0 -40
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/init.txt +0 -15
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/setup.txt +0 -45
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/help/up.txt +0 -43
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
- package/csharp/Dialects/Mysql/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateM.E580FE7A.Up2Date +0 -0
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.AssemblyInfo.cs +0 -22
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.AssemblyInfoInputs.cache +0 -1
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.GeneratedMSBuildEditorConfig.editorconfig +0 -18
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.GlobalUsings.g.cs +0 -8
- 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 +0 -1
- package/csharp/Dialects/Mysql/obj/Debug/net9.0/MigrateMysql.csproj.FileListAbsolute.txt +0 -63
- 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 +0 -1
- 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 +0 -172
- package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.g.props +0 -15
- package/csharp/Dialects/Mysql/obj/MigrateMysql.csproj.nuget.g.targets +0 -6
- package/csharp/Dialects/Mysql/obj/project.assets.json +0 -5081
- package/csharp/Dialects/Mysql/obj/project.nuget.cache +0 -94
- package/csharp/Dialects/Oracle/OracleDialect.cs +0 -30
- 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 +0 -343
- 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 +0 -276
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/create.txt +0 -16
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/down.txt +0 -40
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/init.txt +0 -15
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/setup.txt +0 -45
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/help/up.txt +0 -43
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
- package/csharp/Dialects/Oracle/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateO.BD46121C.Up2Date +0 -0
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.AssemblyInfo.cs +0 -22
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.AssemblyInfoInputs.cache +0 -1
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.GeneratedMSBuildEditorConfig.editorconfig +0 -18
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.GlobalUsings.g.cs +0 -8
- 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 +0 -1
- package/csharp/Dialects/Oracle/obj/Debug/net9.0/MigrateOracle.csproj.FileListAbsolute.txt +0 -63
- 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 +0 -1
- 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 +0 -172
- package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.g.props +0 -15
- package/csharp/Dialects/Oracle/obj/MigrateOracle.csproj.nuget.g.targets +0 -2
- package/csharp/Dialects/Oracle/obj/project.assets.json +0 -5414
- package/csharp/Dialects/Oracle/obj/project.nuget.cache +0 -101
- package/csharp/Dialects/Postgres/PostgresDialect.cs +0 -43
- 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 +0 -212
- 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 +0 -276
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/create.txt +0 -16
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/down.txt +0 -40
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/init.txt +0 -15
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/setup.txt +0 -45
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/help/up.txt +0 -43
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
- package/csharp/Dialects/Postgres/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigrateP.DF842641.Up2Date +0 -0
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.AssemblyInfoInputs.cache +0 -1
- 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 +0 -1
- package/csharp/Dialects/Postgres/obj/Debug/net9.0/MigratePostgres.csproj.FileListAbsolute.txt +0 -63
- 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 +0 -1
- 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 +0 -172
- package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.g.props +0 -15
- package/csharp/Dialects/Postgres/obj/MigratePostgres.csproj.nuget.g.targets +0 -6
- package/csharp/Dialects/Postgres/obj/project.assets.json +0 -5068
- package/csharp/Dialects/Postgres/obj/project.nuget.cache +0 -94
- package/csharp/Dialects/SqlServer/SqlServerDialect.cs +0 -21
- 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 +0 -727
- 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 +0 -276
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/create.txt +0 -16
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/down.txt +0 -40
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/init.txt +0 -15
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/setup.txt +0 -45
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/help/up.txt +0 -43
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
- package/csharp/Dialects/SqlServer/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateS.6604771C.Up2Date +0 -0
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.AssemblyInfo.cs +0 -22
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.AssemblyInfoInputs.cache +0 -1
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.GeneratedMSBuildEditorConfig.editorconfig +0 -18
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.GlobalUsings.g.cs +0 -8
- 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 +0 -1
- package/csharp/Dialects/SqlServer/obj/Debug/net9.0/MigrateSqlServer.csproj.FileListAbsolute.txt +0 -63
- 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 +0 -1
- 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 +0 -172
- package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.g.props +0 -15
- package/csharp/Dialects/SqlServer/obj/MigrateSqlServer.csproj.nuget.g.targets +0 -7
- package/csharp/Dialects/SqlServer/obj/project.assets.json +0 -6391
- package/csharp/Dialects/SqlServer/obj/project.nuget.cache +0 -122
- package/csharp/Dialects/Sqlite/SqliteDialect.cs +0 -77
- 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 +0 -376
- 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 +0 -276
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/create.txt +0 -16
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/down.txt +0 -40
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/init.txt +0 -15
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/setup.txt +0 -45
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/help/up.txt +0 -43
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift-line.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/checksum-drift.txt +0 -11
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-mismatch.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-prompt.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-stdin-failed.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-token-mismatch.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/confirm-tty-required.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/down/destructive-header.txt +0 -2
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/invalid-name.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/migrate-path-not-dir.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-connection.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name-hint.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-name.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider-hint.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-provider.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/missing-value-for-flag.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-down-sibling.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-no-rollback-sibling.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/rollback-not-in-path.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/sqlite-prerequisite.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/unknown-arg.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/errors/unsupported-provider.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/setup-complete.txt +0 -9
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/applied.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/created.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-more-pending.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-pending.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/no-rollback.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/messages/status/rolled-back.txt +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/scaffold/down.sql +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/scaffold/up.sql +0 -1
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrate_logs.sql +0 -11
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/mysql/migrates.sql +0 -7
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrate_logs.sql +0 -14
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/oracle/migrates.sql +0 -10
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrate_logs.sql +0 -11
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/postgres/migrates.sql +0 -7
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrate_logs.sql +0 -11
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlite/migrates.sql +0 -7
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrate_logs.sql +0 -12
- package/csharp/Dialects/Sqlite/bin/Debug/net9.0/templates/sql/sqlserver/migrates.sql +0 -8
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateS.4867C581.Up2Date +0 -0
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.AssemblyInfo.cs +0 -22
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.AssemblyInfoInputs.cache +0 -1
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.GeneratedMSBuildEditorConfig.editorconfig +0 -18
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.GlobalUsings.g.cs +0 -8
- 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 +0 -1
- package/csharp/Dialects/Sqlite/obj/Debug/net9.0/MigrateSqlite.csproj.FileListAbsolute.txt +0 -63
- 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 +0 -1
- 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 +0 -172
- package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.g.props +0 -15
- package/csharp/Dialects/Sqlite/obj/MigrateSqlite.csproj.nuget.g.targets +0 -6
- package/csharp/Dialects/Sqlite/obj/project.assets.json +0 -5263
- package/csharp/Dialects/Sqlite/obj/project.nuget.cache +0 -99
- package/rust/src/dialects/mod.rs +0 -4
- package/typescript/dialects/mysql/src/index.ts +0 -4
- package/typescript/dialects/oracle/src/index.ts +0 -4
- package/typescript/dialects/postgres/src/index.ts +0 -4
- package/typescript/dialects/sqlite/src/index.ts +0 -4
- package/typescript/dialects/sqlserver/src/index.ts +0 -4
- package/typescript/src/abstractions/sql-dialect-base.ts +0 -38
- /package/csharp/{Dialects/Mysql/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -0
- /package/csharp/{Dialects/Postgres/obj → Providers/Postgres/obj/MigratePostgres}/Debug/net9.0/MigratePostgres.GlobalUsings.g.cs +0 -0
- /package/csharp/{Dialects → Providers}/SqlServer/SqlServerCreateDatabase.cs +0 -0
- /package/typescript/{dialects → providers}/mysql/package.json +0 -0
- /package/typescript/{dialects → providers}/oracle/package.json +0 -0
- /package/typescript/{dialects → providers}/postgres/package.json +0 -0
- /package/typescript/{src/infrastructure → providers/sql}/split-on-go.ts +0 -0
- /package/typescript/{dialects → providers}/sqlite/package.json +0 -0
- /package/typescript/{dialects → providers}/sqlserver/package.json +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
namespace Deterministic.MigrateRunner;
|
|
2
|
+
|
|
3
|
+
internal static class ConnectionNormalizer
|
|
4
|
+
{
|
|
5
|
+
public static string Sqlite(string? connection)
|
|
6
|
+
{
|
|
7
|
+
var c = connection ?? string.Empty;
|
|
8
|
+
if (c.Contains('=', StringComparison.Ordinal))
|
|
9
|
+
return c;
|
|
10
|
+
if (c.StartsWith("sqlite://", StringComparison.OrdinalIgnoreCase))
|
|
11
|
+
{
|
|
12
|
+
var path = RelativeDotPath(c["sqlite://".Length..]);
|
|
13
|
+
return string.IsNullOrEmpty(path) ? "Data Source=:memory:" : $"Data Source={path}";
|
|
14
|
+
}
|
|
15
|
+
return string.IsNullOrEmpty(c) ? "Data Source=:memory:" : $"Data Source={c}";
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public static bool SqliteIsMemory(string? connection)
|
|
19
|
+
{
|
|
20
|
+
var s = (connection ?? string.Empty).Trim();
|
|
21
|
+
if (s.Length == 0 || string.Equals(s, ":memory:", StringComparison.Ordinal))
|
|
22
|
+
return true;
|
|
23
|
+
var compact = s.Replace(" ", string.Empty, StringComparison.Ordinal);
|
|
24
|
+
return compact.Contains(":memory:", StringComparison.OrdinalIgnoreCase)
|
|
25
|
+
|| compact.Contains("?mode=memory", StringComparison.OrdinalIgnoreCase)
|
|
26
|
+
|| compact.Contains("&mode=memory", StringComparison.OrdinalIgnoreCase)
|
|
27
|
+
|| compact.Contains(";mode=memory", StringComparison.OrdinalIgnoreCase)
|
|
28
|
+
|| compact.StartsWith("mode=memory", StringComparison.OrdinalIgnoreCase);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public static string? SqliteFilesystemPath(string? connection)
|
|
32
|
+
{
|
|
33
|
+
if (SqliteIsMemory(connection))
|
|
34
|
+
return null;
|
|
35
|
+
var s = connection!.Trim();
|
|
36
|
+
var eq = s.IndexOf('=', StringComparison.Ordinal);
|
|
37
|
+
if (eq >= 0)
|
|
38
|
+
{
|
|
39
|
+
var key = s[..eq].Trim().Replace(" ", string.Empty);
|
|
40
|
+
if (string.Equals(key, "DataSource", StringComparison.OrdinalIgnoreCase))
|
|
41
|
+
{
|
|
42
|
+
s = s[(eq + 1)..].Trim();
|
|
43
|
+
var semi = s.IndexOf(';', StringComparison.Ordinal);
|
|
44
|
+
if (semi >= 0)
|
|
45
|
+
s = s[..semi].Trim();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
foreach (var prefix in new[] { "sqlite://", "sqlite:", "file:" })
|
|
49
|
+
{
|
|
50
|
+
if (s.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
|
|
51
|
+
{
|
|
52
|
+
s = s[prefix.Length..];
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
var q = s.IndexOf('?', StringComparison.Ordinal);
|
|
57
|
+
if (q >= 0)
|
|
58
|
+
s = s[..q];
|
|
59
|
+
s = RelativeDotPath(s);
|
|
60
|
+
return s.Length == 0 ? null : s;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// sqlite:///./app.sqlite keeps the URI slash and would open /./app.sqlite.
|
|
64
|
+
private static string RelativeDotPath(string path) =>
|
|
65
|
+
path.StartsWith("/./", StringComparison.Ordinal) ? path[1..] : path;
|
|
66
|
+
|
|
67
|
+
public static string Oracle(string connection)
|
|
68
|
+
{
|
|
69
|
+
var slash = connection.IndexOf('/');
|
|
70
|
+
var at = connection.LastIndexOf('@');
|
|
71
|
+
if (slash <= 0 || at <= slash)
|
|
72
|
+
throw new ArgumentException("Oracle connection must look like user/password@connectString");
|
|
73
|
+
var user = connection[..slash];
|
|
74
|
+
var password = connection[(slash + 1)..at];
|
|
75
|
+
var dataSource = connection[(at + 1)..];
|
|
76
|
+
return $"User Id={user};Password={password};Data Source={dataSource}";
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -19,7 +19,7 @@ internal static class DbExecute
|
|
|
19
19
|
public static async Task CatalogWriteAsync(
|
|
20
20
|
DbConnection conn,
|
|
21
21
|
DbTransaction? tx,
|
|
22
|
-
|
|
22
|
+
SqlRun dialect,
|
|
23
23
|
string sql,
|
|
24
24
|
params (string name, object value)[] parameters
|
|
25
25
|
)
|
|
@@ -35,7 +35,7 @@ internal static class DbExecute
|
|
|
35
35
|
|
|
36
36
|
public static async Task ApplyStatementsAsync(
|
|
37
37
|
DbConnection conn,
|
|
38
|
-
|
|
38
|
+
SqlRun dialect,
|
|
39
39
|
string sql,
|
|
40
40
|
Func<DbTransaction?, Task> catalogWrite
|
|
41
41
|
)
|
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
namespace Deterministic.MigrateRunner;
|
|
2
2
|
|
|
3
|
-
internal static class
|
|
3
|
+
internal static class SqlCatalog
|
|
4
4
|
{
|
|
5
|
-
public static async Task<
|
|
5
|
+
public static async Task<Dictionary<string, string?>> AppliedAsync(DbConnection conn, SqlRun dialect)
|
|
6
|
+
{
|
|
7
|
+
var map = new Dictionary<string, string?>(StringComparer.Ordinal);
|
|
8
|
+
using var cmd = conn.CreateCommand();
|
|
9
|
+
cmd.CommandText = dialect.SelectAppliedChecksumSql;
|
|
10
|
+
using var reader = await cmd.ExecuteReaderAsync().ConfigureAwait(false);
|
|
11
|
+
while (await reader.ReadAsync().ConfigureAwait(false))
|
|
12
|
+
{
|
|
13
|
+
var name = Migrations.CatalogName(reader.GetString(0));
|
|
14
|
+
var checksum = reader.IsDBNull(1) ? null : reader.GetString(1);
|
|
15
|
+
map[name] = checksum;
|
|
16
|
+
}
|
|
17
|
+
return map;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public static async Task<long> InsertLogStartedAsync(
|
|
6
21
|
DbConnection conn,
|
|
7
|
-
|
|
22
|
+
SqlRun dialect,
|
|
8
23
|
string name,
|
|
9
24
|
string direction
|
|
10
25
|
)
|
|
@@ -25,9 +40,9 @@ internal static class MigrateLog
|
|
|
25
40
|
return Convert.ToInt64(value, CultureInfo.InvariantCulture);
|
|
26
41
|
}
|
|
27
42
|
|
|
28
|
-
public static async Task
|
|
43
|
+
public static async Task UpdateLogAsync(
|
|
29
44
|
DbConnection conn,
|
|
30
|
-
|
|
45
|
+
SqlRun dialect,
|
|
31
46
|
long id,
|
|
32
47
|
string status,
|
|
33
48
|
long durationMs,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
namespace Deterministic.MigrateRunner;
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
internal sealed class SqlRun
|
|
4
4
|
{
|
|
5
|
+
private readonly ConcurrentDictionary<string, DbConnection> _open = new(StringComparer.Ordinal);
|
|
5
6
|
private readonly Func<string, string> _normalize;
|
|
6
7
|
private readonly Func<string, DbConnection> _createConnection;
|
|
7
8
|
private readonly Action<DbCommand, string, object> _addParameter;
|
|
@@ -12,9 +13,8 @@ public sealed class SqlDialect : ISqlDialect
|
|
|
12
13
|
private readonly Func<string, Task>? _createDatabase;
|
|
13
14
|
private readonly Func<int, string> _limitClause;
|
|
14
15
|
|
|
15
|
-
public
|
|
16
|
+
public SqlRun(
|
|
16
17
|
string name,
|
|
17
|
-
IReadOnlyList<string> connectionEnvironmentVariables,
|
|
18
18
|
bool useTransaction,
|
|
19
19
|
Func<string, string> normalizeConnectionString,
|
|
20
20
|
Func<string, DbConnection> createConnection,
|
|
@@ -29,7 +29,6 @@ public sealed class SqlDialect : ISqlDialect
|
|
|
29
29
|
)
|
|
30
30
|
{
|
|
31
31
|
Name = name;
|
|
32
|
-
ConnectionEnvironmentVariables = connectionEnvironmentVariables;
|
|
33
32
|
UseTransaction = useTransaction;
|
|
34
33
|
NowExpr = nowExpr;
|
|
35
34
|
_normalize = normalizeConnectionString;
|
|
@@ -44,7 +43,6 @@ public sealed class SqlDialect : ISqlDialect
|
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
public string Name { get; }
|
|
47
|
-
public IReadOnlyList<string> ConnectionEnvironmentVariables { get; }
|
|
48
46
|
public bool UseTransaction { get; }
|
|
49
47
|
public string NowExpr { get; }
|
|
50
48
|
public string MigratesDdl => SqlTemplates.Read(Name, "migrates");
|
|
@@ -68,6 +66,67 @@ public sealed class SqlDialect : ISqlDialect
|
|
|
68
66
|
public Task CreateDatabaseIfMissingAsync(string connection) =>
|
|
69
67
|
_createDatabase?.Invoke(connection) ?? Task.CompletedTask;
|
|
70
68
|
|
|
69
|
+
public async Task Setup(string connection)
|
|
70
|
+
{
|
|
71
|
+
var conn = await OpenAsync(connection, requireExisting: false).ConfigureAwait(false);
|
|
72
|
+
await DbExecute.NonQueryAsync(conn, null, MigratesDdl).ConfigureAwait(false);
|
|
73
|
+
await DbExecute.NonQueryAsync(conn, null, MigrateLogsDdl).ConfigureAwait(false);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
public async Task<IReadOnlyDictionary<string, string?>> Applied(string connection)
|
|
77
|
+
{
|
|
78
|
+
var conn = await OpenAsync(connection, requireExisting: true).ConfigureAwait(false);
|
|
79
|
+
return await SqlCatalog.AppliedAsync(conn, this).ConfigureAwait(false);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
public async Task MigrateUp(string connection, string name, string body, string checksum)
|
|
83
|
+
{
|
|
84
|
+
var conn = await OpenAsync(connection, requireExisting: true).ConfigureAwait(false);
|
|
85
|
+
await DbExecute.ApplyStatementsAsync(
|
|
86
|
+
conn,
|
|
87
|
+
this,
|
|
88
|
+
body,
|
|
89
|
+
tx =>
|
|
90
|
+
DbExecute.CatalogWriteAsync(
|
|
91
|
+
conn,
|
|
92
|
+
tx,
|
|
93
|
+
this,
|
|
94
|
+
InsertAppliedSql,
|
|
95
|
+
("p1", name),
|
|
96
|
+
("p2", checksum)
|
|
97
|
+
)
|
|
98
|
+
).ConfigureAwait(false);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
public async Task MigrateDown(string connection, string name, string body)
|
|
102
|
+
{
|
|
103
|
+
var conn = await OpenAsync(connection, requireExisting: true).ConfigureAwait(false);
|
|
104
|
+
await DbExecute.ApplyStatementsAsync(
|
|
105
|
+
conn,
|
|
106
|
+
this,
|
|
107
|
+
body,
|
|
108
|
+
tx => DbExecute.CatalogWriteAsync(conn, tx, this, DeleteAppliedSql, ("p1", name))
|
|
109
|
+
).ConfigureAwait(false);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
public async Task<long> Log(
|
|
113
|
+
string connection,
|
|
114
|
+
long? id,
|
|
115
|
+
string name,
|
|
116
|
+
string direction,
|
|
117
|
+
string? status,
|
|
118
|
+
long durationMs,
|
|
119
|
+
string? error
|
|
120
|
+
)
|
|
121
|
+
{
|
|
122
|
+
var conn = await OpenAsync(connection, requireExisting: id is not null).ConfigureAwait(false);
|
|
123
|
+
if (id is null)
|
|
124
|
+
return await SqlCatalog.InsertLogStartedAsync(conn, this, name, direction).ConfigureAwait(false);
|
|
125
|
+
await SqlCatalog.UpdateLogAsync(conn, this, id.Value, status ?? "started", durationMs, error)
|
|
126
|
+
.ConfigureAwait(false);
|
|
127
|
+
return id.Value;
|
|
128
|
+
}
|
|
129
|
+
|
|
71
130
|
public static void Bind(DbCommand command, string parameterName, object value)
|
|
72
131
|
{
|
|
73
132
|
var p = command.CreateParameter();
|
|
@@ -75,4 +134,17 @@ public sealed class SqlDialect : ISqlDialect
|
|
|
75
134
|
p.Value = value;
|
|
76
135
|
command.Parameters.Add(p);
|
|
77
136
|
}
|
|
137
|
+
|
|
138
|
+
private async Task<DbConnection> OpenAsync(string connection, bool requireExisting)
|
|
139
|
+
{
|
|
140
|
+
if (requireExisting && PrerequisiteError(connection) is { } error)
|
|
141
|
+
throw new InvalidOperationException(error);
|
|
142
|
+
var key = _normalize(connection);
|
|
143
|
+
if (_open.TryGetValue(key, out var existing))
|
|
144
|
+
return existing;
|
|
145
|
+
var conn = _createConnection(key);
|
|
146
|
+
await conn.OpenAsync().ConfigureAwait(false);
|
|
147
|
+
_open[key] = conn;
|
|
148
|
+
return conn;
|
|
149
|
+
}
|
|
78
150
|
}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
</PropertyGroup>
|
|
10
10
|
<ItemGroup>
|
|
11
11
|
<ProjectReference Include="..\..\MigrateRunner.Core.csproj" />
|
|
12
|
+
<InternalsVisibleTo Include="MigrateRunner.Tests" />
|
|
13
|
+
<InternalsVisibleTo Include="MigrateRunner.ProviderTests" />
|
|
12
14
|
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.0.2" />
|
|
13
15
|
</ItemGroup>
|
|
14
16
|
</Project>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
using Microsoft.Data.SqlClient;
|
|
2
|
+
|
|
3
|
+
namespace Deterministic.MigrateRunner;
|
|
4
|
+
|
|
5
|
+
public sealed class SqlServerProvider : IDatasourceProvider
|
|
6
|
+
{
|
|
7
|
+
private readonly SqlRun _sql = new(
|
|
8
|
+
"sqlserver",
|
|
9
|
+
useTransaction: true,
|
|
10
|
+
connection => connection,
|
|
11
|
+
s => new SqlConnection(s),
|
|
12
|
+
(cmd, n, v) => SqlRun.Bind(cmd, $"@{n}", v),
|
|
13
|
+
ident => $"[{ident}]",
|
|
14
|
+
name => $"@{name}",
|
|
15
|
+
createDatabase: SqlServerCreateDatabase.IfMissingAsync,
|
|
16
|
+
nowExpr: "SYSUTCDATETIME()",
|
|
17
|
+
limitClause: n => $"OFFSET 0 ROWS FETCH NEXT {n} ROWS ONLY"
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
public string Name => _sql.Name;
|
|
21
|
+
public void PrepareSetup(string connection) => _sql.PrepareSetup(connection);
|
|
22
|
+
public Task CreateDatabaseIfMissingAsync(string connection) =>
|
|
23
|
+
_sql.CreateDatabaseIfMissingAsync(connection);
|
|
24
|
+
public Task Setup(string connection) => _sql.Setup(connection);
|
|
25
|
+
public Task<IReadOnlyDictionary<string, string?>> Applied(string connection) =>
|
|
26
|
+
_sql.Applied(connection);
|
|
27
|
+
public Task MigrateUp(string connection, string name, string body, string checksum) =>
|
|
28
|
+
_sql.MigrateUp(connection, name, body, checksum);
|
|
29
|
+
public Task MigrateDown(string connection, string name, string body) =>
|
|
30
|
+
_sql.MigrateDown(connection, name, body);
|
|
31
|
+
public Task<long> Log(
|
|
32
|
+
string connection,
|
|
33
|
+
long? id,
|
|
34
|
+
string name,
|
|
35
|
+
string direction,
|
|
36
|
+
string? status,
|
|
37
|
+
long durationMs,
|
|
38
|
+
string? error
|
|
39
|
+
) => _sql.Log(connection, id, name, direction, status, durationMs, error);
|
|
40
|
+
|
|
41
|
+
internal SqlRun Sql => _sql;
|
|
42
|
+
public string NormalizeConnectionString(string connection) =>
|
|
43
|
+
_sql.NormalizeConnectionString(connection);
|
|
44
|
+
public string? PrerequisiteError(string connection) => _sql.PrerequisiteError(connection);
|
|
45
|
+
}
|
|
@@ -6,9 +6,13 @@
|
|
|
6
6
|
<RootNamespace>Deterministic.MigrateRunner</RootNamespace>
|
|
7
7
|
<AssemblyName>MigrateSqlite</AssemblyName>
|
|
8
8
|
<IsPackable>false</IsPackable>
|
|
9
|
+
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
|
9
10
|
</PropertyGroup>
|
|
10
11
|
<ItemGroup>
|
|
11
12
|
<ProjectReference Include="..\..\MigrateRunner.Core.csproj" />
|
|
13
|
+
<InternalsVisibleTo Include="MigrateRunner.Tests" />
|
|
14
|
+
<InternalsVisibleTo Include="MigrateRunner.ProviderTests" />
|
|
12
15
|
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.0" />
|
|
16
|
+
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.10" />
|
|
13
17
|
</ItemGroup>
|
|
14
18
|
</Project>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
using Microsoft.Data.Sqlite;
|
|
2
|
+
using SQLitePCL;
|
|
3
|
+
|
|
4
|
+
namespace Deterministic.MigrateRunner;
|
|
5
|
+
|
|
6
|
+
public sealed class SqliteProvider : IDatasourceProvider
|
|
7
|
+
{
|
|
8
|
+
private readonly SqlRun _sql;
|
|
9
|
+
|
|
10
|
+
static SqliteProvider() => Batteries.Init();
|
|
11
|
+
|
|
12
|
+
public SqliteProvider()
|
|
13
|
+
{
|
|
14
|
+
_sql = new SqlRun(
|
|
15
|
+
"sqlite",
|
|
16
|
+
useTransaction: true,
|
|
17
|
+
ConnectionNormalizer.Sqlite,
|
|
18
|
+
s => new SqliteConnection(s),
|
|
19
|
+
(cmd, n, v) => SqlRun.Bind(cmd, $"${n}", v),
|
|
20
|
+
ident => $"\"{ident}\"",
|
|
21
|
+
name => $"${name}",
|
|
22
|
+
connection =>
|
|
23
|
+
{
|
|
24
|
+
var path = ConnectionNormalizer.SqliteFilesystemPath(connection);
|
|
25
|
+
return path is null || File.Exists(path)
|
|
26
|
+
? null
|
|
27
|
+
: HelpTemplates.Message(
|
|
28
|
+
"errors/sqlite-prerequisite",
|
|
29
|
+
new Dictionary<string, string> { ["path"] = path }
|
|
30
|
+
);
|
|
31
|
+
},
|
|
32
|
+
PrepareParent
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public string Name => _sql.Name;
|
|
37
|
+
public void PrepareSetup(string connection) => _sql.PrepareSetup(connection);
|
|
38
|
+
public Task CreateDatabaseIfMissingAsync(string connection) =>
|
|
39
|
+
_sql.CreateDatabaseIfMissingAsync(connection);
|
|
40
|
+
public Task Setup(string connection) => _sql.Setup(connection);
|
|
41
|
+
public Task<IReadOnlyDictionary<string, string?>> Applied(string connection) =>
|
|
42
|
+
_sql.Applied(connection);
|
|
43
|
+
public Task MigrateUp(string connection, string name, string body, string checksum) =>
|
|
44
|
+
_sql.MigrateUp(connection, name, body, checksum);
|
|
45
|
+
public Task MigrateDown(string connection, string name, string body) =>
|
|
46
|
+
_sql.MigrateDown(connection, name, body);
|
|
47
|
+
public Task<long> Log(
|
|
48
|
+
string connection,
|
|
49
|
+
long? id,
|
|
50
|
+
string name,
|
|
51
|
+
string direction,
|
|
52
|
+
string? status,
|
|
53
|
+
long durationMs,
|
|
54
|
+
string? error
|
|
55
|
+
) => _sql.Log(connection, id, name, direction, status, durationMs, error);
|
|
56
|
+
|
|
57
|
+
internal SqlRun Sql => _sql;
|
|
58
|
+
public string NormalizeConnectionString(string connection) =>
|
|
59
|
+
_sql.NormalizeConnectionString(connection);
|
|
60
|
+
public string? PrerequisiteError(string connection) => _sql.PrerequisiteError(connection);
|
|
61
|
+
|
|
62
|
+
private static void PrepareParent(string connection)
|
|
63
|
+
{
|
|
64
|
+
var path = ConnectionNormalizer.SqliteFilesystemPath(connection);
|
|
65
|
+
if (path is null)
|
|
66
|
+
return;
|
|
67
|
+
var parent = Path.GetDirectoryName(path);
|
|
68
|
+
if (!string.IsNullOrEmpty(parent))
|
|
69
|
+
Directory.CreateDirectory(parent);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type Language } from './languages.ts';
|
|
2
|
+
import { type ProviderEntry } from './provider-location.ts';
|
|
2
3
|
export declare const CONFIG_NAME = ".migraters.yaml";
|
|
3
4
|
export type MigratersConfig = {
|
|
4
5
|
language: Language;
|
|
5
|
-
|
|
6
|
+
providers: ProviderEntry[];
|
|
6
7
|
binDir: string;
|
|
7
8
|
};
|
|
8
9
|
export declare const configPath: (dir: string) => string;
|
|
9
|
-
export declare const renderConfig: (language: Language, dialects: string[]) => string;
|
|
10
|
+
export declare const renderConfig: (language: Language, dialects: string[], configDir?: string) => string;
|
|
10
11
|
export declare const writeConfig: (dir: string, language: Language, dialects: string[]) => Promise<string>;
|
|
11
12
|
export declare const parseConfig: (raw: string) => MigratersConfig;
|
|
12
13
|
export declare const findConfigPath: (start: string, fallbackRoot?: string) => string | undefined;
|
|
@@ -3,29 +3,51 @@ import { readFile, writeFile } from 'node:fs/promises';
|
|
|
3
3
|
import { dirname, join } from 'node:path';
|
|
4
4
|
import { stringify, parse } from 'yaml';
|
|
5
5
|
import { binDirFor, normalizeLanguage } from "./languages.js";
|
|
6
|
+
import { providerEntries } from "./provider-location.js";
|
|
6
7
|
export const CONFIG_NAME = '.migraters.yaml';
|
|
7
8
|
export const configPath = (dir) => join(dir, CONFIG_NAME);
|
|
8
|
-
export const renderConfig = (language, dialects) => stringify({
|
|
9
|
+
export const renderConfig = (language, dialects, configDir = '') => stringify({
|
|
9
10
|
language,
|
|
10
|
-
dialects,
|
|
11
|
+
providers: providerEntries(language, dialects, configDir),
|
|
11
12
|
binDir: binDirFor(language),
|
|
12
13
|
});
|
|
13
14
|
export const writeConfig = async (dir, language, dialects) => {
|
|
14
15
|
const path = configPath(dir);
|
|
15
|
-
await writeFile(path, renderConfig(language, dialects));
|
|
16
|
+
await writeFile(path, renderConfig(language, dialects, dir));
|
|
17
|
+
if (language === 'typescript') {
|
|
18
|
+
const tsDir = join(dir, 'typescript');
|
|
19
|
+
if (existsSync(tsDir)) {
|
|
20
|
+
await writeFile(configPath(tsDir), renderConfig(language, dialects, tsDir));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
16
23
|
return path;
|
|
17
24
|
};
|
|
18
25
|
export const parseConfig = (raw) => {
|
|
19
26
|
const doc = parse(raw);
|
|
20
|
-
|
|
21
|
-
if (!language) {
|
|
27
|
+
if (!doc || typeof doc.language !== 'string') {
|
|
22
28
|
throw new Error(`${CONFIG_NAME} is missing a valid language`);
|
|
23
29
|
}
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
const language = normalizeLanguage(doc.language);
|
|
31
|
+
if (!language) {
|
|
32
|
+
throw new Error(`${CONFIG_NAME} is missing a valid language`);
|
|
26
33
|
}
|
|
34
|
+
const providers = parseProviders(doc);
|
|
27
35
|
const binDir = typeof doc.binDir === 'string' && doc.binDir.length > 0 ? doc.binDir : binDirFor(language);
|
|
28
|
-
return { language,
|
|
36
|
+
return { language, providers, binDir };
|
|
37
|
+
};
|
|
38
|
+
const parseProviders = (doc) => {
|
|
39
|
+
if (Array.isArray(doc.providers)) {
|
|
40
|
+
return doc.providers.map((item) => {
|
|
41
|
+
if (item &&
|
|
42
|
+
typeof item === 'object' &&
|
|
43
|
+
typeof item.name === 'string' &&
|
|
44
|
+
typeof item.location === 'string') {
|
|
45
|
+
return { name: item.name, location: item.location };
|
|
46
|
+
}
|
|
47
|
+
throw new Error(`${CONFIG_NAME} is missing a providers list`);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
throw new Error(`${CONFIG_NAME} is missing a providers list`);
|
|
29
51
|
};
|
|
30
52
|
export const findConfigPath = (start, fallbackRoot) => {
|
|
31
53
|
let dir = start;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const DIALECT_PROJECTS = {
|
|
2
|
-
sqlite: '
|
|
3
|
-
postgres: '
|
|
4
|
-
mysql: '
|
|
5
|
-
sqlserver: '
|
|
6
|
-
oracle: '
|
|
2
|
+
sqlite: 'Providers/Sqlite/MigrateSqlite.csproj',
|
|
3
|
+
postgres: 'Providers/Postgres/MigratePostgres.csproj',
|
|
4
|
+
mysql: 'Providers/Mysql/MigrateMysql.csproj',
|
|
5
|
+
sqlserver: 'Providers/SqlServer/MigrateSqlServer.csproj',
|
|
6
|
+
oracle: 'Providers/Oracle/MigrateOracle.csproj',
|
|
7
7
|
};
|
|
8
8
|
export const cargoDefaultFeaturesLine = (dialects) => `default = [${dialects.map((name) => `"${name}"`).join(', ')}]`;
|
|
9
9
|
export const setCargoDefaultFeatures = (cargoToml, dialects) => {
|
|
@@ -25,7 +25,7 @@ export const setCargoDefaultFeatures = (cargoToml, dialects) => {
|
|
|
25
25
|
};
|
|
26
26
|
export const rustDialectCrate = (dialect) => `migraters-${dialect}`;
|
|
27
27
|
export const rustDialectIdent = (dialect) => rustDialectCrate(dialect).replaceAll('-', '_');
|
|
28
|
-
export const rustDialectPath = (dialect) => `
|
|
28
|
+
export const rustDialectPath = (dialect) => `providers/${dialect}`;
|
|
29
29
|
export const renderAttachedDialects = (dialects) => [
|
|
30
30
|
'// Generated by migrate-init. Do not edit.',
|
|
31
31
|
'#![allow(unused_imports)]',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Language } from './languages.ts';
|
|
2
|
+
export type ProviderEntry = {
|
|
3
|
+
name: string;
|
|
4
|
+
location: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const providerLocation: (language: Language, name: string, configDir?: string) => string;
|
|
7
|
+
export declare const providerEntries: (language: Language, names: string[], configDir?: string) => ProviderEntry[];
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { basename } from 'node:path';
|
|
2
|
+
const csharpType = {
|
|
3
|
+
sqlite: { dll: 'MigrateSqlite.dll', type: 'Deterministic.MigrateRunner.SqliteProvider' },
|
|
4
|
+
postgres: { dll: 'MigratePostgres.dll', type: 'Deterministic.MigrateRunner.PostgresProvider' },
|
|
5
|
+
mysql: { dll: 'MigrateMysql.dll', type: 'Deterministic.MigrateRunner.MysqlProvider' },
|
|
6
|
+
sqlserver: { dll: 'MigrateSqlServer.dll', type: 'Deterministic.MigrateRunner.SqlServerProvider' },
|
|
7
|
+
oracle: { dll: 'MigrateOracle.dll', type: 'Deterministic.MigrateRunner.OracleProvider' },
|
|
8
|
+
};
|
|
9
|
+
export const providerLocation = (language, name, configDir = '') => {
|
|
10
|
+
if (language === 'csharp') {
|
|
11
|
+
const entry = csharpType[name];
|
|
12
|
+
if (!entry)
|
|
13
|
+
throw new Error(name);
|
|
14
|
+
return `${entry.dll}!${entry.type}`;
|
|
15
|
+
}
|
|
16
|
+
if (language === 'typescript') {
|
|
17
|
+
return basename(configDir) === 'typescript'
|
|
18
|
+
? `providers/${name}/src/index.ts`
|
|
19
|
+
: `typescript/providers/${name}/src/index.ts`;
|
|
20
|
+
}
|
|
21
|
+
return `providers/${name}`;
|
|
22
|
+
};
|
|
23
|
+
export const providerEntries = (language, names, configDir = '') => names.map((name) => ({ name, location: providerLocation(language, name, configDir) }));
|
|
@@ -10,7 +10,7 @@ const dialectPackage = (name) => `@deterministic-code/migraters-${name}`;
|
|
|
10
10
|
const dialectRuntimeDeps = async (tsRoot, dialects) => {
|
|
11
11
|
const names = new Set();
|
|
12
12
|
for (const dialect of dialects) {
|
|
13
|
-
const raw = await readFile(join(tsRoot, '
|
|
13
|
+
const raw = await readFile(join(tsRoot, 'providers', dialect, 'package.json'), 'utf8');
|
|
14
14
|
const pkg = JSON.parse(raw);
|
|
15
15
|
for (const name of Object.keys(pkg.dependencies ?? {})) {
|
|
16
16
|
if (!name.startsWith('@types/'))
|
|
@@ -22,7 +22,7 @@ const dialectRuntimeDeps = async (tsRoot, dialects) => {
|
|
|
22
22
|
const initTypescript = async (root, dialects) => {
|
|
23
23
|
const tsRoot = join(root, 'typescript');
|
|
24
24
|
requireStatus(runCommand(npmCmd(), ['install', ...npmFlags], { cwd: tsRoot }));
|
|
25
|
-
const specs = dialects.map((name) => join(tsRoot, '
|
|
25
|
+
const specs = dialects.map((name) => join(tsRoot, 'providers', name));
|
|
26
26
|
if (specs.length > 0) {
|
|
27
27
|
requireStatus(runCommand(npmCmd(), ['install', ...npmFlags, '--no-save', ...specs], { cwd: tsRoot }));
|
|
28
28
|
}
|
package/orchestrator/prepare.js
CHANGED
|
@@ -5,6 +5,7 @@ import { dirname, join } from 'node:path';
|
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
6
|
|
|
7
7
|
const orch = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const root = join(orch, '..');
|
|
8
9
|
const src = join(orch, 'src', 'migrate-init.ts');
|
|
9
10
|
const built = join(orch, 'dist', 'migrate-init.js');
|
|
10
11
|
if (!existsSync(src)) {
|
|
@@ -14,8 +15,20 @@ if (!existsSync(src)) {
|
|
|
14
15
|
}
|
|
15
16
|
process.exit(0);
|
|
16
17
|
}
|
|
17
|
-
const
|
|
18
|
+
const tsc = join(root, 'node_modules', 'typescript', 'bin', 'tsc');
|
|
19
|
+
if (!existsSync(tsc)) {
|
|
20
|
+
process.stderr.write('typescript is not installed; run npm ci at the repo root\n');
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
const result = spawnSync(process.execPath, [tsc, '-p', join(orch, 'tsconfig.json')], {
|
|
18
24
|
stdio: 'inherit',
|
|
19
|
-
shell: process.platform === 'win32',
|
|
20
25
|
});
|
|
21
|
-
|
|
26
|
+
if ((result.status ?? 1) !== 0) {
|
|
27
|
+
process.exit(result.status ?? 1);
|
|
28
|
+
}
|
|
29
|
+
const gitDir = join(root, '.git');
|
|
30
|
+
const hooks = join(root, '.githooks');
|
|
31
|
+
if (existsSync(src) && existsSync(gitDir) && existsSync(hooks)) {
|
|
32
|
+
spawnSync('git', ['config', 'core.hooksPath', '.githooks'], { cwd: root, stdio: 'ignore' });
|
|
33
|
+
}
|
|
34
|
+
process.exit(0);
|