59 lines
2.2 KiB
PL/PgSQL
59 lines
2.2 KiB
PL/PgSQL
begin;
|
|
|
|
-- wt_email defines a type for email which must be less than 320 chars and only
|
|
-- contain lower case values. The type is defined to allow nulls and not be
|
|
-- unique, which can be overriden as needed when used in tables.
|
|
create domain wt_email as text
|
|
constraint wt_email_too_short
|
|
check (length(trim(value)) > 0)
|
|
constraint wt_email_too_long
|
|
check (length(trim(value)) < 320);
|
|
comment on domain wt_email is
|
|
'standard column for email addresses';
|
|
|
|
-- wt_full_name defines a type for a person's full name which must be less than
|
|
-- 512 chars. The type is defined to allow nulls and not be unique, which can
|
|
-- be overriden as needed when used in tables.
|
|
create domain wt_full_name text
|
|
constraint wt_full_name_too_short
|
|
check (length(trim(value)) > 0)
|
|
constraint wt_full_name_too_long
|
|
check(length(trim(value)) <= 512); -- gotta pick some upper limit.
|
|
comment on domain wt_full_name is
|
|
'standard column for the full name of a person';
|
|
|
|
-- wt_url defines a type for URLs which must be longer that 3 chars and
|
|
-- less than 4k chars. It's defined to allow nulls, which can be overriden as
|
|
-- needed when used in tables.
|
|
create domain wt_url as text
|
|
constraint wt_url_too_short
|
|
check (length(trim(value)) > 3)
|
|
constraint wt_url_too_long
|
|
check (length(trim(value)) < 4000)
|
|
constraint wt_url_invalid_protocol
|
|
check (value ~ 'https?:\/\/*');
|
|
comment on domain wt_url is
|
|
'standard column for URLs';
|
|
|
|
-- wt_name defines a type for resource names that must be less than 128 chars.
|
|
-- It's defined to allow nulls.
|
|
create domain wt_name as text
|
|
constraint wt_name_too_short
|
|
check (length(trim(value)) > 0)
|
|
constraint wt_name_too_long
|
|
check (length(trim(value)) < 128);
|
|
comment on domain wt_name is
|
|
'standard column for resource names';
|
|
|
|
-- wt_description defines a type for resource descriptionss that must be less
|
|
-- than 1024 chars. It's defined to allow nulls.
|
|
create domain wt_description as text
|
|
constraint wt_description_too_short
|
|
check (length(trim(value)) > 0)
|
|
constraint wt_description_too_long
|
|
check (length(trim(value)) < 1024);
|
|
comment on domain wt_description is
|
|
'standard column for resource descriptions';
|
|
|
|
commit;
|