summaryrefslogtreecommitdiffstats
path: root/lib/doorman/src/test/resources/schema.sql
blob: d110e64cac62daa75ea1fba855ef8e3bcc2d5c35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
CREATE TABLE IF NOT EXISTS `resource_lock` (
  `resource_lock_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `resource_name` varchar(256),
  `lock_holder` varchar(100) NOT NULL,
  `lock_count` smallint(6) NOT NULL,
  `lock_time` datetime NOT NULL,
  `expiration_time` datetime NOT NULL,
  PRIMARY KEY (`resource_lock_id`),
  UNIQUE KEY `IX1_RESOURCE_LOCK` (`resource_name`)
);

CREATE TABLE IF NOT EXISTS `message` (
  `message_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `ext_message_id` varchar(64),
  `request_param` TEXT NOT NULL,
  `request_body` TEXT NOT NULL,
  `arrived_timestamp` datetime NOT NULL,
  `started_timestamp` datetime,
  `completed_timestamp` datetime,
  `response_timestamp` datetime,
  `response_param` TEXT,
  `response_body` TEXT,
  `resolution` varchar(20),
  `queue_type` varchar(64),
  `queue_id` varchar(256),
  PRIMARY KEY (`message_id`)
);

CREATE INDEX IF NOT EXISTS `ix1_message`
ON message(queue_type, queue_id);

CREATE TABLE IF NOT EXISTS `message_status` (
  `message_status_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `message_id` bigint(20) unsigned NOT NULL REFERENCES message(message_id),
  `status` varchar(20) NOT NULL,
  `status_timestamp` datetime NOT NULL,
  PRIMARY KEY (`message_status_id`)
);

CREATE INDEX IF NOT EXISTS `ix1_message_status`
ON message_status(message_id);

CREATE TABLE IF NOT EXISTS `message_action` (
  `message_action_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `message_id` bigint(20) unsigned NOT NULL REFERENCES message(message_id),
  `action` varchar(20) NOT NULL,
  `action_status` varchar(20) NOT NULL,
  `resolution` varchar(20),
  `action_timestamp` datetime NOT NULL,
  `done_timestamp` datetime,
  `hold_time` int,
  `response_param` TEXT,
  `response_body` TEXT,
  PRIMARY KEY (`message_action_id`)
);

CREATE INDEX IF NOT EXISTS `ix1_message_action`
ON message_action(message_id);