ในบความนี้ เรามาสร้าง PowerShell script เพื่อสร้าง database ใหม่บนเครื่อง SQL server กันนะครับ
เริ่มจากเตรียมเครื่องมือให้เรียบร้อย
- เครื่อง computer ที่ใช้อยู่เป็น Windows OS
- ติดตั้ง SQL Server ไว้แล้ว ในตัวอย่งนี้ใช้ SQL server 2014 สามารถติดตั้งด้วย chocolatey ด้วยคำสั่ง choco install mssqlserver2014express แต่ในเครื่องต้องติดตั้ง choco ไว้ก่อนนะครับ จึงจะใช้คำสั่งนี้ได้
- ตรวจสอบว่า PowerShell verion 5 ติดตั้งไว้แล้ว โดย พิมพ์ Windows+R
เพื่อเปิดหน้าต่าง run แล้วพิมพ powershell จากนั้นให้เราใช้คำสั่ง
$PSVersionTable เพื่อดูว่าเรามี PowerShell version 5
- ติดตั้งในเครื่องแล้วยัง ถ้ายังไม่มีหรือมี vesion ตำกว่า แนะนำให้ติดตั้งผ่าน chocolatey คำสั่งที่ใช้คือ
choco install powershell
ทุกอย่างพร้อมแล้วเริ่ม code ได้เลย
- เปิด PowerShell ขึ้นมา
- พิมพ์คำสั่ง New-Item -Path New-Database.ps1 -ItemType File
- เราก็จะได้ file New-Database.ps1 เปิด file นี้ขึ้นมา
- แล้วพิมพ์คำสั่งต่อไปนี้ลงไป New-Database.ps1
$databaseName = "MyDB"
$query = @"
IF db_id('$databaseName') IS NOT NULL
BEGIN
DROP DATABASE $databaseName
select 'exist'
END
CREATE DATABASE $databaseName
"@
Push-Location $PSScriptRoot
Invoke-Sqlcmd -ServerInstance ".\" -Query $query -Database "master"
Pop-Location
คำสั่ง Push-Location แก้ปัญหา Pop-Location switch to SQL server path
เรียกทดสอบการใช้ใช้งานโดยการ run script New-Database.ps1
เปิด PowerShell session และ พิมพ์
.\New-Database.ps1
เปิด SSMS เราก็จะมี database ใหม่สร้างขั้นมาแล้วครับ
ข้อควรระวัง script นี้เหมาะกับ local development เท่านั้น เพราะมี การ drop existing database ด้วย