29 lines
1.5 KiB
SQL
29 lines
1.5 KiB
SQL
create table peers
|
|
(
|
|
federated_address varchar(256) not null comment 'The standard federated address of the peer'
|
|
primary key,
|
|
client_first_seen varchar(36) not null comment 'The UUID of the client that first discovered the peer',
|
|
client_last_seen varchar(36) not null comment 'The UUID of the client that last saw this peer',
|
|
active_restriction varchar(36) null comment 'Optional. The UUID of the restriction that is currently active on the peer',
|
|
discovered_timestamp bigint default unix_timestamp() not null comment 'The Unix Timestamp for when this peer was first discovered',
|
|
seen_timestamp bigint default unix_timestamp() not null comment 'The Unix Timestamp for when this peer was last seen',
|
|
constraint discovered_peers_federated_address_uindex
|
|
unique (federated_address),
|
|
constraint discovered_peers_clients_uuid_fk
|
|
foreign key (client_first_seen) references clients (uuid),
|
|
constraint discovered_peers_clients_uuid_fk2
|
|
foreign key (client_last_seen) references clients (uuid),
|
|
constraint peers_restrictions_uuid_fk
|
|
foreign key (active_restriction) references restrictions (uuid)
|
|
)
|
|
comment 'The table for housing all the discovered peers';
|
|
|
|
create index discovered_peers_client_first_seen_index
|
|
on peers (client_first_seen);
|
|
|
|
create index discovered_peers_client_last_seen_index
|
|
on peers (client_last_seen);
|
|
|
|
create index peers_active_restriction_index
|
|
on peers (active_restriction);
|
|
|