-- Copyright 2019 The Nomulus Authors. All Rights Reserved. -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. create table "ClaimsEntry" ( revision_id int8 not null, claim_key text not null, domain_label text not null, primary key (revision_id, domain_label) ); create table "ClaimsList" ( revision_id bigserial not null, creation_timestamp timestamptz not null, tmdb_generation_time timestamptz not null, primary key (revision_id) ); create table "Cursor" ( scope text not null, type text not null, cursor_time timestamptz not null, last_update_time timestamptz not null, primary key (scope, type) ); create table "DelegationSignerData" ( key_tag int4 not null, algorithm int4 not null, digest bytea, digest_type int4 not null, primary key (key_tag) ); create table "Domain" ( repo_id text not null, creation_client_id text, creation_time timestamptz, current_sponsor_client_id text, deletion_time timestamptz, last_epp_update_client_id text, last_epp_update_time timestamptz, statuses text[], auth_info_repo_id text, auth_info_value text, fully_qualified_domain_name text, idn_table_name text, last_transfer_time timestamptz, launch_notice_accepted_time timestamptz, launch_notice_expiration_time timestamptz, launch_notice_tcn_id text, launch_notice_validator_id text, registration_expiration_time timestamptz, smd_id text, subordinate_hosts text[], tld text, primary key (repo_id) ); create table "GracePeriod" ( id bigserial not null, billing_event_one_time bytea, billing_event_recurring bytea, client_id text, expiration_time timestamptz, type int4, primary key (id) ); create table "Lock" ( resource_name text not null, tld text not null, acquired_time timestamptz not null, expiration_time timestamptz not null, request_log_id text not null, primary key (resource_name, tld) ); create table "PremiumEntry" ( revision_id int8 not null, domain_label text not null, price numeric(19, 2) not null, primary key (revision_id, domain_label) ); create table "PremiumList" ( revision_id bigserial not null, bloom_filter bytea not null, creation_timestamp timestamptz not null, currency text not null, name text not null, primary key (revision_id) ); create table "Registrar" ( client_id text not null, allowed_tlds text[], billing_account_map hstore, billing_identifier int8, block_premium_names boolean not null, client_certificate text, client_certificate_hash text, contacts_require_syncing boolean not null, creation_time timestamptz, drive_folder_id text, email_address text, failover_client_certificate text, failover_client_certificate_hash text, fax_number text, iana_identifier int8, icann_referral_email text, i18n_address_city text, i18n_address_country_code text, i18n_address_state text, i18n_address_street_line1 text, i18n_address_street_line2 text, i18n_address_street_line3 text, i18n_address_zip text, ip_address_whitelist text[], last_certificate_update_time timestamptz, last_update_time timestamptz, localized_address_city text, localized_address_country_code text, localized_address_state text, localized_address_street_line1 text, localized_address_street_line2 text, localized_address_street_line3 text, localized_address_zip text, password_hash text, phone_number text, phone_passcode text, po_number text, rdap_base_urls text[], registrar_name text not null, registry_lock_allowed boolean not null, password_salt text, state text, type text not null, url text, whois_server text, primary key (client_id) ); create table "RegistrarPoc" ( email_address text not null, allowed_to_set_registry_lock_password boolean not null, fax_number text, gae_user_id text, name text, phone_number text, registry_lock_password_hash text, registry_lock_password_salt text, types text[], visible_in_domain_whois_as_abuse boolean not null, visible_in_whois_as_admin boolean not null, visible_in_whois_as_tech boolean not null, primary key (email_address) ); create table "RegistryLock" ( revision_id bigserial not null, domain_name text not null, is_superuser boolean not null, last_update_timestamp timestamptz, lock_completion_timestamp timestamptz, lock_request_timestamp timestamptz not null, registrar_id text not null, registrar_poc_id text, repo_id text not null, unlock_completion_timestamp timestamptz, unlock_request_timestamp timestamptz, verification_code text not null, relock_revision_id int8, primary key (revision_id) ); create table "ReservedEntry" ( revision_id int8 not null, comment text, reservation_type int4 not null, domain_label text not null, primary key (revision_id, domain_label) ); create table "ReservedList" ( revision_id bigserial not null, creation_timestamp timestamptz not null, name text not null, should_publish boolean not null, primary key (revision_id) ); create index IDX8nr0ke9mrrx4ewj6pd2ag4rmr on "Domain" (creation_time); create index IDX8ffrqm27qtj20jac056j7yq07 on "Domain" (current_sponsor_client_id); create index IDX5mnf0wn20tno4b9do88j61klr on "Domain" (deletion_time); create index IDX1rcgkdd777bpvj0r94sltwd5y on "Domain" (fully_qualified_domain_name); create index IDXrwl38wwkli1j7gkvtywi9jokq on "Domain" (tld); create index premiumlist_name_idx on "PremiumList" (name); create index registrar_name_idx on "Registrar" (registrar_name); create index registrar_iana_identifier_idx on "Registrar" (iana_identifier); create index registrarpoc_gae_user_id_idx on "RegistrarPoc" (gae_user_id); create index idx_registry_lock_verification_code on "RegistryLock" (verification_code); create index idx_registry_lock_registrar_id on "RegistryLock" (registrar_id); alter table if exists "RegistryLock" add constraint idx_registry_lock_repo_id_revision_id unique (repo_id, revision_id); create index reservedlist_name_idx on "ReservedList" (name); alter table if exists "ClaimsEntry" add constraint FK6sc6at5hedffc0nhdcab6ivuq foreign key (revision_id) references "ClaimsList"; alter table if exists "PremiumEntry" add constraint FKo0gw90lpo1tuee56l0nb6y6g5 foreign key (revision_id) references "PremiumList"; alter table if exists "RegistryLock" add constraint FK2lhcwpxlnqijr96irylrh1707 foreign key (relock_revision_id) references "RegistryLock"; alter table if exists "ReservedEntry" add constraint FKgq03rk0bt1hb915dnyvd3vnfc foreign key (revision_id) references "ReservedList";