Skip to content

Commit da85765

Browse files
authored
Merge pull request #127 from simonLeary42/patch-7
add user_last_logins to sql
2 parents e024a74 + dbc5ba3 commit da85765

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

tools/docker-dev/sql/bootstrap.sql

+26
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ CREATE TABLE `audit_log` (
3636
`recipient` varchar(128) NOT NULL
3737
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
3838

39+
CREATE TABLE user_last_logins (
40+
`operator` varchar(128) NOT NULL,
41+
`last_login` timestamp NOT NULL
42+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
43+
3944
CREATE TABLE `events` (
4045
`id` int(11) NOT NULL,
4146
`operator` varchar(128) NOT NULL,
@@ -138,6 +143,9 @@ ALTER TABLE `account_deletion_requests`
138143
ALTER TABLE `audit_log`
139144
ADD PRIMARY KEY (`id`);
140145

146+
ALTER TABLE `user_last_logins`
147+
ADD PRIMARY KEY (`operator`);
148+
141149
ALTER TABLE `events`
142150
ADD PRIMARY KEY (`id`);
143151

@@ -211,6 +219,24 @@ ALTER TABLE `sso_log`
211219
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
212220
COMMIT;
213221

222+
-- --------------------------------------------------------
223+
224+
--
225+
-- automatically update `user_last_logins` from `audit_log`
226+
--
227+
DELIMITER //
228+
CREATE TRIGGER update_last_login
229+
AFTER INSERT ON audit_log
230+
FOR EACH ROW
231+
BEGIN
232+
IF NEW.action_type = 'user_login' THEN
233+
INSERT INTO user_last_logins (operator, last_login)
234+
VALUES (NEW.operator, NEW.timestamp)
235+
ON DUPLICATE KEY UPDATE last_login = NEW.timestamp;
236+
END IF;
237+
END;//
238+
DELIMITER ;
239+
214240
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
215241
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
216242
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

0 commit comments

Comments
 (0)