Skip to content

Commit 8b6731b

Browse files
authored
Merge pull request #153 from Barsonax/feature/optionalldfpersist
Made ldf persist move optional
2 parents 7b46a42 + da3b048 commit 8b6731b

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

xp/mssql/Boot.ps1

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,12 @@ Get-ChildItem -Path $DataPath -Filter "*.mdf" | ForEach-Object {
4040
Invoke-Sqlcmd -Query "IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = '$databaseName') ALTER DATABASE [$databaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE" -Querytimeout 65535 -ConnectionTimeout 65535
4141

4242
Write-Host "### Reattaching '$databaseName'..."
43-
$sqlcmd = "IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = '$databaseName') BEGIN EXEC sp_detach_db [$databaseName] END;CREATE DATABASE [$databaseName] ON (FILENAME = N'$mdfPath'), (FILENAME = N'$ldfPath') FOR ATTACH;"
43+
44+
$sqlcmd = "IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = '$databaseName') BEGIN EXEC sp_detach_db [$databaseName] END;CREATE DATABASE [$databaseName] ON (FILENAME = N'$mdfPath') FOR ATTACH;"
45+
if (Test-Path $ldfPath) {
46+
$sqlcmd = "IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = '$databaseName') BEGIN EXEC sp_detach_db [$databaseName] END;CREATE DATABASE [$databaseName] ON (FILENAME = N'$mdfPath'), (FILENAME = N'$ldfPath') FOR ATTACH;"
47+
}
48+
4449
# Pass in explicit long timeouts because by default its not infinite (in contrary to what the documentation claims)
4550
Invoke-Sqlcmd -Query $sqlcmd -Querytimeout 65535 -ConnectionTimeout 65535
4651
} catch {
@@ -65,4 +70,4 @@ Invoke-Sqlcmd -Query $sqlcmd -Querytimeout 65535 -ConnectionTimeout 65535
6570
Write-Host "### Sitecore databases ready!"
6671

6772
# Call Start.ps1 from the base image https://github.com/Microsoft/mssql-docker/blob/master/windows/mssql-server-windows-developer/dockerfile
68-
& C:\Start.ps1 -sa_password $env:sa_password -ACCEPT_EULA $env:ACCEPT_EULA -attach_dbs \"$env:attach_dbs\" -Verbose
73+
& C:\Start.ps1 -sa_password $env:sa_password -ACCEPT_EULA $env:ACCEPT_EULA -attach_dbs \"$env:attach_dbs\" -Verbose

xp/mssql/Persist-Databases.ps1

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ Get-ChildItem -Path $DataPath -Filter "*.mdf" | ForEach-Object {
2020
throw "Encountered a error while executing a sql query: $msg"
2121
}
2222

23-
Write-Host "### Moving '$mdfPath' and '$ldfPath' to '$InstallPath'"
23+
Write-Host "### Moving '$mdfPath' and optionally '$ldfPath' to '$InstallPath'"
2424
Move-Item $mdfPath -Destination $InstallPath -Force
25-
Move-Item $ldfPath -Destination $InstallPath -Force
25+
if (Test-Path $ldfPath) {
26+
Move-Item $ldfPath -Destination $InstallPath -Force
27+
}
2628
}
2729

2830
if (!((Get-ChildItem $DataPath -Filter "*.mdf" | Measure-Object).Count -eq 0)) {
2931
throw "Something went wrong during persisting the databases as $DataPath is not empty"
30-
}
32+
}

0 commit comments

Comments
 (0)