federationlib/database/events.sql
2023-06-04 14:23:51 -04:00

35 lines
1.7 KiB
SQL

create table events
(
uuid varchar(36) default uuid() not null comment 'The unique universal identifier for the event'
primary key,
code varchar(36) default 'GENERIC' not null comment 'A short-code event name that represents the event that has occured, the message field will contain more details in regards to the event code used.',
type varchar(36) default 'INFO' not null comment 'The event type, can be INFO, WARN, or ERR',
client_uuid varchar(36) null comment 'The client that created/caused the event',
peer varchar(256) null comment 'Optional. The peer that is associated with this event',
message text null comment 'The event details',
exception blob null comment 'The optional exeception details in a serialized format (MSGPACK)',
timestamp bigint default unix_timestamp() not null comment 'The Unix Timestamp for the record',
constraint events_uuid_uindex
unique (uuid),
constraint events_clients_uuid_fk
foreign key (client_uuid) references clients (uuid),
constraint events_peers_federated_address_fk
foreign key (peer) references peers (federated_address)
)
comment 'A table for housing event logs created by FederationLib in regards to Database changes.';
create index events_client_uuid_index
on events (client_uuid);
create index events_code_index
on events (code);
create index events_peer_index
on events (peer);
create index events_timestamp_index
on events (timestamp);
create index events_type_index
on events (type);