Skip to content

Commit 531dfd8

Browse files
committed
fix: let Users identity column auto-assign instead of explicit UserId
1 parent 2c0593b commit 531dfd8

1 file changed

Lines changed: 13 additions & 14 deletions

File tree

cloudformation/scenarios/localgov-ims/docker/seed-data.sql

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -140,39 +140,38 @@ END
140140
-- 4. Additional staff users
141141
PRINT '=== Seeding staff users ==='
142142

143-
DECLARE @maxUid INT;
144-
SELECT @maxUid = ISNULL(MAX(UserId), 2) FROM Users WHERE UserId > 0;
143+
DECLARE @newUid INT;
145144

146145
IF NOT EXISTS (SELECT 1 FROM Users WHERE UserName = 'finance.officer')
147146
BEGIN
148-
SET @maxUid = @maxUid + 1;
149-
INSERT INTO Users (UserId, UserName, DisplayName, Disabled, ExpiryDays, CreatedAt, OfficeCode)
150-
VALUES (@maxUid, 'finance.officer', 'Finance Officer', 0, 365, GETDATE(), 'S');
147+
INSERT INTO Users (UserName, DisplayName, Disabled, ExpiryDays, CreatedAt, OfficeCode)
148+
VALUES ('finance.officer', 'Finance Officer', 0, 365, GETDATE(), 'S');
149+
SET @newUid = SCOPE_IDENTITY();
151150
INSERT INTO AspNetUsers (Id, Email, EmailConfirmed, PasswordHash, SecurityStamp, PhoneNumberConfirmed, TwoFactorEnabled, LockoutEnabled, AccessFailedCount, UserName)
152151
VALUES (LOWER(NEWID()), 'finance@demo.local', 1, '', NEWID(), 0, 0, 0, 0, 'finance.officer');
153-
INSERT INTO UserRoles (UserId, RoleId) SELECT @maxUid, RoleId FROM Roles WHERE [Name] IN ('Transaction.List','Transaction.Details','Transaction.Create','Transfer');
152+
INSERT INTO UserRoles (UserId, RoleId) SELECT @newUid, RoleId FROM Roles WHERE [Name] IN ('Transaction.List','Transaction.Details','Transaction.Create','Transfer');
154153
PRINT ' Created finance.officer'
155154
END
156155

157156
IF NOT EXISTS (SELECT 1 FROM Users WHERE UserName = 'cashier')
158157
BEGIN
159-
SET @maxUid = @maxUid + 1;
160-
INSERT INTO Users (UserId, UserName, DisplayName, Disabled, ExpiryDays, CreatedAt, OfficeCode)
161-
VALUES (@maxUid, 'cashier', 'Cashier', 0, 365, GETDATE(), 'S');
158+
INSERT INTO Users (UserName, DisplayName, Disabled, ExpiryDays, CreatedAt, OfficeCode)
159+
VALUES ('cashier', 'Cashier', 0, 365, GETDATE(), 'S');
160+
SET @newUid = SCOPE_IDENTITY();
162161
INSERT INTO AspNetUsers (Id, Email, EmailConfirmed, PasswordHash, SecurityStamp, PhoneNumberConfirmed, TwoFactorEnabled, LockoutEnabled, AccessFailedCount, UserName)
163162
VALUES (LOWER(NEWID()), 'cashier@demo.local', 1, '', NEWID(), 0, 0, 0, 0, 'cashier');
164-
INSERT INTO UserRoles (UserId, RoleId) SELECT @maxUid, RoleId FROM Roles WHERE [Name] IN ('Transaction.List','Transaction.Details','Transaction.Create');
163+
INSERT INTO UserRoles (UserId, RoleId) SELECT @newUid, RoleId FROM Roles WHERE [Name] IN ('Transaction.List','Transaction.Details','Transaction.Create');
165164
PRINT ' Created cashier'
166165
END
167166

168167
IF NOT EXISTS (SELECT 1 FROM Users WHERE UserName = 'auditor')
169168
BEGIN
170-
SET @maxUid = @maxUid + 1;
171-
INSERT INTO Users (UserId, UserName, DisplayName, Disabled, ExpiryDays, CreatedAt, OfficeCode)
172-
VALUES (@maxUid, 'auditor', 'Read-Only Auditor', 0, 365, GETDATE(), 'S');
169+
INSERT INTO Users (UserName, DisplayName, Disabled, ExpiryDays, CreatedAt, OfficeCode)
170+
VALUES ('auditor', 'Read-Only Auditor', 0, 365, GETDATE(), 'S');
171+
SET @newUid = SCOPE_IDENTITY();
173172
INSERT INTO AspNetUsers (Id, Email, EmailConfirmed, PasswordHash, SecurityStamp, PhoneNumberConfirmed, TwoFactorEnabled, LockoutEnabled, AccessFailedCount, UserName)
174173
VALUES (LOWER(NEWID()), 'auditor@demo.local', 1, '', NEWID(), 0, 0, 0, 0, 'auditor');
175-
INSERT INTO UserRoles (UserId, RoleId) SELECT @maxUid, RoleId FROM Roles WHERE [Name] IN ('Transaction.List','Transaction.Details');
174+
INSERT INTO UserRoles (UserId, RoleId) SELECT @newUid, RoleId FROM Roles WHERE [Name] IN ('Transaction.List','Transaction.Details');
176175
PRINT ' Created auditor'
177176
END
178177

0 commit comments

Comments
 (0)