This repository has been archived by the owner on Mar 30, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup-dev.ps1
76 lines (62 loc) · 2.11 KB
/
setup-dev.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
param([string]$dbProviderName)
#Install-Module -Name sqlserver
Import-Module sqlserver
dotnet restore
$dbName = "webvnext"
$connStr = "Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=webvnext;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
if($dbProviderName.equals("sqlite"))
{
Write-Host "Using SQLite DB provider"
$connStr = "Data Source=App_Data\webvnext.db"
if(-Not (Test-Path "ServerAppApi.Web\App_Data"))
{
New-Item -ItemType directory -Path "ServerAppApi.Web\App_Data"
}
if(Test-Path "ServerAppApi.Web\App_Data\webvnext.db")
{
Remove-Item -Path "ServerAppApi.Web\App_Data\webvnext.db" -Force
}
}
else
{
Write-Host "Using MSSQL DB provider"
$dbProviderName = "MSSQL"
push-location -Path "SQLSERVER:\sql\(localdb)"
$dbPath = "mssqllocaldb\databases\webvnext"
$server = get-item MSSQLLocalDB
# Drop database if already exists
if(Test-Path $dbPath)
{
Write-Host "Removing existing database"
$server.KillAllProcesses($dbName)
$db = get-item $dbPath
$db.Drop()
}
# Create database
$db = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Database -argumentlist $server, $dbName
$db.Create()
Write-Host "Created new webvnext database"
pop-location
}
# Set connection string in user secrets file
Write-Host "Configuring connection string..."
dotnet user-secrets set "connectionStrings:application" $connStr --project ".\DataModel"
dotnet user-secrets set "dbProviderName" $dbProviderName --project ".\DataModel"
# Apply database migrations
dotnet ef database update -p .\DataModel -s .\ServerAppApi.Web
# Import sample data
push-location -Path ".\ServerAppApi.Web"
dotnet run import ..\Data\us-500.csv 1 $dbProviderName "$connStr"
pop-location
# Install npm packages
push-location -Path ".\client-common-lib"
npm install
npm run build
pop-location
push-location -Path ".\ClientApp.Angular"
npm install
pop-location
push-location -Path ".\ClientApp.React"
npm install
pop-location
Write-host "Done"