Skip to content

Commit 5123465

Browse files
authored
add user_last_logins to sql
1 parent d1c4f66 commit 5123465

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

tools/docker-dev/sql/bootstrap.sql

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,17 @@ CREATE TABLE `audit_log` (
5151

5252
-- --------------------------------------------------------
5353

54+
--
55+
-- Table structure for table `user_last_logins`
56+
--
57+
58+
CREATE TABLE user_last_logins (
59+
`operator` varchar(768) NOT NULL,
60+
`last_login` timestamp NOT NULL
61+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
62+
63+
-- --------------------------------------------------------
64+
5465
--
5566
-- Table structure for table `events`
5667
--
@@ -234,6 +245,12 @@ ALTER TABLE `account_deletion_requests`
234245
ALTER TABLE `audit_log`
235246
ADD PRIMARY KEY (`id`);
236247

248+
--
249+
-- Indexes for table `user_last_logins`
250+
--
251+
ALTER TABLE `user_last_logins`
252+
ADD PRIMARY KEY (`operator`);
253+
237254
--
238255
-- Indexes for table `events`
239256
--
@@ -383,6 +400,24 @@ ALTER TABLE `sso_log`
383400
MODIFY `id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
384401
COMMIT;
385402

403+
-- --------------------------------------------------------
404+
405+
--
406+
-- automatically update `user_last_logins` from `audit_log`
407+
--
408+
DELIMITER //
409+
CREATE TRIGGER update_last_login
410+
AFTER INSERT ON audit_log
411+
FOR EACH ROW
412+
BEGIN
413+
IF NEW.action_type = 'user_login' THEN
414+
INSERT INTO user_last_logins (operator, last_login)
415+
VALUES (NEW.operator, NEW.timestamp)
416+
ON DUPLICATE KEY UPDATE last_login = NEW.timestamp;
417+
END IF;
418+
END;//
419+
DELIMITER ;
420+
386421
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
387422
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
388423
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

0 commit comments

Comments
 (0)