Skip to content

Commit 46d2468

Browse files
authored
Merge branch 'develop' into feature/improve_installation
2 parents 6ad4856 + 166bf13 commit 46d2468

3 files changed

Lines changed: 21 additions & 9 deletions

File tree

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM mcr.microsoft.com/mssql/server:2017-latest
1+
FROM mcr.microsoft.com/mssql/server:2022-latest
22
ARG ACCEPT_EULA=Y
33
ENV ACCEPT_EULA=N
44
ARG SA_PASSWORD=IMISuserP@s

script/run-initialization.sh

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,35 @@
44
# Wait to be sure that SQL Server came up
55
sleep 60s
66

7+
MSSQL_TOOLS_BASE="/opt/mssql-tools"
8+
MSSQL_TOOLS_VERSION=$(ls -d ${MSSQL_TOOLS_BASE}* 2>/dev/null | sort -V | tail -n 1 | sed "s|${MSSQL_TOOLS_BASE}||")
9+
SQLCMD_PATH="${MSSQL_TOOLS_BASE}${MSSQL_TOOLS_VERSION}/bin/sqlcmd"
10+
711

812
# DATABASE initialisation
913

1014
echo "Database initialisation"
1115
# if the table does not exist it will create the table
1216

1317
# get "1" if the database exist : tr get only the integer, cut only the first integer (the second is the number of row affected)
14-
data=$(/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P $SA_PASSWORD -Q "SELECT COUNT(*) FROM master.dbo.sysdatabases WHERE name = N'$DB_NAME'" | tr -dc '0-9'| cut -c1 )
15-
if [ ${data} -eq "0" ]; then
18+
data=$($SQLCMD_PATH -S localhost -U SA -P $SA_PASSWORD -C -Q "SELECT COUNT(*) FROM master.dbo.sysdatabases WHERE name = N'$DB_NAME'" | tr -dc '0-9'| cut -c1 )
19+
if [[ ${data} -eq "0" ]]; then
1620
echo 'download full demo database'
1721
echo 'create database user'
18-
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P $SA_PASSWORD -Q "CREATE LOGIN $DB_USER WITH PASSWORD='${SA_PASSWORD}', CHECK_POLICY = OFF"
22+
$SQLCMD_PATH -S localhost -U SA -P $SA_PASSWORD -C -Q "CREATE LOGIN $DB_USER WITH PASSWORD='${SA_PASSWORD}', CHECK_POLICY = OFF"
1923
echo "merging files"
2024
./concatenate_files.sh
2125
echo 'create database'
2226
#/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P $SA_PASSWORD -Q "DROP DATABASE IF EXISTS $DB_NAME"
23-
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P $SA_PASSWORD -Q "CREATE DATABASE $DB_NAME"
27+
$SQLCMD_PATH -S localhost -U SA -P $SA_PASSWORD -C -Q "CREATE DATABASE $DB_NAME"
2428

2529
if [ "$DEMO_DATASET" ]; then
2630
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P $SA_PASSWORD -i output/fullDemoDatabase.sql -d $DB_NAME | grep . | uniq -c
2731
else
28-
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P $SA_PASSWORD -i output/fullEmptyDatabase.sql -d $DB_NAME | grep . | uniq -c
32+
$SQLCMD_PATH -S localhost -U SA -P $SA_PASSWORD -C -i output/fullEmptyDatabase.sql -d $DB_NAME | grep . | uniq -c
2933
fi
3034
echo ' give to the user the access to the database'
31-
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P $SA_PASSWORD -Q "EXEC sp_changedbowner '$DB_USER'" -d $DB_NAME
35+
$SQLCMD_PATH -S localhost -U SA -P $SA_PASSWORD -C -Q "EXEC sp_changedbowner '$DB_USER'" -d $DB_NAME
3236
else
3337
echo "database already existing, nothing to do"
3438
fi

sql/base/5_base_data.sql

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,8 +341,16 @@ INSERT [dbo].[tblRoleRight] ([RoleRightID], [RoleID], [RightID], [ValidityFrom],
341341
INSERT [dbo].[tblRoleRight] ([RoleRightID], [RoleID], [RightID], [ValidityFrom], [ValidityTo], [AuditUserId], [LegacyID]) VALUES (193, 6, 131107, CURRENT_TIMESTAMP, NULL, NULL, NULL)
342342
SET IDENTITY_INSERT [dbo].[tblRoleRight] OFF
343343
SET IDENTITY_INSERT [dbo].[tblUsers] ON
344-
345-
INSERT [dbo].[tblUsers] ([UserID], [UserUUID], [LanguageID], [LastName], [OtherNames], [Phone], [LoginName], [RoleID], [HFID], [ValidityFrom], [ValidityTo], [LegacyID], [AuditUserID], [password], [DummyPwd], [EmailId], [PrivateKey], [StoredPassword], [PasswordValidity], [IsAssociated]) VALUES (1, newid(), N'en', N'Admin', N'Admin', N'', N'Admin', 1023, 0, CURRENT_TIMESTAMP, NULL, NULL, 0, 0x001699E55A06FA79F4CA0D06EF15096C02000000DF691E2CE66AA7ABDF65B3E6210C1C04CAAE1A3B1FEE5E266B5FAF4F7D4E95109C92E3205F0145CC, NULL, NULL, N'C1C224B03CD9BC7B6A86D77F5DACE40191766C485CD55DC48CAF9AC873335D6F', N'59E66831C680C19E8736751D5480A7C3291BD8775DF47C19C4D0361FBC1C3438', NULL, NULL)
344+
DECLARE @AdminPassword VARCHAR(MAX) = 'admin123'
345+
DECLARE @AdminPrivateKey VARCHAR(MAX) = 'Admin'
346+
INSERT [dbo].[tblUsers] ([UserID], [LanguageID], [LastName], [OtherNames], [Phone], [LoginName], [RoleID], [HFID], [ValidityFrom],
347+
[ValidityTo], [LegacyID], [AuditUserID], [PrivateKey], [StoredPassword], [PasswordValidity], [IsAssociated])
348+
VALUES (1, N'en', N'Admin', N'Admin', N'', N'Admin', 1023, 0, CURRENT_TIMESTAMP, NULL, NULL, 0,
349+
-- PrivateKey
350+
CONVERT(varchar(max),HASHBYTES('SHA2_256', @AdminPrivateKey),2),
351+
-- [StoredPassword]
352+
CONVERT(varchar(max),HASHBYTES('SHA2_256',CONCAT(@AdminPassword,CONVERT(varchar(max),HASHBYTES('SHA2_256',@AdminPrivateKey),2))),2),
353+
NULL, NULL)
346354
SET IDENTITY_INSERT [dbo].[tblUsers] OFF
347355
SET IDENTITY_INSERT [dbo].[tblUserRole] ON
348356

0 commit comments

Comments
 (0)