Import-Module SQLPS -DisableNameChecking $commonModule = Join-Path $PSScriptRoot "Common.psm1" Import-Module $commonModule #region Configuration $sqlInstaceName = 'kretalocal' $databaseName = 'Kreta' $userName = 'kreta' $password = 'Porcica1.' $securePassword = ConvertTo-SecureString $password -AsPlainText -Force $fileToRestore = Join-Path $PSScriptRoot "..\..\Kreta.DataAccess.Migrations\InitialBackup\Kreta_dev_init.bak" $backupPath = "c:\SqlBackupDev" #endregion #region Private functions function Copy-Database($targetDatabaseFile, $backupPath) { $file = Get-Item $targetDatabaseFile $newLocation = Join-Path $backupPath $file.Name Copy-Item $targetDatabaseFile $backupPath -Force return $newLocation = Join-Path $backupPath $file.Name } #endregion #region Main try { Write-Host "---------------------Checking Administrator credentials--------------------------" $checkCredentials = CheckCredentials if($checkCredentials -eq $false) { exit } Write-Host "---------------------Start Logging-----------------------------------------------" StartLogging Write-Host "---------------------Backup Previous Database------------------------------------" Backup-Database $sqlInstaceName $databaseName $userName $securePassword $backupPath Write-Host "---------------------Copy database backup----------------------------------------" $fileToRestore = Copy-Database $fileToRestore $backupPath Write-Host "---------------------Drop Previous Database--------------------------------------" Drop-Database $sqlInstaceName $databaseName $userName $securePassword Write-Host "---------------------Restore New Database----------------------------------------" Restore-Database $sqlInstaceName $databaseName $userName $securePassword $fileToRestore Write-Host "---------------------Reset Environment-------------------------------------------" ResetEnvironment } finally { Write-Host "---------------------Stop Logging------------------------------------------------" StopLogging } #endregion