mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 15:42:48 -05:00
[BEEEP] Use MsSqlMigratorUtility for local development databases (#3850)
* Update migrate.ps1 to use MsSqlMigratorUtility for dev databases * Remove old handwritten scripts * Migrate existing migration records * Update Github Workflow to call MsSqlMigratorUtility directly
This commit is contained in:
@ -2,20 +2,20 @@
|
||||
# Creates the vault_dev database, and runs all the migrations.
|
||||
|
||||
# Due to azure-edge-sql not containing the mssql-tools on ARM, we manually use
|
||||
# the mssql-tools container which runs under x86_64. We should monitor this
|
||||
# in the future and investigate if we can migrate back.
|
||||
# docker-compose --profile mssql exec mssql bash /mnt/helpers/run_migrations.sh @args
|
||||
# the mssql-tools container which runs under x86_64.
|
||||
|
||||
param(
|
||||
[switch]$all = $false,
|
||||
[switch]$postgres = $false,
|
||||
[switch]$mysql = $false,
|
||||
[switch]$mssql = $false,
|
||||
[switch]$sqlite = $false,
|
||||
[switch]$selfhost = $false,
|
||||
[switch]$pipeline = $false
|
||||
[switch]$all,
|
||||
[switch]$postgres,
|
||||
[switch]$mysql,
|
||||
[switch]$mssql,
|
||||
[switch]$sqlite,
|
||||
[switch]$selfhost
|
||||
)
|
||||
|
||||
# Abort on any error
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
if (!$all -and !$postgres -and !$mysql -and !$sqlite) {
|
||||
$mssql = $true;
|
||||
}
|
||||
@ -29,22 +29,27 @@ if ($all -or $postgres -or $mysql -or $sqlite) {
|
||||
}
|
||||
|
||||
if ($all -or $mssql) {
|
||||
if ($selfhost) {
|
||||
$migrationArgs = "-s"
|
||||
} elseif ($pipeline) {
|
||||
$migrationArgs = "-p"
|
||||
function Get-UserSecrets {
|
||||
return dotnet user-secrets list --json --project ../src/Api | ConvertFrom-Json
|
||||
}
|
||||
|
||||
Write-Host "Starting Microsoft SQL Server Migrations"
|
||||
docker run `
|
||||
-v "$(pwd)/helpers/mssql:/mnt/helpers" `
|
||||
-v "$(pwd)/../util/Migrator:/mnt/migrator/" `
|
||||
-v "$(pwd)/.data/mssql:/mnt/data" `
|
||||
--env-file .env `
|
||||
--network=bitwardenserver_default `
|
||||
--rm `
|
||||
mcr.microsoft.com/mssql-tools `
|
||||
/mnt/helpers/run_migrations.sh $migrationArgs
|
||||
if ($selfhost) {
|
||||
$msSqlConnectionString = $(Get-UserSecrets).'dev:selfHostOverride:globalSettings:sqlServer:connectionString'
|
||||
$envName = "self-host"
|
||||
|
||||
Write-Output "Migrating your migrations to use MsSqlMigratorUtility (if needed)"
|
||||
./migrate_migration_record.ps1 -s
|
||||
} else {
|
||||
$msSqlConnectionString = $(Get-UserSecrets).'globalSettings:sqlServer:connectionString'
|
||||
$envName = "cloud"
|
||||
|
||||
Write-Output "Migrating your migrations to use MsSqlMigratorUtility (if needed)"
|
||||
./migrate_migration_record.ps1
|
||||
}
|
||||
|
||||
Write-Host "Starting Microsoft SQL Server Migrations for $envName"
|
||||
|
||||
dotnet run --project ../util/MsSqlMigratorUtility/ "$msSqlConnectionString"
|
||||
}
|
||||
|
||||
$currentDir = Get-Location
|
||||
|
Reference in New Issue
Block a user