Files
threshold/internal/db/migrations/postgres/08_servers.up.sql
T

50 lines
1.2 KiB
PL/PgSQL
Raw Normal View History

2020-08-12 00:40:39 -04:00
begin;
-- For now at least the IDs will be the same as the name, because this allows us
-- to not have to persist some generated ID to worker and controller nodes.
-- Eventually we may want them to diverge, so we have both here for now.
2020-08-26 13:15:12 -04:00
create table server (
2020-08-12 00:40:39 -04:00
private_id text,
type text,
2020-08-19 16:47:18 -04:00
name text not null unique
constraint server_name_must_not_be_empty
2020-08-19 16:47:18 -04:00
check(length(trim(name)) > 0),
2020-08-12 00:40:39 -04:00
description text,
address text,
create_time wt_timestamp,
update_time wt_timestamp,
primary key (private_id, type)
);
create trigger
immutable_columns
before
2020-08-26 13:15:12 -04:00
update on server
2020-08-12 00:40:39 -04:00
for each row execute procedure immutable_columns('create_time');
create trigger
default_create_time_column
before
2020-08-26 13:15:12 -04:00
insert on server
2020-08-12 00:40:39 -04:00
for each row execute procedure default_create_time();
create table recovery_nonces (
nonce text
primary key,
create_time wt_timestamp
);
create trigger
default_create_time_column
before
insert on recovery_nonces
for each row execute procedure default_create_time();
create trigger
immutable_columns
before
update on recovery_nonces
for each row execute procedure immutable_columns('nonce', 'create_time');
2020-08-12 00:40:39 -04:00
commit;