* Addd variable for production migration transaction level
* Added variable for production migration transaction level with default value
* Clean up comments
* Removed uneeded directive
* Changed time format for timeout on migration
* white space formatting
* white space formatting again
* white space formatting once again
* white space formatting once again
* clean up
* CHnaged to builder.WithoutTransaction()
* Changed to optyion flag from n to nt for notransaction
* Changed to optyion flag from n to no-transaction for without transaction
* Change desription of option
---------
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
* Add SQL script to migrate custom users with specific permissions to User type
Remove 'editAssignedCollections' and 'deleteAssignedCollections' properties from Permissions in OrganizationUser table. Migrate custom users who only have these permissions to the User type.
* Add MySQL migration to migrate custom users with specific permissions to User type
* Add Postgres migration to migrate custom users with specific permissions to User type
* Add Sqlite migration to migrate custom users with specific permissions to User type
* Update AutoFixture usage in tests to resolve creating ILogger mock instances
* Update EF integration tests database contexts to use each respective Migrations assembly. Configure Sqlite instance
* Add RunMigration method to BaseEntityFrameworkRepository
* Add FinalFlexibleCollectionsDataMigrationsTests
* Improve data migration efficiency by using OPENJSON instead of multiple JSON_EXTRACT
* Add batching to the sql data migrations
* Update DbMigrator to run a specific script based on its name
* Update DatabaseDataAttribute to be able to test a specific migration
* Add reference to the migration projects to Infrastructure.IntegrationTest
* Add integration test to test the migration FinalFlexibleCollectionsDataMigrations
* Remove EFIntegration tests and remove RunMigration method from BaseEntityFrameworkRepository
* Add IMigrationTesterService and implementations for SQL and EF migrations
* Add FinalFlexibleCollectionsDataMigrationsTests and remove test from OrganizationUserRepositoryTests
* Update sql data migration script based on performance feedback
* Bump date on EF migration scripts
* Add xmldoc comments to IMigrationTesterService and each implementation
* Bump up the date on the EF migration scripts
* Bump up dates on EF migrations
* Added tests to assert no unwanted changes are made to the permissions json. Refactor tests.
* Revert changes made to DbMigrator and refactor SqlMigrationTesterService to not use it.
* Add method description
* Fix test to assert no changes are made to custom user
* Remove unnecessary COALESCE and SELECT CASE
* Unident lines on SQL script
* Update DatabaseDataAttribute MigrationName property to be nullable
* Fix null reference checks
* Remove unnecessary COALESCE from Postgres script
* Bump dates on migration scripts
* Bump up dates on EF migrations
* Add migration tests for handling null
* Add test for non json values
* Fix test
* Remove migrations
* Recreate EF migrations
* Update Postgres data migration script to check for valid JSON in Permissions column
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
* Add migrator cli
* Ran format
* Acc build workflow
* Change paths in push and pr triggers
* Add build migrator cli to build workflow
* Remove build migrator cli workflow
* Add different levels of logs for verbose
* Rename migratorCLI to MsSqlMigratorUtility
* Add MsSqlMigratorUtility to solution file
* Remove the clean command
* Fix name and path in build workflow
* Add retry logic to DbMigrator instead of invocation
* Add migrator with retry mechanism as a new method
* Log the migration start log to migrate database method
* Fix name in build
* Fix cli leftovers
* Fix exception var name
* String interpolation
* Remove redundant check for number
* Remove CommandDotNet
* dotnet format
* Remove CommandDotNet from packages lock
* Remove all cli
* Trying to remove usings to see if this fixes linter
* Add usings back again - uild is failing
* Remove implicit usings
* Trying to fix linter issues
* Trying to fix linter