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
|
2020-09-22 14:44:21 -04:00
|
|
|
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();
|
|
|
|
|
|
2020-08-24 13:22:10 -04:00
|
|
|
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;
|