From f26ad64cd29805abc7f42cc996236f291fa01871 Mon Sep 17 00:00:00 2001 From: Steve Williams <90905675+stevewgr@users.noreply.github.com> Date: Wed, 22 May 2024 15:49:59 -0400 Subject: [PATCH] Update create_login.sql to be templated based on ko_db argument. --- import.ps1 | 7 +++++-- src/misc/create_login.sql | 16 ++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/import.ps1 b/import.ps1 index 88a4bf8..5985a0f 100644 --- a/import.ps1 +++ b/import.ps1 @@ -141,8 +141,11 @@ function RunMigrationScriptsAndGenerateDiffs { function CreateDbCredentials { MessageInfo "`n`n### Creating login and user for $db_name... ###" - Message "src/misc/create_login.sql" - InvokeSqlScript -script_path "src/misc/create_login.sql" + $login_script_file = "src/misc/create_login.sql" + Message $login_script_file + $output_script_file = Join-Path $env:TEMP "create_login_$(New-Guid).sql" + (Get-Content $login_script_file) -replace "###DB_NAME###", $db_name | Out-File $output_script_file + InvokeSqlScript -script_path "$output_script_file" } function Main { diff --git a/src/misc/create_login.sql b/src/misc/create_login.sql index 70d03d3..e356536 100644 --- a/src/misc/create_login.sql +++ b/src/misc/create_login.sql @@ -1,12 +1,12 @@ USE [master] -IF EXISTS (SELECT * FROM sys.server_principals WHERE name = N'kodb_user') - DROP LOGIN [kodb_user]; -CREATE LOGIN [kodb_user] WITH PASSWORD=N'kodb_user', DEFAULT_DATABASE=[kodb], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON; +IF EXISTS (SELECT * FROM sys.server_principals WHERE name = N'###DB_NAME###_user') + DROP LOGIN [###DB_NAME###_user]; +CREATE LOGIN [###DB_NAME###_user] WITH PASSWORD=N'###DB_NAME###_user', DEFAULT_DATABASE=[###DB_NAME###], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON; GO -USE [kodb] -IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N'kodb_user') - DROP USER [kodb_user]; -CREATE USER [kodb_user] FOR LOGIN [kodb_user]; -EXEC sp_addrolemember N'db_owner', N'kodb_user'; +USE [###DB_NAME###] +IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N'###DB_NAME###_user') + DROP USER [###DB_NAME###_user]; +CREATE USER [###DB_NAME###_user] FOR LOGIN [###DB_NAME###_user]; +EXEC sp_addrolemember N'db_owner', N'###DB_NAME###_user'; GO