From 78c7d445463fa2b7cc07035526ce06d94dd7ef92 Mon Sep 17 00:00:00 2001 From: gbrodman Date: Thu, 29 Feb 2024 12:05:45 -0500 Subject: [PATCH] Add SQL code for ConsoleUpdateHistory subclasses (#2337) https://github.com/google/nomulus/pull/2330/ has an example of what this will look like in Java --- config/presubmits.py | 3 +- .../sql/er_diagram/brief_er_diagram.html | 3504 ++++---- .../sql/er_diagram/full_er_diagram.html | 7052 ++++++++++------- db/src/main/resources/sql/flyway.txt | 5 + .../flyway/V156__console_update_history.sql | 149 + ...57__console_epp_action_history_indexes.sql | 20 + ...__registrar_poc_update_history_indexes.sql | 20 + ...V159__registrar_update_history_indexes.sql | 18 + .../V160__user_update_history_indexes.sql | 18 + .../resources/sql/schema/nomulus.golden.sql | 289 + 10 files changed, 6803 insertions(+), 4275 deletions(-) create mode 100644 db/src/main/resources/sql/flyway/V156__console_update_history.sql create mode 100644 db/src/main/resources/sql/flyway/V157__console_epp_action_history_indexes.sql create mode 100644 db/src/main/resources/sql/flyway/V158__registrar_poc_update_history_indexes.sql create mode 100644 db/src/main/resources/sql/flyway/V159__registrar_update_history_indexes.sql create mode 100644 db/src/main/resources/sql/flyway/V160__user_update_history_indexes.sql diff --git a/config/presubmits.py b/config/presubmits.py index 3c74d0519..f225eaf32 100644 --- a/config/presubmits.py +++ b/config/presubmits.py @@ -90,7 +90,8 @@ PRESUBMITS = { ".git", "/build/", "/bin/generated-sources/", "/bin/generated-test-sources/", "node_modules/", "LoggerConfig.java", "registrar_bin.", "registrar_dbg.", "google-java-format-diff.py", - "nomulus.golden.sql", "soyutils_usegoog.js", "javascript/checks.js" + "nomulus.golden.sql", "soyutils_usegoog.js", "javascript/checks.js", + "/src/main/generated", "/src/test/generated" }, REQUIRED): "File did not include the license header.", diff --git a/db/src/main/resources/sql/er_diagram/brief_er_diagram.html b/db/src/main/resources/sql/er_diagram/brief_er_diagram.html index b8621e0d2..b266f89a6 100644 --- a/db/src/main/resources/sql/er_diagram/brief_er_diagram.html +++ b/db/src/main/resources/sql/er_diagram/brief_er_diagram.html @@ -261,2067 +261,2253 @@ td.section { generated on - 2024-02-27 19:20:22.44744298 + 2024-02-28 21:05:41.339823732 last flyway file - V155__reserved_list_null_should_publish.sql + V160__user_update_history_indexes.sql

 

 

- - + + SchemaCrawler_Diagram - - generated by - SchemaCrawler 16.10.1 - generated on - 2024-02-27 19:20:22.44744298 - + + generated by + SchemaCrawler 16.10.1 + generated on + 2024-02-28 21:05:41.339823732 + allocationtoken_a08ccbef - - public.AllocationToken - - [table] - token - - text not null - domain_name - - text - redemption_domain_repo_id - - text - token_type - - text - + + public.AllocationToken + + [table] + token + + text not null + domain_name + + text + redemption_domain_repo_id + + text + token_type + + text + billingevent_a57d1815 - - public.BillingEvent - - [table] - billing_event_id - - int8 not null - registrar_id - - text not null - domain_history_revision_id - - int8 not null - domain_repo_id - - text not null - event_time - - timestamptz not null - allocation_token - - text - billing_time - - timestamptz - cancellation_matching_billing_recurrence_id - - int8 - synthetic_creation_time - - timestamptz - recurrence_history_revision_id - - int8 - + + public.BillingEvent + + [table] + billing_event_id + + int8 not null + registrar_id + + text not null + domain_history_revision_id + + int8 not null + domain_repo_id + + text not null + event_time + + timestamptz not null + allocation_token + + text + billing_time + + timestamptz + cancellation_matching_billing_recurrence_id + + int8 + synthetic_creation_time + + timestamptz + recurrence_history_revision_id + + int8 + billingevent_a57d1815:w->allocationtoken_a08ccbef:e - - - - - - - - fk_billing_event_allocation_token + + + + + + + + fk_billing_event_allocation_token domainhistory_a54cc226 - - public.DomainHistory - - [table] - history_revision_id - - int8 not null - history_registrar_id - - text - history_modification_time - - timestamptz not null - history_type - - text not null - creation_time - - timestamptz - domain_repo_id - - text not null - current_package_token - - text - + + public.DomainHistory + + [table] + history_revision_id + + int8 not null + history_registrar_id + + text + history_modification_time + + timestamptz not null + history_type + + text not null + creation_time + + timestamptz + domain_repo_id + + text not null + current_package_token + + text + billingevent_a57d1815:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_event_domain_history + + + + + + + + fk_billing_event_domain_history billingevent_a57d1815:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_event_domain_history + + + + + + + + fk_billing_event_domain_history billingevent_a57d1815:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_event_recurrence_history + + + + + + + + fk_billing_event_recurrence_history billingevent_a57d1815:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_event_recurrence_history + + + + + + + + fk_billing_event_recurrence_history billingrecurrence_5fa2cb01 - - public.BillingRecurrence - - [table] - billing_recurrence_id - - int8 not null - registrar_id - - text not null - domain_history_revision_id - - int8 not null - domain_repo_id - - text not null - event_time - - timestamptz not null - recurrence_end_time - - timestamptz - recurrence_time_of_year - - text - recurrence_last_expansion - - timestamptz not null - + + public.BillingRecurrence + + [table] + billing_recurrence_id + + int8 not null + registrar_id + + text not null + domain_history_revision_id + + int8 not null + domain_repo_id + + text not null + event_time + + timestamptz not null + recurrence_end_time + + timestamptz + recurrence_time_of_year + + text + recurrence_last_expansion + + timestamptz not null + billingevent_a57d1815:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_billing_event_cancellation_matching_billing_recurrence_id + + + + + + + + fk_billing_event_cancellation_matching_billing_recurrence_id - + registrar_6e1503e3 - - public.Registrar - - [table] - registrar_id - - text not null - iana_identifier - - int8 - registrar_name - - text not null - + + public.Registrar + + [table] + registrar_id + + text not null + iana_identifier + + int8 + registrar_name + + text not null + billingevent_a57d1815:w->registrar_6e1503e3:e - - - - - - - - fk_billing_event_registrar_id + + + + + + + + fk_billing_event_registrar_id domain_6c51cffa - - public.Domain - - [table] - repo_id - - text not null - creation_registrar_id - - text not null - creation_time - - timestamptz not null - current_sponsor_registrar_id - - text not null - deletion_time - - timestamptz - last_epp_update_registrar_id - - text - domain_name - - text - tld - - text - admin_contact - - text - billing_contact - - text - registrant_contact - - text - tech_contact - - text - transfer_billing_cancellation_id - - int8 - transfer_billing_event_id - - int8 - transfer_billing_recurrence_id - - int8 - transfer_gaining_registrar_id - - text - transfer_losing_registrar_id - - text - billing_recurrence_id - - int8 - autorenew_end_time - - timestamptz - current_package_token - - text - lordn_phase - - text not null - + + public.Domain + + [table] + repo_id + + text not null + creation_registrar_id + + text not null + creation_time + + timestamptz not null + current_sponsor_registrar_id + + text not null + deletion_time + + timestamptz + last_epp_update_registrar_id + + text + domain_name + + text + tld + + text + admin_contact + + text + billing_contact + + text + registrant_contact + + text + tech_contact + + text + transfer_billing_cancellation_id + + int8 + transfer_billing_event_id + + int8 + transfer_billing_recurrence_id + + int8 + transfer_gaining_registrar_id + + text + transfer_losing_registrar_id + + text + billing_recurrence_id + + int8 + autorenew_end_time + + timestamptz + current_package_token + + text + lordn_phase + + text not null + domain_6c51cffa:w->allocationtoken_a08ccbef:e - - - - - - - - fk_domain_current_package_token + + + + + + + + fk_domain_current_package_token domain_6c51cffa:w->billingevent_a57d1815:e - - - - - - - - fk_domain_transfer_billing_event_id + + + + + + + + fk_domain_transfer_billing_event_id billingcancellation_6eedf614 - - public.BillingCancellation - - [table] - billing_cancellation_id - - int8 not null - registrar_id - - text not null - domain_history_revision_id - - int8 not null - domain_repo_id - - text not null - event_time - - timestamptz not null - billing_time - - timestamptz - billing_event_id - - int8 - billing_recurrence_id - - int8 - + + public.BillingCancellation + + [table] + billing_cancellation_id + + int8 not null + registrar_id + + text not null + domain_history_revision_id + + int8 not null + domain_repo_id + + text not null + event_time + + timestamptz not null + billing_time + + timestamptz + billing_event_id + + int8 + billing_recurrence_id + + int8 + domain_6c51cffa:w->billingcancellation_6eedf614:e - - - - - - - - fk_domain_transfer_billing_cancellation_id + + + + + + + + fk_domain_transfer_billing_cancellation_id domain_6c51cffa:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_domain_billing_recurrence_id + + + + + + + + fk_domain_billing_recurrence_id domain_6c51cffa:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_domain_transfer_billing_recurrence_id + + + + + + + + fk_domain_transfer_billing_recurrence_id - + contact_8de8cb16 - - public.Contact - - [table] - repo_id - - text not null - creation_registrar_id - - text not null - creation_time - - timestamptz not null - current_sponsor_registrar_id - - text not null - deletion_time - - timestamptz - last_epp_update_registrar_id - - text - contact_id - - text - search_name - - text - transfer_gaining_registrar_id - - text - transfer_losing_registrar_id - - text - + + public.Contact + + [table] + repo_id + + text not null + creation_registrar_id + + text not null + creation_time + + timestamptz not null + current_sponsor_registrar_id + + text not null + deletion_time + + timestamptz + last_epp_update_registrar_id + + text + contact_id + + text + search_name + + text + transfer_gaining_registrar_id + + text + transfer_losing_registrar_id + + text + domain_6c51cffa:w->contact_8de8cb16:e - - - - - - - - fk_domain_admin_contact + + + + + + + + fk_domain_admin_contact domain_6c51cffa:w->contact_8de8cb16:e - - - - - - - - fk_domain_billing_contact + + + + + + + + fk_domain_billing_contact domain_6c51cffa:w->contact_8de8cb16:e - - - - - - - - fk_domain_registrant_contact + + + + + + + + fk_domain_registrant_contact domain_6c51cffa:w->contact_8de8cb16:e - - - - - - - - fk_domain_tech_contact + + + + + + + + fk_domain_tech_contact domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fk2jc69qyg2tv9hhnmif6oa1cx1 + + + + + + + + fk2jc69qyg2tv9hhnmif6oa1cx1 domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fk2u3srsfbei272093m3b3xwj23 + + + + + + + + fk2u3srsfbei272093m3b3xwj23 domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fkjc0r9r5y1lfbt4gpbqw4wsuvq + + + + + + + + fkjc0r9r5y1lfbt4gpbqw4wsuvq domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fk_domain_transfer_gaining_registrar_id + + + + + + + + fk_domain_transfer_gaining_registrar_id domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fk_domain_transfer_losing_registrar_id + + + + + + + + fk_domain_transfer_losing_registrar_id - + tld_f1fa57e2 - - public.Tld - - [table] - tld_name - - text not null - + + public.Tld + + [table] + tld_name + + text not null + - + domain_6c51cffa:w->tld_f1fa57e2:e - - - - - - - - fk_domain_tld + + + + + + + + fk_domain_tld domainhistory_a54cc226:w->allocationtoken_a08ccbef:e - - - - - - - - fk_domain_history_current_package_token + + + + + + + + fk_domain_history_current_package_token domainhistory_a54cc226:w->domain_6c51cffa:e - - - - - - - - fk_domain_history_domain_repo_id + + + + + + + + fk_domain_history_domain_repo_id domainhistory_a54cc226:w->registrar_6e1503e3:e - - - - - - - - fk_domain_history_registrar_id + + + + + + + + fk_domain_history_registrar_id billingcancellation_6eedf614:w->billingevent_a57d1815:e - - - - - - - - fk_billing_cancellation_billing_event_id + + + + + + + + fk_billing_cancellation_billing_event_id billingcancellation_6eedf614:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_cancellation_domain_history + + + + + + + + fk_billing_cancellation_domain_history billingcancellation_6eedf614:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_cancellation_domain_history + + + + + + + + fk_billing_cancellation_domain_history billingcancellation_6eedf614:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_billing_cancellation_billing_recurrence_id + + + + + + + + fk_billing_cancellation_billing_recurrence_id billingcancellation_6eedf614:w->registrar_6e1503e3:e - - - - - - - - fk_billing_cancellation_registrar_id + + + + + + + + fk_billing_cancellation_registrar_id graceperiod_cd3b2e8f - - public.GracePeriod - - [table] - grace_period_id - - int8 not null - billing_event_id - - int8 - billing_recurrence_id - - int8 - registrar_id - - text not null - domain_repo_id - - text not null - + + public.GracePeriod + + [table] + grace_period_id + + int8 not null + billing_event_id + + int8 + billing_recurrence_id + + int8 + registrar_id + + text not null + domain_repo_id + + text not null + graceperiod_cd3b2e8f:w->billingevent_a57d1815:e - - - - - - - - fk_grace_period_billing_event_id + + + + + + + + fk_grace_period_billing_event_id graceperiod_cd3b2e8f:w->domain_6c51cffa:e - - - - - - - - fk_grace_period_domain_repo_id + + + + + + + + fk_grace_period_domain_repo_id graceperiod_cd3b2e8f:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_grace_period_billing_recurrence_id + + + + + + + + fk_grace_period_billing_recurrence_id graceperiod_cd3b2e8f:w->registrar_6e1503e3:e - - - - - - - - fk_grace_period_registrar_id + + + + + + + + fk_grace_period_registrar_id billingrecurrence_5fa2cb01:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_recurrence_domain_history + + + + + + + + fk_billing_recurrence_domain_history billingrecurrence_5fa2cb01:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_recurrence_domain_history + + + + + + + + fk_billing_recurrence_domain_history billingrecurrence_5fa2cb01:w->registrar_6e1503e3:e - - - - - - - - fk_billing_recurrence_registrar_id + + + + + + + + fk_billing_recurrence_registrar_id bsadomainrefresh_c8f4c45d - - public.BsaDomainRefresh - - [table] - job_id - - bigserial not null - - auto-incremented - + + public.BsaDomainRefresh + + [table] + job_id + + bigserial not null + + auto-incremented + bsadownload_98d031ce - - public.BsaDownload - - [table] - job_id - - bigserial not null - - auto-incremented - creation_time - - timestamptz not null - + + public.BsaDownload + + [table] + job_id + + bigserial not null + + auto-incremented + creation_time + + timestamptz not null + bsalabel_2755e1da - - public.BsaLabel - - [table] - label - - text not null - + + public.BsaLabel + + [table] + label + + text not null + bsaunblockabledomain_b739a38 - - public.BsaUnblockableDomain - - [table] - label - - text not null - tld - - text not null - + + public.BsaUnblockableDomain + + [table] + label + + text not null + tld + + text not null + bsaunblockabledomain_b739a38:w->bsalabel_2755e1da:e - - - - - - - - fkbsaunblockabledomainlabel + + + + + + + + fkbsaunblockabledomainlabel claimsentry_105da9f1 - - public.ClaimsEntry - - [table] - revision_id - - int8 not null - domain_label - - text not null - + + public.ClaimsEntry + + [table] + revision_id + + int8 not null + domain_label + + text not null + claimslist_3d49bc2b - - public.ClaimsList - - [table] - revision_id - - bigserial not null - - auto-incremented - + + public.ClaimsList + + [table] + revision_id + + bigserial not null + + auto-incremented + claimsentry_105da9f1:w->claimslist_3d49bc2b:e - - - - - - - - fk6sc6at5hedffc0nhdcab6ivuq + + + + + + + + fk6sc6at5hedffc0nhdcab6ivuq + + + + consoleeppactionhistory_bcc2a2c6 + + + public.ConsoleEppActionHistory + + [table] + history_revision_id + + int8 not null + repo_id + + text + revision_id + + int8 not null + history_acting_user + + text not null + + + + + user_f2216f01 + + + public."User" + + [table] + id + + bigserial not null + + auto-incremented + email_address + + text not null + + + + + consoleeppactionhistory_bcc2a2c6:w->user_f2216f01:e + + + + + + + + + fkb686b9os2nsjpv930npa4r3b4 contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fk1sfyj7o7954prbn1exk7lpnoe + + + + + + + + fk1sfyj7o7954prbn1exk7lpnoe contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fk93c185fx7chn68uv7nl6uv2s0 + + + + + + + + fk93c185fx7chn68uv7nl6uv2s0 contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fkmb7tdiv85863134w1wogtxrb2 + + + + + + + + fkmb7tdiv85863134w1wogtxrb2 contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fk_contact_transfer_gaining_registrar_id + + + + + + + + fk_contact_transfer_gaining_registrar_id contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fk_contact_transfer_losing_registrar_id + + + + + + + + fk_contact_transfer_losing_registrar_id - + contacthistory_d2964f8a - - public.ContactHistory - - [table] - history_revision_id - - int8 not null - history_registrar_id - - text - history_modification_time - - timestamptz not null - history_type - - text not null - creation_time - - timestamptz - contact_repo_id - - text not null - + + public.ContactHistory + + [table] + history_revision_id + + int8 not null + history_registrar_id + + text + history_modification_time + + timestamptz not null + history_type + + text not null + creation_time + + timestamptz + contact_repo_id + + text not null + contacthistory_d2964f8a:w->contact_8de8cb16:e - - - - - - - - fk_contact_history_contact_repo_id + + + + + + + + fk_contact_history_contact_repo_id contacthistory_d2964f8a:w->registrar_6e1503e3:e - - - - - - - - fk_contact_history_registrar_id + + + + + + + + fk_contact_history_registrar_id - + pollmessage_614a523e - - public.PollMessage - - [table] - poll_message_id - - int8 not null - registrar_id - - text not null - contact_repo_id - - text - contact_history_revision_id - - int8 - domain_repo_id - - text - domain_history_revision_id - - int8 - event_time - - timestamptz not null - host_repo_id - - text - host_history_revision_id - - int8 - transfer_response_gaining_registrar_id - - text - transfer_response_losing_registrar_id - - text - + + public.PollMessage + + [table] + poll_message_id + + int8 not null + registrar_id + + text not null + contact_repo_id + + text + contact_history_revision_id + + int8 + domain_repo_id + + text + domain_history_revision_id + + int8 + event_time + + timestamptz not null + host_repo_id + + text + host_history_revision_id + + int8 + transfer_response_gaining_registrar_id + + text + transfer_response_losing_registrar_id + + text + pollmessage_614a523e:w->domain_6c51cffa:e - - - - - - - - fk_poll_message_domain_repo_id + + + + + + + + fk_poll_message_domain_repo_id pollmessage_614a523e:w->domainhistory_a54cc226:e - - - - - - - - fk_poll_message_domain_history + + + + + + + + fk_poll_message_domain_history pollmessage_614a523e:w->domainhistory_a54cc226:e - - - - - - - - fk_poll_message_domain_history + + + + + + + + fk_poll_message_domain_history pollmessage_614a523e:w->contact_8de8cb16:e - - - - - - - - fk_poll_message_contact_repo_id + + + + + + + + fk_poll_message_contact_repo_id pollmessage_614a523e:w->contacthistory_d2964f8a:e - - - - - - - - fk_poll_message_contact_history + + + + + + + + fk_poll_message_contact_history pollmessage_614a523e:w->contacthistory_d2964f8a:e - - - - - - - - fk_poll_message_contact_history + + + + + + + + fk_poll_message_contact_history - + host_f21b78de - - public.Host - - [table] - repo_id - - text not null - creation_registrar_id - - text - creation_time - - timestamptz - current_sponsor_registrar_id - - text - deletion_time - - timestamptz - last_epp_update_registrar_id - - text - host_name - - text - superordinate_domain - - text - inet_addresses - - _text - + + public.Host + + [table] + repo_id + + text not null + creation_registrar_id + + text + creation_time + + timestamptz + current_sponsor_registrar_id + + text + deletion_time + + timestamptz + last_epp_update_registrar_id + + text + host_name + + text + superordinate_domain + + text + inet_addresses + + _text + pollmessage_614a523e:w->host_f21b78de:e - - - - - - - - fk_poll_message_host_repo_id + + + + + + + + fk_poll_message_host_repo_id - + hosthistory_56210c2 - - public.HostHistory - - [table] - history_revision_id - - int8 not null - history_registrar_id - - text not null - history_modification_time - - timestamptz not null - history_type - - text not null - host_name - - text - creation_time - - timestamptz - host_repo_id - - text not null - + + public.HostHistory + + [table] + history_revision_id + + int8 not null + history_registrar_id + + text not null + history_modification_time + + timestamptz not null + history_type + + text not null + host_name + + text + creation_time + + timestamptz + host_repo_id + + text not null + pollmessage_614a523e:w->hosthistory_56210c2:e - - - - - - - - fk_poll_message_host_history + + + + + + + + fk_poll_message_host_history pollmessage_614a523e:w->hosthistory_56210c2:e - - - - - - - - fk_poll_message_host_history + + + + + + + + fk_poll_message_host_history pollmessage_614a523e:w->registrar_6e1503e3:e - - - - - - - - fk_poll_message_registrar_id + + + + + + + + fk_poll_message_registrar_id pollmessage_614a523e:w->registrar_6e1503e3:e - - - - - - - - fk_poll_message_transfer_response_gaining_registrar_id + + + + + + + + fk_poll_message_transfer_response_gaining_registrar_id pollmessage_614a523e:w->registrar_6e1503e3:e - - - - - - - - fk_poll_message_transfer_response_losing_registrar_id + + + + + + + + fk_poll_message_transfer_response_losing_registrar_id - + cursor_6af40e8c - - public."Cursor" - - [table] - "scope" - - text not null - type - - text not null - + + public."Cursor" + + [table] + "scope" + + text not null + type + + text not null + - + delegationsignerdata_e542a872 - - public.DelegationSignerData - - [table] - domain_repo_id - - text not null - key_tag - - int4 not null - algorithm - - int4 not null - digest - - bytea not null - digest_type - - int4 not null - + + public.DelegationSignerData + + [table] + domain_repo_id + + text not null + key_tag + + int4 not null + algorithm + + int4 not null + digest + + bytea not null + digest_type + + int4 not null + delegationsignerdata_e542a872:w->domain_6c51cffa:e - - - - - - - - fktr24j9v14ph2mfuw2gsmt12kq + + + + + + + + fktr24j9v14ph2mfuw2gsmt12kq - + dnsrefreshrequest_4e6affb3 - - public.DnsRefreshRequest - - [table] - id - - bigserial not null - - auto-incremented - request_time - - timestamptz not null - last_process_time - - timestamptz not null - + + public.DnsRefreshRequest + + [table] + id + + bigserial not null + + auto-incremented + request_time + + timestamptz not null + last_process_time + + timestamptz not null + - + domainhost_1ea127c2 - - public.DomainHost - - [table] - domain_repo_id - - text not null - host_repo_id - - text - + + public.DomainHost + + [table] + domain_repo_id + + text not null + host_repo_id + + text + domainhost_1ea127c2:w->domain_6c51cffa:e - - - - - - - - fkfmi7bdink53swivs390m2btxg + + + + + + + + fkfmi7bdink53swivs390m2btxg domainhost_1ea127c2:w->host_f21b78de:e - - - - - - - - fk_domainhost_host_valid + + + + + + + + fk_domainhost_host_valid host_f21b78de:w->domain_6c51cffa:e - - - - - - - - fk_host_superordinate_domain + + + + + + + + fk_host_superordinate_domain host_f21b78de:w->registrar_6e1503e3:e - - - - - - - - fk_host_creation_registrar_id + + + + + + + + fk_host_creation_registrar_id host_f21b78de:w->registrar_6e1503e3:e - - - - - - - - fk_host_current_sponsor_registrar_id + + + + + + + + fk_host_current_sponsor_registrar_id host_f21b78de:w->registrar_6e1503e3:e - - - - - - - - fk_host_last_epp_update_registrar_id + + + + + + + + fk_host_last_epp_update_registrar_id - + domaindsdatahistory_995b060d - - public.DomainDsDataHistory - - [table] - ds_data_history_revision_id - - int8 not null - domain_history_revision_id - - int8 not null - domain_repo_id - - text - + + public.DomainDsDataHistory + + [table] + ds_data_history_revision_id + + int8 not null + domain_history_revision_id + + int8 not null + domain_repo_id + + text + domaindsdatahistory_995b060d:w->domainhistory_a54cc226:e - - - - - - - - fko4ilgyyfnvppbpuivus565i0j + + + + + + + + fko4ilgyyfnvppbpuivus565i0j domaindsdatahistory_995b060d:w->domainhistory_a54cc226:e - - - - - - - - fko4ilgyyfnvppbpuivus565i0j + + + + + + + + fko4ilgyyfnvppbpuivus565i0j - + domainhistoryhost_9f3f23ee - - public.DomainHistoryHost - - [table] - domain_history_history_revision_id - - int8 not null - host_repo_id - - text - domain_history_domain_repo_id - - text not null - + + public.DomainHistoryHost + + [table] + domain_history_history_revision_id + + int8 not null + host_repo_id + + text + domain_history_domain_repo_id + + text not null + domainhistoryhost_9f3f23ee:w->domainhistory_a54cc226:e - - - - - - - - fka9woh3hu8gx5x0vly6bai327n + + + + + + + + fka9woh3hu8gx5x0vly6bai327n domainhistoryhost_9f3f23ee:w->domainhistory_a54cc226:e - - - - - - - - fka9woh3hu8gx5x0vly6bai327n + + + + + + + + fka9woh3hu8gx5x0vly6bai327n - + domaintransactionrecord_6e77ff61 - - public.DomainTransactionRecord - - [table] - id - - bigserial not null - - auto-incremented - tld - - text not null - domain_repo_id - - text - history_revision_id - - int8 - + + public.DomainTransactionRecord + + [table] + id + + bigserial not null + + auto-incremented + tld + + text not null + domain_repo_id + + text + history_revision_id + + int8 + domaintransactionrecord_6e77ff61:w->domainhistory_a54cc226:e - - - - - - - - fkcjqe54u72kha71vkibvxhjye7 + + + + + + + + fkcjqe54u72kha71vkibvxhjye7 domaintransactionrecord_6e77ff61:w->domainhistory_a54cc226:e - - - - - - - - fkcjqe54u72kha71vkibvxhjye7 + + + + + + + + fkcjqe54u72kha71vkibvxhjye7 - + domaintransactionrecord_6e77ff61:w->tld_f1fa57e2:e - - - - - - - - fk_domain_transaction_record_tld + + + + + + + + fk_domain_transaction_record_tld - + graceperiodhistory_40ccc1f1 - - public.GracePeriodHistory - - [table] - grace_period_history_revision_id - - int8 not null - domain_repo_id - - text not null - domain_history_revision_id - - int8 - + + public.GracePeriodHistory + + [table] + grace_period_history_revision_id + + int8 not null + domain_repo_id + + text not null + domain_history_revision_id + + int8 + graceperiodhistory_40ccc1f1:w->domainhistory_a54cc226:e - - - - - - - - fk7w3cx8d55q8bln80e716tr7b8 + + + + + + + + fk7w3cx8d55q8bln80e716tr7b8 graceperiodhistory_40ccc1f1:w->domainhistory_a54cc226:e - - - - - - - - fk7w3cx8d55q8bln80e716tr7b8 + + + + + + + + fk7w3cx8d55q8bln80e716tr7b8 hosthistory_56210c2:w->host_f21b78de:e - - - - - - - - fk_hosthistory_host + + + + + + + + fk_hosthistory_host hosthistory_56210c2:w->registrar_6e1503e3:e - - - - - - - - fk_history_registrar_id + + + + + + + + fk_history_registrar_id - + lock_f21d4861 - - public.Lock - - [table] - resource_name - - text not null - "scope" - - text not null - + + public.Lock + + [table] + resource_name + + text not null + "scope" + + text not null + - + packagepromotion_56aa33 - - public.PackagePromotion - - [table] - package_promotion_id - - bigserial not null - - auto-incremented - token - - text not null - + + public.PackagePromotion + + [table] + package_promotion_id + + bigserial not null + + auto-incremented + token + + text not null + - + premiumentry_b0060b91 - - public.PremiumEntry - - [table] - revision_id - - int8 not null - domain_label - - text not null - + + public.PremiumEntry + + [table] + revision_id + + int8 not null + domain_label + + text not null + - + premiumlist_7c3ea68b - - public.PremiumList - - [table] - revision_id - - bigserial not null - - auto-incremented - name - - text not null - + + public.PremiumList + + [table] + revision_id + + bigserial not null + + auto-incremented + name + + text not null + premiumentry_b0060b91:w->premiumlist_7c3ea68b:e - - - - - - - - fko0gw90lpo1tuee56l0nb6y6g5 + + + + + + + + fko0gw90lpo1tuee56l0nb6y6g5 - + rderevision_83396864 - - public.RdeRevision - - [table] - tld - - text not null - mode - - text not null - "date" - - date not null - + + public.RdeRevision + + [table] + tld + + text not null + mode + + text not null + "date" + + date not null + - + registrarpoc_ab47054d - - public.RegistrarPoc - - [table] - email_address - - text not null - registrar_id - - text not null - login_email_address - - text - + + public.RegistrarPoc + + [table] + email_address + + text not null + registrar_id + + text not null + login_email_address + + text + registrarpoc_ab47054d:w->registrar_6e1503e3:e - - - - - - - - fk_registrar_poc_registrar_id + + + + + + + + fk_registrar_poc_registrar_id + + + + registrarupdatehistory_8a38bed4 + + + public.RegistrarUpdateHistory + + [table] + history_revision_id + + int8 not null + registrar_id + + text not null + history_acting_user + + text not null + + + + + registrarupdatehistory_8a38bed4:w->registrar_6e1503e3:e + + + + + + + + + fkregistrarupdatehistoryregistrarid + + + + registrarupdatehistory_8a38bed4:w->user_f2216f01:e + + + + + + + + + fksr7w342s7x5s5jvdti2axqeq8 + + + + registrarpocupdatehistory_31e5d9aa + + + public.RegistrarPocUpdateHistory + + [table] + history_revision_id + + int8 not null + email_address + + text not null + registrar_id + + text not null + history_acting_user + + text not null + + + + + registrarpocupdatehistory_31e5d9aa:w->registrarpoc_ab47054d:e + + + + + + + + + fkregistrarpocupdatehistoryemailaddress + + + + registrarpocupdatehistory_31e5d9aa:w->registrarpoc_ab47054d:e + + + + + + + + + fkregistrarpocupdatehistoryemailaddress + + + + registrarpocupdatehistory_31e5d9aa:w->user_f2216f01:e + + + + + + + + + fkftpbwctxtkc1i0njc0tdcaa2g - + registrylock_ac88663e - - public.RegistryLock - - [table] - revision_id - - bigserial not null - - auto-incremented - registrar_id - - text not null - repo_id - - text not null - verification_code - - text not null - relock_revision_id - - int8 - + + public.RegistryLock + + [table] + revision_id + + bigserial not null + + auto-incremented + registrar_id + + text not null + repo_id + + text not null + verification_code + + text not null + relock_revision_id + + int8 + - + registrylock_ac88663e:w->registrylock_ac88663e:e - - - - - - - - fk2lhcwpxlnqijr96irylrh1707 + + + + + + + + fk2lhcwpxlnqijr96irylrh1707 - + reservedentry_1a7b8520 - - public.ReservedEntry - - [table] - revision_id - - int8 not null - domain_label - - text not null - + + public.ReservedEntry + + [table] + revision_id + + int8 not null + domain_label + + text not null + - + reservedlist_b97c3f1c - - public.ReservedList - - [table] - revision_id - - bigserial not null - - auto-incremented - name - - text not null - + + public.ReservedList + + [table] + revision_id + + bigserial not null + + auto-incremented + name + + text not null + - + reservedentry_1a7b8520:w->reservedlist_b97c3f1c:e - - - - - - - - fkgq03rk0bt1hb915dnyvd3vnfc + + + + + + + + fkgq03rk0bt1hb915dnyvd3vnfc - + serversecret_6cc90f09 - - public.ServerSecret - - [table] - id - - int8 not null - + + public.ServerSecret + + [table] + id + + int8 not null + - + signedmarkrevocationentry_99c39721 - - public.SignedMarkRevocationEntry - - [table] - revision_id - - int8 not null - smd_id - - text not null - + + public.SignedMarkRevocationEntry + + [table] + revision_id + + int8 not null + smd_id + + text not null + - + signedmarkrevocationlist_c5d968fb - - public.SignedMarkRevocationList - - [table] - revision_id - - bigserial not null - - auto-incremented - + + public.SignedMarkRevocationList + + [table] + revision_id + + bigserial not null + + auto-incremented + - + signedmarkrevocationentry_99c39721:w->signedmarkrevocationlist_c5d968fb:e - - - - - - - - fk5ivlhvs3121yx2li5tqh54u4 + + + + + + + + fk5ivlhvs3121yx2li5tqh54u4 - + spec11threatmatch_a61228a6 - - public.Spec11ThreatMatch - - [table] - id - - bigserial not null - - auto-incremented - check_date - - date not null - registrar_id - - text not null - tld - - text not null - + + public.Spec11ThreatMatch + + [table] + id + + bigserial not null + + auto-incremented + check_date + + date not null + registrar_id + + text not null + tld + + text not null + - + tmchcrl_d282355 - - public.TmchCrl - - [table] - id - - int8 not null - - - + + public.TmchCrl + + [table] + id + + int8 not null + + + - user_f2216f01 + userupdatehistory_24efd476 - - public."User" - - [table] - id - - bigserial not null - - auto-incremented - email_address - - text not null - + + public.UserUpdateHistory + + [table] + history_revision_id + + int8 not null + email_address + + text not null + history_acting_user + + text not null + + + + + userupdatehistory_24efd476:w->user_f2216f01:e + + + + + + + + + fkuserupdatehistoryemailaddress + + + + userupdatehistory_24efd476:w->user_f2216f01:e + + + + + + + + + fk1s7bopbl3pwrhv3jkkofnv3o0 @@ -3198,6 +3384,70 @@ td.section {

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ public.ConsoleEppActionHistory [table] +
history_revision_idint8 not null
repo_idtext
revision_idint8 not null
history_acting_usertext not null
Primary Key
ConsoleEppActionHistory_pkey[primary key]
history_revision_id
Foreign Keys
fkb686b9os2nsjpv930npa4r3b4[foreign key, with no action]
history_acting_user (0..many)→ public."User".email_address
+

 

+ + + + + + + + + + + +
public.Contact [table] @@ -5826,6 +6076,18 @@ td.section {
registrar_id ←(0..many) public.RegistrarPoc.registrar_id
fkregistrarupdatehistoryregistrarid[foreign key, with no action]
registrar_id ←(0..many) public.RegistrarUpdateHistory.registrar_id

 

@@ -5890,6 +6152,175 @@ td.section { registrar_id (0..many)→ public.Registrar.registrar_id + + + + + fkregistrarpocupdatehistoryemailaddress + [foreign key, with no action] + + + + email_address ←(0..many) public.RegistrarPocUpdateHistory.email_address + + + + + registrar_id ←(0..many) public.RegistrarPocUpdateHistory.registrar_id + + + + +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ public.RegistrarPocUpdateHistory [table] +
history_revision_idint8 not null
email_addresstext not null
registrar_idtext not null
history_acting_usertext not null
Primary Key
RegistrarPocUpdateHistory_pkey[primary key]
history_revision_id
Foreign Keys
fkftpbwctxtkc1i0njc0tdcaa2g[foreign key, with no action]
history_acting_user (0..many)→ public."User".email_address
fkregistrarpocupdatehistoryemailaddress[foreign key, with no action]
email_address (0..many)→ public.RegistrarPoc.email_address
registrar_id (0..many)→ public.RegistrarPoc.registrar_id
+

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ public.RegistrarUpdateHistory [table] +
history_revision_idint8 not null
registrar_idtext not null
history_acting_usertext not null
Primary Key
RegistrarUpdateHistory_pkey[primary key]
history_revision_id
Foreign Keys
fksr7w342s7x5s5jvdti2axqeq8[foreign key, with no action]
history_acting_user (0..many)→ public."User".email_address
fkregistrarupdatehistoryregistrarid[foreign key, with no action]
registrar_id (0..many)→ public.Registrar.registrar_id

 

@@ -6410,6 +6841,143 @@ td.section { id + + + + + Foreign Keys + + + + + + fkb686b9os2nsjpv930npa4r3b4 + [foreign key, with no action] + + + + email_address ←(0..many) public.ConsoleEppActionHistory.history_acting_user + + + + + + + fkftpbwctxtkc1i0njc0tdcaa2g + [foreign key, with no action] + + + + email_address ←(0..many) public.RegistrarPocUpdateHistory.history_acting_user + + + + + + + fksr7w342s7x5s5jvdti2axqeq8 + [foreign key, with no action] + + + + email_address ←(0..many) public.RegistrarUpdateHistory.history_acting_user + + + + + + + fkuserupdatehistoryemailaddress + [foreign key, with no action] + + + + email_address ←(0..many) public.UserUpdateHistory.email_address + + + + + + + fk1s7bopbl3pwrhv3jkkofnv3o0 + [foreign key, with no action] + + + + email_address ←(0..many) public.UserUpdateHistory.history_acting_user + + + + +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ public.UserUpdateHistory [table] +
history_revision_idint8 not null
email_addresstext not null
history_acting_usertext not null
Primary Key
UserUpdateHistory_pkey[primary key]
history_revision_id
Foreign Keys
fkuserupdatehistoryemailaddress[foreign key, with no action]
email_address (0..many)→ public."User".email_address
fk1s7bopbl3pwrhv3jkkofnv3o0[foreign key, with no action]
history_acting_user (0..many)→ public."User".email_address

 

diff --git a/db/src/main/resources/sql/er_diagram/full_er_diagram.html b/db/src/main/resources/sql/er_diagram/full_er_diagram.html index 7b37e68ac..210f6e0ce 100644 --- a/db/src/main/resources/sql/er_diagram/full_er_diagram.html +++ b/db/src/main/resources/sql/er_diagram/full_er_diagram.html @@ -261,3405 +261,3846 @@ td.section { generated on - 2024-02-27 19:20:20.412729849 + 2024-02-28 21:05:38.949362998 last flyway file - V155__reserved_list_null_should_publish.sql + V160__user_update_history_indexes.sql

 

 

- - + + SchemaCrawler_Diagram - - generated by - SchemaCrawler 16.10.1 - generated on - 2024-02-27 19:20:20.412729849 - + + generated by + SchemaCrawler 16.10.1 + generated on + 2024-02-28 21:05:38.949362998 + allocationtoken_a08ccbef - - public.AllocationToken - - [table] - token - - text not null - update_timestamp - - timestamptz - allowed_registrar_ids - - _text - allowed_tlds - - _text - creation_time - - timestamptz not null - discount_fraction - - float8(17, 17) not null - discount_premiums - - bool not null - discount_years - - int4 not null - domain_name - - text - redemption_domain_repo_id - - text - token_status_transitions - - "hstore" - token_type - - text - redemption_domain_history_id - - int8 - renewal_price_behavior - - text not null - registration_behavior - - text not null - allowed_epp_actions - - _text - + + public.AllocationToken + + [table] + token + + text not null + update_timestamp + + timestamptz + allowed_registrar_ids + + _text + allowed_tlds + + _text + creation_time + + timestamptz not null + discount_fraction + + float8(17, 17) not null + discount_premiums + + bool not null + discount_years + + int4 not null + domain_name + + text + redemption_domain_repo_id + + text + token_status_transitions + + "hstore" + token_type + + text + redemption_domain_history_id + + int8 + renewal_price_behavior + + text not null + registration_behavior + + text not null + allowed_epp_actions + + _text + billingevent_a57d1815 - - public.BillingEvent - - [table] - billing_event_id - - int8 not null - registrar_id - - text not null - domain_history_revision_id - - int8 not null - domain_repo_id - - text not null - event_time - - timestamptz not null - flags - - _text - reason - - text not null - domain_name - - text not null - allocation_token - - text - billing_time - - timestamptz - cancellation_matching_billing_recurrence_id - - int8 - cost_amount - - numeric(19, 2) - cost_currency - - text - period_years - - int4 - synthetic_creation_time - - timestamptz - recurrence_history_revision_id - - int8 - + + public.BillingEvent + + [table] + billing_event_id + + int8 not null + registrar_id + + text not null + domain_history_revision_id + + int8 not null + domain_repo_id + + text not null + event_time + + timestamptz not null + flags + + _text + reason + + text not null + domain_name + + text not null + allocation_token + + text + billing_time + + timestamptz + cancellation_matching_billing_recurrence_id + + int8 + cost_amount + + numeric(19, 2) + cost_currency + + text + period_years + + int4 + synthetic_creation_time + + timestamptz + recurrence_history_revision_id + + int8 + billingevent_a57d1815:w->allocationtoken_a08ccbef:e - - - - - - - - fk_billing_event_allocation_token + + + + + + + + fk_billing_event_allocation_token domainhistory_a54cc226 - - public.DomainHistory - - [table] - history_revision_id - - int8 not null - history_by_superuser - - bool not null - history_registrar_id - - text - history_modification_time - - timestamptz not null - history_reason - - text - history_requested_by_registrar - - bool - history_client_transaction_id - - text - history_server_transaction_id - - text - history_type - - text not null - history_xml_bytes - - bytea - admin_contact - - text - auth_info_repo_id - - text - auth_info_value - - text - billing_recurrence_id - - int8 - autorenew_poll_message_id - - int8 - billing_contact - - text - deletion_poll_message_id - - int8 - 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 - registrant_contact - - text - registration_expiration_time - - timestamptz - smd_id - - text - subordinate_hosts - - _text - tech_contact - - text - tld - - text - transfer_billing_cancellation_id - - int8 - transfer_billing_recurrence_id - - int8 - transfer_autorenew_poll_message_id - - int8 - transfer_billing_event_id - - int8 - transfer_renew_period_unit - - text - transfer_renew_period_value - - int4 - transfer_registration_expiration_time - - timestamptz - transfer_poll_message_id_1 - - int8 - transfer_poll_message_id_2 - - int8 - transfer_client_txn_id - - text - transfer_server_txn_id - - text - transfer_gaining_registrar_id - - text - transfer_losing_registrar_id - - text - transfer_pending_expiration_time - - timestamptz - transfer_request_time - - timestamptz - transfer_status - - text - creation_registrar_id - - text - creation_time - - timestamptz - current_sponsor_registrar_id - - text - deletion_time - - timestamptz - last_epp_update_registrar_id - - text - last_epp_update_time - - timestamptz - statuses - - _text - update_timestamp - - timestamptz - domain_repo_id - - text not null - autorenew_end_time - - timestamptz - history_other_registrar_id - - text - history_period_unit - - text - history_period_value - - int4 - autorenew_poll_message_history_id - - int8 - transfer_autorenew_poll_message_history_id - - int8 - transfer_history_entry_id - - int8 - transfer_repo_id - - text - transfer_poll_message_id_3 - - int8 - current_package_token - - text - lordn_phase - - text not null - last_update_time_via_epp - - timestamptz - + + public.DomainHistory + + [table] + history_revision_id + + int8 not null + history_by_superuser + + bool not null + history_registrar_id + + text + history_modification_time + + timestamptz not null + history_reason + + text + history_requested_by_registrar + + bool + history_client_transaction_id + + text + history_server_transaction_id + + text + history_type + + text not null + history_xml_bytes + + bytea + admin_contact + + text + auth_info_repo_id + + text + auth_info_value + + text + billing_recurrence_id + + int8 + autorenew_poll_message_id + + int8 + billing_contact + + text + deletion_poll_message_id + + int8 + 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 + registrant_contact + + text + registration_expiration_time + + timestamptz + smd_id + + text + subordinate_hosts + + _text + tech_contact + + text + tld + + text + transfer_billing_cancellation_id + + int8 + transfer_billing_recurrence_id + + int8 + transfer_autorenew_poll_message_id + + int8 + transfer_billing_event_id + + int8 + transfer_renew_period_unit + + text + transfer_renew_period_value + + int4 + transfer_registration_expiration_time + + timestamptz + transfer_poll_message_id_1 + + int8 + transfer_poll_message_id_2 + + int8 + transfer_client_txn_id + + text + transfer_server_txn_id + + text + transfer_gaining_registrar_id + + text + transfer_losing_registrar_id + + text + transfer_pending_expiration_time + + timestamptz + transfer_request_time + + timestamptz + transfer_status + + text + creation_registrar_id + + text + creation_time + + timestamptz + current_sponsor_registrar_id + + text + deletion_time + + timestamptz + last_epp_update_registrar_id + + text + last_epp_update_time + + timestamptz + statuses + + _text + update_timestamp + + timestamptz + domain_repo_id + + text not null + autorenew_end_time + + timestamptz + history_other_registrar_id + + text + history_period_unit + + text + history_period_value + + int4 + autorenew_poll_message_history_id + + int8 + transfer_autorenew_poll_message_history_id + + int8 + transfer_history_entry_id + + int8 + transfer_repo_id + + text + transfer_poll_message_id_3 + + int8 + current_package_token + + text + lordn_phase + + text not null + last_update_time_via_epp + + timestamptz + billingevent_a57d1815:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_event_domain_history + + + + + + + + fk_billing_event_domain_history billingevent_a57d1815:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_event_domain_history + + + + + + + + fk_billing_event_domain_history billingevent_a57d1815:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_event_recurrence_history + + + + + + + + fk_billing_event_recurrence_history billingevent_a57d1815:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_event_recurrence_history + + + + + + + + fk_billing_event_recurrence_history billingrecurrence_5fa2cb01 - - public.BillingRecurrence - - [table] - billing_recurrence_id - - int8 not null - registrar_id - - text not null - domain_history_revision_id - - int8 not null - domain_repo_id - - text not null - event_time - - timestamptz not null - flags - - _text - reason - - text not null - domain_name - - text not null - recurrence_end_time - - timestamptz - recurrence_time_of_year - - text - renewal_price_behavior - - text not null - renewal_price_currency - - text - renewal_price_amount - - numeric(19, 2) - recurrence_last_expansion - - timestamptz not null - + + public.BillingRecurrence + + [table] + billing_recurrence_id + + int8 not null + registrar_id + + text not null + domain_history_revision_id + + int8 not null + domain_repo_id + + text not null + event_time + + timestamptz not null + flags + + _text + reason + + text not null + domain_name + + text not null + recurrence_end_time + + timestamptz + recurrence_time_of_year + + text + renewal_price_behavior + + text not null + renewal_price_currency + + text + renewal_price_amount + + numeric(19, 2) + recurrence_last_expansion + + timestamptz not null + billingevent_a57d1815:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_billing_event_cancellation_matching_billing_recurrence_id + + + + + + + + fk_billing_event_cancellation_matching_billing_recurrence_id - + registrar_6e1503e3 - - public.Registrar - - [table] - registrar_id - - text not null - allowed_tlds - - _text - billing_account_map - - "hstore" - block_premium_names - - bool not null - client_certificate - - text - client_certificate_hash - - text - contacts_require_syncing - - bool not null - creation_time - - timestamptz not null - 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_allow_list - - _text - last_certificate_update_time - - timestamptz - last_update_time - - timestamptz not null - 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 - - bool not null - password_salt - - text - state - - text - type - - text not null - url - - text - whois_server - - text - last_expiring_cert_notification_sent_date - - timestamptz - last_expiring_failover_cert_notification_sent_date - - timestamptz - + + public.Registrar + + [table] + registrar_id + + text not null + allowed_tlds + + _text + billing_account_map + + "hstore" + block_premium_names + + bool not null + client_certificate + + text + client_certificate_hash + + text + contacts_require_syncing + + bool not null + creation_time + + timestamptz not null + 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_allow_list + + _text + last_certificate_update_time + + timestamptz + last_update_time + + timestamptz not null + 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 + + bool not null + password_salt + + text + state + + text + type + + text not null + url + + text + whois_server + + text + last_expiring_cert_notification_sent_date + + timestamptz + last_expiring_failover_cert_notification_sent_date + + timestamptz + billingevent_a57d1815:w->registrar_6e1503e3:e - - - - - - - - fk_billing_event_registrar_id + + + + + + + + fk_billing_event_registrar_id domain_6c51cffa - - public.Domain - - [table] - repo_id - - text not null - creation_registrar_id - - text not null - creation_time - - timestamptz not null - current_sponsor_registrar_id - - text not null - deletion_time - - timestamptz - last_epp_update_registrar_id - - text - last_epp_update_time - - timestamptz - statuses - - _text - auth_info_repo_id - - text - auth_info_value - - text - 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 - admin_contact - - text - billing_contact - - text - registrant_contact - - text - tech_contact - - text - transfer_poll_message_id_1 - - int8 - transfer_poll_message_id_2 - - int8 - transfer_billing_cancellation_id - - int8 - transfer_billing_event_id - - int8 - transfer_billing_recurrence_id - - int8 - transfer_autorenew_poll_message_id - - int8 - transfer_renew_period_unit - - text - transfer_renew_period_value - - int4 - transfer_client_txn_id - - text - transfer_server_txn_id - - text - transfer_registration_expiration_time - - timestamptz - transfer_gaining_registrar_id - - text - transfer_losing_registrar_id - - text - transfer_pending_expiration_time - - timestamptz - transfer_request_time - - timestamptz - transfer_status - - text - update_timestamp - - timestamptz - billing_recurrence_id - - int8 - autorenew_poll_message_id - - int8 - deletion_poll_message_id - - int8 - autorenew_end_time - - timestamptz - transfer_autorenew_poll_message_history_id - - int8 - transfer_history_entry_id - - int8 - transfer_repo_id - - text - transfer_poll_message_id_3 - - int8 - current_package_token - - text - lordn_phase - - text not null - last_update_time_via_epp - - timestamptz - + + public.Domain + + [table] + repo_id + + text not null + creation_registrar_id + + text not null + creation_time + + timestamptz not null + current_sponsor_registrar_id + + text not null + deletion_time + + timestamptz + last_epp_update_registrar_id + + text + last_epp_update_time + + timestamptz + statuses + + _text + auth_info_repo_id + + text + auth_info_value + + text + 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 + admin_contact + + text + billing_contact + + text + registrant_contact + + text + tech_contact + + text + transfer_poll_message_id_1 + + int8 + transfer_poll_message_id_2 + + int8 + transfer_billing_cancellation_id + + int8 + transfer_billing_event_id + + int8 + transfer_billing_recurrence_id + + int8 + transfer_autorenew_poll_message_id + + int8 + transfer_renew_period_unit + + text + transfer_renew_period_value + + int4 + transfer_client_txn_id + + text + transfer_server_txn_id + + text + transfer_registration_expiration_time + + timestamptz + transfer_gaining_registrar_id + + text + transfer_losing_registrar_id + + text + transfer_pending_expiration_time + + timestamptz + transfer_request_time + + timestamptz + transfer_status + + text + update_timestamp + + timestamptz + billing_recurrence_id + + int8 + autorenew_poll_message_id + + int8 + deletion_poll_message_id + + int8 + autorenew_end_time + + timestamptz + transfer_autorenew_poll_message_history_id + + int8 + transfer_history_entry_id + + int8 + transfer_repo_id + + text + transfer_poll_message_id_3 + + int8 + current_package_token + + text + lordn_phase + + text not null + last_update_time_via_epp + + timestamptz + domain_6c51cffa:w->allocationtoken_a08ccbef:e - - - - - - - - fk_domain_current_package_token + + + + + + + + fk_domain_current_package_token domain_6c51cffa:w->billingevent_a57d1815:e - - - - - - - - fk_domain_transfer_billing_event_id + + + + + + + + fk_domain_transfer_billing_event_id billingcancellation_6eedf614 - - public.BillingCancellation - - [table] - billing_cancellation_id - - int8 not null - registrar_id - - text not null - domain_history_revision_id - - int8 not null - domain_repo_id - - text not null - event_time - - timestamptz not null - flags - - _text - reason - - text not null - domain_name - - text not null - billing_time - - timestamptz - billing_event_id - - int8 - billing_recurrence_id - - int8 - + + public.BillingCancellation + + [table] + billing_cancellation_id + + int8 not null + registrar_id + + text not null + domain_history_revision_id + + int8 not null + domain_repo_id + + text not null + event_time + + timestamptz not null + flags + + _text + reason + + text not null + domain_name + + text not null + billing_time + + timestamptz + billing_event_id + + int8 + billing_recurrence_id + + int8 + domain_6c51cffa:w->billingcancellation_6eedf614:e - - - - - - - - fk_domain_transfer_billing_cancellation_id + + + + + + + + fk_domain_transfer_billing_cancellation_id domain_6c51cffa:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_domain_billing_recurrence_id + + + + + + + + fk_domain_billing_recurrence_id domain_6c51cffa:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_domain_transfer_billing_recurrence_id + + + + + + + + fk_domain_transfer_billing_recurrence_id - + contact_8de8cb16 - - public.Contact - - [table] - repo_id - - text not null - creation_registrar_id - - text not null - creation_time - - timestamptz not null - current_sponsor_registrar_id - - text not null - deletion_time - - timestamptz - last_epp_update_registrar_id - - text - last_epp_update_time - - timestamptz - statuses - - _text - auth_info_repo_id - - text - auth_info_value - - text - contact_id - - text - disclose_types_addr - - _text - disclose_show_email - - bool - disclose_show_fax - - bool - disclose_mode_flag - - bool - disclose_types_name - - _text - disclose_types_org - - _text - disclose_show_voice - - bool - email - - text - fax_phone_extension - - text - fax_phone_number - - text - addr_i18n_city - - text - addr_i18n_country_code - - text - addr_i18n_state - - text - addr_i18n_street_line1 - - text - addr_i18n_street_line2 - - text - addr_i18n_street_line3 - - text - addr_i18n_zip - - text - addr_i18n_name - - text - addr_i18n_org - - text - addr_i18n_type - - text - last_transfer_time - - timestamptz - addr_local_city - - text - addr_local_country_code - - text - addr_local_state - - text - addr_local_street_line1 - - text - addr_local_street_line2 - - text - addr_local_street_line3 - - text - addr_local_zip - - text - addr_local_name - - text - addr_local_org - - text - addr_local_type - - text - search_name - - text - voice_phone_extension - - text - voice_phone_number - - text - transfer_poll_message_id_1 - - int8 - transfer_poll_message_id_2 - - int8 - transfer_client_txn_id - - text - transfer_server_txn_id - - text - transfer_gaining_registrar_id - - text - transfer_losing_registrar_id - - text - transfer_pending_expiration_time - - timestamptz - transfer_request_time - - timestamptz - transfer_status - - text - update_timestamp - - timestamptz - transfer_history_entry_id - - int8 - transfer_repo_id - - text - transfer_poll_message_id_3 - - int8 - last_update_time_via_epp - - timestamptz - + + public.Contact + + [table] + repo_id + + text not null + creation_registrar_id + + text not null + creation_time + + timestamptz not null + current_sponsor_registrar_id + + text not null + deletion_time + + timestamptz + last_epp_update_registrar_id + + text + last_epp_update_time + + timestamptz + statuses + + _text + auth_info_repo_id + + text + auth_info_value + + text + contact_id + + text + disclose_types_addr + + _text + disclose_show_email + + bool + disclose_show_fax + + bool + disclose_mode_flag + + bool + disclose_types_name + + _text + disclose_types_org + + _text + disclose_show_voice + + bool + email + + text + fax_phone_extension + + text + fax_phone_number + + text + addr_i18n_city + + text + addr_i18n_country_code + + text + addr_i18n_state + + text + addr_i18n_street_line1 + + text + addr_i18n_street_line2 + + text + addr_i18n_street_line3 + + text + addr_i18n_zip + + text + addr_i18n_name + + text + addr_i18n_org + + text + addr_i18n_type + + text + last_transfer_time + + timestamptz + addr_local_city + + text + addr_local_country_code + + text + addr_local_state + + text + addr_local_street_line1 + + text + addr_local_street_line2 + + text + addr_local_street_line3 + + text + addr_local_zip + + text + addr_local_name + + text + addr_local_org + + text + addr_local_type + + text + search_name + + text + voice_phone_extension + + text + voice_phone_number + + text + transfer_poll_message_id_1 + + int8 + transfer_poll_message_id_2 + + int8 + transfer_client_txn_id + + text + transfer_server_txn_id + + text + transfer_gaining_registrar_id + + text + transfer_losing_registrar_id + + text + transfer_pending_expiration_time + + timestamptz + transfer_request_time + + timestamptz + transfer_status + + text + update_timestamp + + timestamptz + transfer_history_entry_id + + int8 + transfer_repo_id + + text + transfer_poll_message_id_3 + + int8 + last_update_time_via_epp + + timestamptz + domain_6c51cffa:w->contact_8de8cb16:e - - - - - - - - fk_domain_admin_contact + + + + + + + + fk_domain_admin_contact domain_6c51cffa:w->contact_8de8cb16:e - - - - - - - - fk_domain_billing_contact + + + + + + + + fk_domain_billing_contact domain_6c51cffa:w->contact_8de8cb16:e - - - - - - - - fk_domain_registrant_contact + + + + + + + + fk_domain_registrant_contact domain_6c51cffa:w->contact_8de8cb16:e - - - - - - - - fk_domain_tech_contact + + + + + + + + fk_domain_tech_contact domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fk2jc69qyg2tv9hhnmif6oa1cx1 + + + + + + + + fk2jc69qyg2tv9hhnmif6oa1cx1 domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fk2u3srsfbei272093m3b3xwj23 + + + + + + + + fk2u3srsfbei272093m3b3xwj23 domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fkjc0r9r5y1lfbt4gpbqw4wsuvq + + + + + + + + fkjc0r9r5y1lfbt4gpbqw4wsuvq domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fk_domain_transfer_gaining_registrar_id + + + + + + + + fk_domain_transfer_gaining_registrar_id domain_6c51cffa:w->registrar_6e1503e3:e - - - - - - - - fk_domain_transfer_losing_registrar_id + + + + + + + + fk_domain_transfer_losing_registrar_id - + tld_f1fa57e2 - - public.Tld - - [table] - tld_name - - text not null - add_grace_period_length - - interval not null - allowed_fully_qualified_host_names - - _text - allowed_registrant_contact_ids - - _text - anchor_tenant_add_grace_period_length - - interval not null - auto_renew_grace_period_length - - interval not null - automatic_transfer_length - - interval not null - claims_period_end - - timestamptz not null - create_billing_cost_amount - - numeric(19, 2) - create_billing_cost_currency - - text - creation_time - - timestamptz not null - currency - - text not null - dns_paused - - bool not null - dns_writers - - _text not null - drive_folder_id - - text - eap_fee_schedule - - "hstore" not null - escrow_enabled - - bool not null - invoicing_enabled - - bool not null - lordn_username - - text - num_dns_publish_locks - - int4 not null - pending_delete_length - - interval not null - premium_list_name - - text - pricing_engine_class_name - - text - redemption_grace_period_length - - interval not null - registry_lock_or_unlock_cost_amount - - numeric(19, 2) - registry_lock_or_unlock_cost_currency - - text - renew_billing_cost_transitions - - "hstore" not null - renew_grace_period_length - - interval not null - reserved_list_names - - _text - restore_billing_cost_amount - - numeric(19, 2) - restore_billing_cost_currency - - text - roid_suffix - - text - server_status_change_billing_cost_amount - - numeric(19, 2) - server_status_change_billing_cost_currency - - text - tld_state_transitions - - "hstore" not null - tld_type - - text not null - tld_unicode - - text not null - transfer_grace_period_length - - interval not null - default_promo_tokens - - _text - dns_a_plus_aaaa_ttl - - interval - dns_ds_ttl - - interval - dns_ns_ttl - - interval - idn_tables - - _text - breakglass_mode - - bool not null - bsa_enroll_start_time - - timestamptz - create_billing_cost_transitions - - "hstore" - + + public.Tld + + [table] + tld_name + + text not null + add_grace_period_length + + interval not null + allowed_fully_qualified_host_names + + _text + allowed_registrant_contact_ids + + _text + anchor_tenant_add_grace_period_length + + interval not null + auto_renew_grace_period_length + + interval not null + automatic_transfer_length + + interval not null + claims_period_end + + timestamptz not null + create_billing_cost_amount + + numeric(19, 2) + create_billing_cost_currency + + text + creation_time + + timestamptz not null + currency + + text not null + dns_paused + + bool not null + dns_writers + + _text not null + drive_folder_id + + text + eap_fee_schedule + + "hstore" not null + escrow_enabled + + bool not null + invoicing_enabled + + bool not null + lordn_username + + text + num_dns_publish_locks + + int4 not null + pending_delete_length + + interval not null + premium_list_name + + text + pricing_engine_class_name + + text + redemption_grace_period_length + + interval not null + registry_lock_or_unlock_cost_amount + + numeric(19, 2) + registry_lock_or_unlock_cost_currency + + text + renew_billing_cost_transitions + + "hstore" not null + renew_grace_period_length + + interval not null + reserved_list_names + + _text + restore_billing_cost_amount + + numeric(19, 2) + restore_billing_cost_currency + + text + roid_suffix + + text + server_status_change_billing_cost_amount + + numeric(19, 2) + server_status_change_billing_cost_currency + + text + tld_state_transitions + + "hstore" not null + tld_type + + text not null + tld_unicode + + text not null + transfer_grace_period_length + + interval not null + default_promo_tokens + + _text + dns_a_plus_aaaa_ttl + + interval + dns_ds_ttl + + interval + dns_ns_ttl + + interval + idn_tables + + _text + breakglass_mode + + bool not null + bsa_enroll_start_time + + timestamptz + create_billing_cost_transitions + + "hstore" + - + domain_6c51cffa:w->tld_f1fa57e2:e - - - - - - - - fk_domain_tld + + + + + + + + fk_domain_tld domainhistory_a54cc226:w->allocationtoken_a08ccbef:e - - - - - - - - fk_domain_history_current_package_token + + + + + + + + fk_domain_history_current_package_token domainhistory_a54cc226:w->domain_6c51cffa:e - - - - - - - - fk_domain_history_domain_repo_id + + + + + + + + fk_domain_history_domain_repo_id domainhistory_a54cc226:w->registrar_6e1503e3:e - - - - - - - - fk_domain_history_registrar_id + + + + + + + + fk_domain_history_registrar_id billingcancellation_6eedf614:w->billingevent_a57d1815:e - - - - - - - - fk_billing_cancellation_billing_event_id + + + + + + + + fk_billing_cancellation_billing_event_id billingcancellation_6eedf614:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_cancellation_domain_history + + + + + + + + fk_billing_cancellation_domain_history billingcancellation_6eedf614:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_cancellation_domain_history + + + + + + + + fk_billing_cancellation_domain_history billingcancellation_6eedf614:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_billing_cancellation_billing_recurrence_id + + + + + + + + fk_billing_cancellation_billing_recurrence_id billingcancellation_6eedf614:w->registrar_6e1503e3:e - - - - - - - - fk_billing_cancellation_registrar_id + + + + + + + + fk_billing_cancellation_registrar_id graceperiod_cd3b2e8f - - public.GracePeriod - - [table] - grace_period_id - - int8 not null - billing_event_id - - int8 - billing_recurrence_id - - int8 - registrar_id - - text not null - domain_repo_id - - text not null - expiration_time - - timestamptz not null - type - - text not null - + + public.GracePeriod + + [table] + grace_period_id + + int8 not null + billing_event_id + + int8 + billing_recurrence_id + + int8 + registrar_id + + text not null + domain_repo_id + + text not null + expiration_time + + timestamptz not null + type + + text not null + graceperiod_cd3b2e8f:w->billingevent_a57d1815:e - - - - - - - - fk_grace_period_billing_event_id + + + + + + + + fk_grace_period_billing_event_id graceperiod_cd3b2e8f:w->domain_6c51cffa:e - - - - - - - - fk_grace_period_domain_repo_id + + + + + + + + fk_grace_period_domain_repo_id graceperiod_cd3b2e8f:w->billingrecurrence_5fa2cb01:e - - - - - - - - fk_grace_period_billing_recurrence_id + + + + + + + + fk_grace_period_billing_recurrence_id graceperiod_cd3b2e8f:w->registrar_6e1503e3:e - - - - - - - - fk_grace_period_registrar_id + + + + + + + + fk_grace_period_registrar_id billingrecurrence_5fa2cb01:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_recurrence_domain_history + + + + + + + + fk_billing_recurrence_domain_history billingrecurrence_5fa2cb01:w->domainhistory_a54cc226:e - - - - - - - - fk_billing_recurrence_domain_history + + + + + + + + fk_billing_recurrence_domain_history billingrecurrence_5fa2cb01:w->registrar_6e1503e3:e - - - - - - - - fk_billing_recurrence_registrar_id + + + + + + + + fk_billing_recurrence_registrar_id bsadomainrefresh_c8f4c45d - - public.BsaDomainRefresh - - [table] - job_id - - bigserial not null - - auto-incremented - creation_time - - timestamptz not null - stage - - text not null - update_timestamp - - timestamptz - + + public.BsaDomainRefresh + + [table] + job_id + + bigserial not null + + auto-incremented + creation_time + + timestamptz not null + stage + + text not null + update_timestamp + + timestamptz + bsadownload_98d031ce - - public.BsaDownload - - [table] - job_id - - bigserial not null - - auto-incremented - block_list_checksums - - text not null - creation_time - - timestamptz not null - stage - - text not null - update_timestamp - - timestamptz - + + public.BsaDownload + + [table] + job_id + + bigserial not null + + auto-incremented + block_list_checksums + + text not null + creation_time + + timestamptz not null + stage + + text not null + update_timestamp + + timestamptz + bsalabel_2755e1da - - public.BsaLabel - - [table] - label - - text not null - creation_time - - timestamptz not null - + + public.BsaLabel + + [table] + label + + text not null + creation_time + + timestamptz not null + bsaunblockabledomain_b739a38 - - public.BsaUnblockableDomain - - [table] - label - - text not null - tld - - text not null - creation_time - - timestamptz not null - reason - - text not null - + + public.BsaUnblockableDomain + + [table] + label + + text not null + tld + + text not null + creation_time + + timestamptz not null + reason + + text not null + bsaunblockabledomain_b739a38:w->bsalabel_2755e1da:e - - - - - - - - fkbsaunblockabledomainlabel + + + + + + + + fkbsaunblockabledomainlabel claimsentry_105da9f1 - - public.ClaimsEntry - - [table] - revision_id - - int8 not null - claim_key - - text not null - domain_label - - text not null - + + public.ClaimsEntry + + [table] + revision_id + + int8 not null + claim_key + + text not null + domain_label + + text not null + claimslist_3d49bc2b - - public.ClaimsList - - [table] - revision_id - - bigserial not null - - auto-incremented - creation_timestamp - - timestamptz not null - tmdb_generation_time - - timestamptz not null - + + public.ClaimsList + + [table] + revision_id + + bigserial not null + + auto-incremented + creation_timestamp + + timestamptz not null + tmdb_generation_time + + timestamptz not null + claimsentry_105da9f1:w->claimslist_3d49bc2b:e - - - - - - - - fk6sc6at5hedffc0nhdcab6ivuq + + + + + + + + fk6sc6at5hedffc0nhdcab6ivuq + + + + consoleeppactionhistory_bcc2a2c6 + + + public.ConsoleEppActionHistory + + [table] + history_revision_id + + int8 not null + history_date_time + + timestamptz not null + history_method + + text not null + history_request_body + + text + history_type + + text not null + history_url + + text not null + history_entry_class + + text + repo_id + + text + revision_id + + int8 not null + history_acting_user + + text not null + + + + + user_f2216f01 + + + public."User" + + [table] + id + + bigserial not null + + auto-incremented + email_address + + text not null + registry_lock_password_hash + + text + registry_lock_password_salt + + text + global_role + + text not null + is_admin + + bool not null + registrar_roles + + "hstore" not null + update_timestamp + + timestamptz + + + + + consoleeppactionhistory_bcc2a2c6:w->user_f2216f01:e + + + + + + + + + fkb686b9os2nsjpv930npa4r3b4 contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fk1sfyj7o7954prbn1exk7lpnoe + + + + + + + + fk1sfyj7o7954prbn1exk7lpnoe contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fk93c185fx7chn68uv7nl6uv2s0 + + + + + + + + fk93c185fx7chn68uv7nl6uv2s0 contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fkmb7tdiv85863134w1wogtxrb2 + + + + + + + + fkmb7tdiv85863134w1wogtxrb2 contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fk_contact_transfer_gaining_registrar_id + + + + + + + + fk_contact_transfer_gaining_registrar_id contact_8de8cb16:w->registrar_6e1503e3:e - - - - - - - - fk_contact_transfer_losing_registrar_id + + + + + + + + fk_contact_transfer_losing_registrar_id - + contacthistory_d2964f8a - - public.ContactHistory - - [table] - history_revision_id - - int8 not null - history_by_superuser - - bool not null - history_registrar_id - - text - history_modification_time - - timestamptz not null - history_reason - - text - history_requested_by_registrar - - bool - history_client_transaction_id - - text - history_server_transaction_id - - text - history_type - - text not null - history_xml_bytes - - bytea - auth_info_repo_id - - text - auth_info_value - - text - contact_id - - text - disclose_types_addr - - _text - disclose_show_email - - bool - disclose_show_fax - - bool - disclose_mode_flag - - bool - disclose_types_name - - _text - disclose_types_org - - _text - disclose_show_voice - - bool - email - - text - fax_phone_extension - - text - fax_phone_number - - text - addr_i18n_city - - text - addr_i18n_country_code - - text - addr_i18n_state - - text - addr_i18n_street_line1 - - text - addr_i18n_street_line2 - - text - addr_i18n_street_line3 - - text - addr_i18n_zip - - text - addr_i18n_name - - text - addr_i18n_org - - text - addr_i18n_type - - text - last_transfer_time - - timestamptz - addr_local_city - - text - addr_local_country_code - - text - addr_local_state - - text - addr_local_street_line1 - - text - addr_local_street_line2 - - text - addr_local_street_line3 - - text - addr_local_zip - - text - addr_local_name - - text - addr_local_org - - text - addr_local_type - - text - search_name - - text - transfer_poll_message_id_1 - - int8 - transfer_poll_message_id_2 - - int8 - transfer_client_txn_id - - text - transfer_server_txn_id - - text - transfer_gaining_registrar_id - - text - transfer_losing_registrar_id - - text - transfer_pending_expiration_time - - timestamptz - transfer_request_time - - timestamptz - transfer_status - - text - voice_phone_extension - - text - voice_phone_number - - text - creation_registrar_id - - text - creation_time - - timestamptz - current_sponsor_registrar_id - - text - deletion_time - - timestamptz - last_epp_update_registrar_id - - text - last_epp_update_time - - timestamptz - statuses - - _text - contact_repo_id - - text not null - update_timestamp - - timestamptz - transfer_history_entry_id - - int8 - transfer_repo_id - - text - transfer_poll_message_id_3 - - int8 - last_update_time_via_epp - - timestamptz - + + public.ContactHistory + + [table] + history_revision_id + + int8 not null + history_by_superuser + + bool not null + history_registrar_id + + text + history_modification_time + + timestamptz not null + history_reason + + text + history_requested_by_registrar + + bool + history_client_transaction_id + + text + history_server_transaction_id + + text + history_type + + text not null + history_xml_bytes + + bytea + auth_info_repo_id + + text + auth_info_value + + text + contact_id + + text + disclose_types_addr + + _text + disclose_show_email + + bool + disclose_show_fax + + bool + disclose_mode_flag + + bool + disclose_types_name + + _text + disclose_types_org + + _text + disclose_show_voice + + bool + email + + text + fax_phone_extension + + text + fax_phone_number + + text + addr_i18n_city + + text + addr_i18n_country_code + + text + addr_i18n_state + + text + addr_i18n_street_line1 + + text + addr_i18n_street_line2 + + text + addr_i18n_street_line3 + + text + addr_i18n_zip + + text + addr_i18n_name + + text + addr_i18n_org + + text + addr_i18n_type + + text + last_transfer_time + + timestamptz + addr_local_city + + text + addr_local_country_code + + text + addr_local_state + + text + addr_local_street_line1 + + text + addr_local_street_line2 + + text + addr_local_street_line3 + + text + addr_local_zip + + text + addr_local_name + + text + addr_local_org + + text + addr_local_type + + text + search_name + + text + transfer_poll_message_id_1 + + int8 + transfer_poll_message_id_2 + + int8 + transfer_client_txn_id + + text + transfer_server_txn_id + + text + transfer_gaining_registrar_id + + text + transfer_losing_registrar_id + + text + transfer_pending_expiration_time + + timestamptz + transfer_request_time + + timestamptz + transfer_status + + text + voice_phone_extension + + text + voice_phone_number + + text + creation_registrar_id + + text + creation_time + + timestamptz + current_sponsor_registrar_id + + text + deletion_time + + timestamptz + last_epp_update_registrar_id + + text + last_epp_update_time + + timestamptz + statuses + + _text + contact_repo_id + + text not null + update_timestamp + + timestamptz + transfer_history_entry_id + + int8 + transfer_repo_id + + text + transfer_poll_message_id_3 + + int8 + last_update_time_via_epp + + timestamptz + contacthistory_d2964f8a:w->contact_8de8cb16:e - - - - - - - - fk_contact_history_contact_repo_id + + + + + + + + fk_contact_history_contact_repo_id contacthistory_d2964f8a:w->registrar_6e1503e3:e - - - - - - - - fk_contact_history_registrar_id + + + + + + + + fk_contact_history_registrar_id - + pollmessage_614a523e - - public.PollMessage - - [table] - type - - text not null - poll_message_id - - int8 not null - registrar_id - - text not null - contact_repo_id - - text - contact_history_revision_id - - int8 - domain_repo_id - - text - domain_history_revision_id - - int8 - event_time - - timestamptz not null - host_repo_id - - text - host_history_revision_id - - int8 - message - - text - transfer_response_contact_id - - text - transfer_response_domain_expiration_time - - timestamptz - transfer_response_domain_name - - text - pending_action_response_action_result - - bool - pending_action_response_name_or_id - - text - pending_action_response_processed_date - - timestamptz - pending_action_response_client_txn_id - - text - pending_action_response_server_txn_id - - text - transfer_response_gaining_registrar_id - - text - transfer_response_losing_registrar_id - - text - transfer_response_pending_transfer_expiration_time - - timestamptz - transfer_response_transfer_request_time - - timestamptz - transfer_response_transfer_status - - text - autorenew_end_time - - timestamptz - autorenew_domain_name - - text - transfer_response_host_id - - text - + + public.PollMessage + + [table] + type + + text not null + poll_message_id + + int8 not null + registrar_id + + text not null + contact_repo_id + + text + contact_history_revision_id + + int8 + domain_repo_id + + text + domain_history_revision_id + + int8 + event_time + + timestamptz not null + host_repo_id + + text + host_history_revision_id + + int8 + message + + text + transfer_response_contact_id + + text + transfer_response_domain_expiration_time + + timestamptz + transfer_response_domain_name + + text + pending_action_response_action_result + + bool + pending_action_response_name_or_id + + text + pending_action_response_processed_date + + timestamptz + pending_action_response_client_txn_id + + text + pending_action_response_server_txn_id + + text + transfer_response_gaining_registrar_id + + text + transfer_response_losing_registrar_id + + text + transfer_response_pending_transfer_expiration_time + + timestamptz + transfer_response_transfer_request_time + + timestamptz + transfer_response_transfer_status + + text + autorenew_end_time + + timestamptz + autorenew_domain_name + + text + transfer_response_host_id + + text + pollmessage_614a523e:w->domain_6c51cffa:e - - - - - - - - fk_poll_message_domain_repo_id + + + + + + + + fk_poll_message_domain_repo_id pollmessage_614a523e:w->domainhistory_a54cc226:e - - - - - - - - fk_poll_message_domain_history + + + + + + + + fk_poll_message_domain_history pollmessage_614a523e:w->domainhistory_a54cc226:e - - - - - - - - fk_poll_message_domain_history + + + + + + + + fk_poll_message_domain_history pollmessage_614a523e:w->contact_8de8cb16:e - - - - - - - - fk_poll_message_contact_repo_id + + + + + + + + fk_poll_message_contact_repo_id pollmessage_614a523e:w->contacthistory_d2964f8a:e - - - - - - - - fk_poll_message_contact_history + + + + + + + + fk_poll_message_contact_history pollmessage_614a523e:w->contacthistory_d2964f8a:e - - - - - - - - fk_poll_message_contact_history + + + + + + + + fk_poll_message_contact_history - + host_f21b78de - - public.Host - - [table] - repo_id - - text not null - creation_registrar_id - - text - creation_time - - timestamptz - current_sponsor_registrar_id - - text - deletion_time - - timestamptz - last_epp_update_registrar_id - - text - last_epp_update_time - - timestamptz - statuses - - _text - host_name - - text - last_superordinate_change - - timestamptz - last_transfer_time - - timestamptz - superordinate_domain - - text - inet_addresses - - _text - update_timestamp - - timestamptz - transfer_poll_message_id_3 - - int8 - last_update_time_via_epp - - timestamptz - + + public.Host + + [table] + repo_id + + text not null + creation_registrar_id + + text + creation_time + + timestamptz + current_sponsor_registrar_id + + text + deletion_time + + timestamptz + last_epp_update_registrar_id + + text + last_epp_update_time + + timestamptz + statuses + + _text + host_name + + text + last_superordinate_change + + timestamptz + last_transfer_time + + timestamptz + superordinate_domain + + text + inet_addresses + + _text + update_timestamp + + timestamptz + transfer_poll_message_id_3 + + int8 + last_update_time_via_epp + + timestamptz + pollmessage_614a523e:w->host_f21b78de:e - - - - - - - - fk_poll_message_host_repo_id + + + + + + + + fk_poll_message_host_repo_id - + hosthistory_56210c2 - - public.HostHistory - - [table] - history_revision_id - - int8 not null - history_by_superuser - - bool not null - history_registrar_id - - text not null - history_modification_time - - timestamptz not null - history_reason - - text - history_requested_by_registrar - - bool - history_client_transaction_id - - text - history_server_transaction_id - - text - history_type - - text not null - history_xml_bytes - - bytea - host_name - - text - inet_addresses - - _text - last_superordinate_change - - timestamptz - last_transfer_time - - timestamptz - superordinate_domain - - text - creation_registrar_id - - text - creation_time - - timestamptz - current_sponsor_registrar_id - - text - deletion_time - - timestamptz - last_epp_update_registrar_id - - text - last_epp_update_time - - timestamptz - statuses - - _text - host_repo_id - - text not null - update_timestamp - - timestamptz - transfer_poll_message_id_3 - - int8 - last_update_time_via_epp - - timestamptz - + + public.HostHistory + + [table] + history_revision_id + + int8 not null + history_by_superuser + + bool not null + history_registrar_id + + text not null + history_modification_time + + timestamptz not null + history_reason + + text + history_requested_by_registrar + + bool + history_client_transaction_id + + text + history_server_transaction_id + + text + history_type + + text not null + history_xml_bytes + + bytea + host_name + + text + inet_addresses + + _text + last_superordinate_change + + timestamptz + last_transfer_time + + timestamptz + superordinate_domain + + text + creation_registrar_id + + text + creation_time + + timestamptz + current_sponsor_registrar_id + + text + deletion_time + + timestamptz + last_epp_update_registrar_id + + text + last_epp_update_time + + timestamptz + statuses + + _text + host_repo_id + + text not null + update_timestamp + + timestamptz + transfer_poll_message_id_3 + + int8 + last_update_time_via_epp + + timestamptz + pollmessage_614a523e:w->hosthistory_56210c2:e - - - - - - - - fk_poll_message_host_history + + + + + + + + fk_poll_message_host_history pollmessage_614a523e:w->hosthistory_56210c2:e - - - - - - - - fk_poll_message_host_history + + + + + + + + fk_poll_message_host_history pollmessage_614a523e:w->registrar_6e1503e3:e - - - - - - - - fk_poll_message_registrar_id + + + + + + + + fk_poll_message_registrar_id pollmessage_614a523e:w->registrar_6e1503e3:e - - - - - - - - fk_poll_message_transfer_response_gaining_registrar_id + + + + + + + + fk_poll_message_transfer_response_gaining_registrar_id pollmessage_614a523e:w->registrar_6e1503e3:e - - - - - - - - fk_poll_message_transfer_response_losing_registrar_id + + + + + + + + fk_poll_message_transfer_response_losing_registrar_id - + cursor_6af40e8c - - public."Cursor" - - [table] - "scope" - - text not null - type - - text not null - cursor_time - - timestamptz not null - last_update_time - - timestamptz not null - + + public."Cursor" + + [table] + "scope" + + text not null + type + + text not null + cursor_time + + timestamptz not null + last_update_time + + timestamptz not null + - + delegationsignerdata_e542a872 - - public.DelegationSignerData - - [table] - domain_repo_id - - text not null - key_tag - - int4 not null - algorithm - - int4 not null - digest - - bytea not null - digest_type - - int4 not null - + + public.DelegationSignerData + + [table] + domain_repo_id + + text not null + key_tag + + int4 not null + algorithm + + int4 not null + digest + + bytea not null + digest_type + + int4 not null + delegationsignerdata_e542a872:w->domain_6c51cffa:e - - - - - - - - fktr24j9v14ph2mfuw2gsmt12kq + + + + + + + + fktr24j9v14ph2mfuw2gsmt12kq - + dnsrefreshrequest_4e6affb3 - - public.DnsRefreshRequest - - [table] - id - - bigserial not null - - auto-incremented - name - - text not null - request_time - - timestamptz not null - tld - - text not null - type - - text not null - last_process_time - - timestamptz not null - + + public.DnsRefreshRequest + + [table] + id + + bigserial not null + + auto-incremented + name + + text not null + request_time + + timestamptz not null + tld + + text not null + type + + text not null + last_process_time + + timestamptz not null + - + domainhost_1ea127c2 - - public.DomainHost - - [table] - domain_repo_id - - text not null - host_repo_id - - text - + + public.DomainHost + + [table] + domain_repo_id + + text not null + host_repo_id + + text + domainhost_1ea127c2:w->domain_6c51cffa:e - - - - - - - - fkfmi7bdink53swivs390m2btxg + + + + + + + + fkfmi7bdink53swivs390m2btxg domainhost_1ea127c2:w->host_f21b78de:e - - - - - - - - fk_domainhost_host_valid + + + + + + + + fk_domainhost_host_valid host_f21b78de:w->domain_6c51cffa:e - - - - - - - - fk_host_superordinate_domain + + + + + + + + fk_host_superordinate_domain host_f21b78de:w->registrar_6e1503e3:e - - - - - - - - fk_host_creation_registrar_id + + + + + + + + fk_host_creation_registrar_id host_f21b78de:w->registrar_6e1503e3:e - - - - - - - - fk_host_current_sponsor_registrar_id + + + + + + + + fk_host_current_sponsor_registrar_id host_f21b78de:w->registrar_6e1503e3:e - - - - - - - - fk_host_last_epp_update_registrar_id + + + + + + + + fk_host_last_epp_update_registrar_id - + domaindsdatahistory_995b060d - - public.DomainDsDataHistory - - [table] - ds_data_history_revision_id - - int8 not null - algorithm - - int4 not null - digest - - bytea not null - digest_type - - int4 not null - domain_history_revision_id - - int8 not null - key_tag - - int4 not null - domain_repo_id - - text - + + public.DomainDsDataHistory + + [table] + ds_data_history_revision_id + + int8 not null + algorithm + + int4 not null + digest + + bytea not null + digest_type + + int4 not null + domain_history_revision_id + + int8 not null + key_tag + + int4 not null + domain_repo_id + + text + domaindsdatahistory_995b060d:w->domainhistory_a54cc226:e - - - - - - - - fko4ilgyyfnvppbpuivus565i0j + + + + + + + + fko4ilgyyfnvppbpuivus565i0j domaindsdatahistory_995b060d:w->domainhistory_a54cc226:e - - - - - - - - fko4ilgyyfnvppbpuivus565i0j + + + + + + + + fko4ilgyyfnvppbpuivus565i0j - + domainhistoryhost_9f3f23ee - - public.DomainHistoryHost - - [table] - domain_history_history_revision_id - - int8 not null - host_repo_id - - text - domain_history_domain_repo_id - - text not null - + + public.DomainHistoryHost + + [table] + domain_history_history_revision_id + + int8 not null + host_repo_id + + text + domain_history_domain_repo_id + + text not null + domainhistoryhost_9f3f23ee:w->domainhistory_a54cc226:e - - - - - - - - fka9woh3hu8gx5x0vly6bai327n + + + + + + + + fka9woh3hu8gx5x0vly6bai327n domainhistoryhost_9f3f23ee:w->domainhistory_a54cc226:e - - - - - - - - fka9woh3hu8gx5x0vly6bai327n + + + + + + + + fka9woh3hu8gx5x0vly6bai327n - + domaintransactionrecord_6e77ff61 - - public.DomainTransactionRecord - - [table] - id - - bigserial not null - - auto-incremented - report_amount - - int4 not null - report_field - - text not null - reporting_time - - timestamptz not null - tld - - text not null - domain_repo_id - - text - history_revision_id - - int8 - + + public.DomainTransactionRecord + + [table] + id + + bigserial not null + + auto-incremented + report_amount + + int4 not null + report_field + + text not null + reporting_time + + timestamptz not null + tld + + text not null + domain_repo_id + + text + history_revision_id + + int8 + domaintransactionrecord_6e77ff61:w->domainhistory_a54cc226:e - - - - - - - - fkcjqe54u72kha71vkibvxhjye7 + + + + + + + + fkcjqe54u72kha71vkibvxhjye7 domaintransactionrecord_6e77ff61:w->domainhistory_a54cc226:e - - - - - - - - fkcjqe54u72kha71vkibvxhjye7 + + + + + + + + fkcjqe54u72kha71vkibvxhjye7 - + domaintransactionrecord_6e77ff61:w->tld_f1fa57e2:e - - - - - - - - fk_domain_transaction_record_tld + + + + + + + + fk_domain_transaction_record_tld - + graceperiodhistory_40ccc1f1 - - public.GracePeriodHistory - - [table] - grace_period_history_revision_id - - int8 not null - billing_event_id - - int8 - billing_recurrence_id - - int8 - registrar_id - - text not null - domain_repo_id - - text not null - expiration_time - - timestamptz not null - type - - text not null - domain_history_revision_id - - int8 - grace_period_id - - int8 not null - + + public.GracePeriodHistory + + [table] + grace_period_history_revision_id + + int8 not null + billing_event_id + + int8 + billing_recurrence_id + + int8 + registrar_id + + text not null + domain_repo_id + + text not null + expiration_time + + timestamptz not null + type + + text not null + domain_history_revision_id + + int8 + grace_period_id + + int8 not null + graceperiodhistory_40ccc1f1:w->domainhistory_a54cc226:e - - - - - - - - fk7w3cx8d55q8bln80e716tr7b8 + + + + + + + + fk7w3cx8d55q8bln80e716tr7b8 graceperiodhistory_40ccc1f1:w->domainhistory_a54cc226:e - - - - - - - - fk7w3cx8d55q8bln80e716tr7b8 + + + + + + + + fk7w3cx8d55q8bln80e716tr7b8 hosthistory_56210c2:w->host_f21b78de:e - - - - - - - - fk_hosthistory_host + + + + + + + + fk_hosthistory_host hosthistory_56210c2:w->registrar_6e1503e3:e - - - - - - - - fk_history_registrar_id + + + + + + + + fk_history_registrar_id - + lock_f21d4861 - - public.Lock - - [table] - resource_name - - text not null - "scope" - - text not null - acquired_time - - timestamptz not null - expiration_time - - timestamptz not null - + + public.Lock + + [table] + resource_name + + text not null + "scope" + + text not null + acquired_time + + timestamptz not null + expiration_time + + timestamptz not null + - + packagepromotion_56aa33 - - public.PackagePromotion - - [table] - package_promotion_id - - bigserial not null - - auto-incremented - last_notification_sent - - timestamptz - max_creates - - int4 not null - max_domains - - int4 not null - next_billing_date - - timestamptz not null - package_price_amount - - numeric(19, 2) not null - package_price_currency - - text not null - token - - text not null - + + public.PackagePromotion + + [table] + package_promotion_id + + bigserial not null + + auto-incremented + last_notification_sent + + timestamptz + max_creates + + int4 not null + max_domains + + int4 not null + next_billing_date + + timestamptz not null + package_price_amount + + numeric(19, 2) not null + package_price_currency + + text not null + token + + text not null + - + premiumentry_b0060b91 - - public.PremiumEntry - - [table] - revision_id - - int8 not null - price - - numeric(19, 2) not null - domain_label - - text not null - + + public.PremiumEntry + + [table] + revision_id + + int8 not null + price + + numeric(19, 2) not null + domain_label + + text not null + - + premiumlist_7c3ea68b - - public.PremiumList - - [table] - revision_id - - bigserial not null - - auto-incremented - creation_timestamp - - timestamptz - name - - text not null - bloom_filter - - bytea not null - currency - - text not null - + + public.PremiumList + + [table] + revision_id + + bigserial not null + + auto-incremented + creation_timestamp + + timestamptz + name + + text not null + bloom_filter + + bytea not null + currency + + text not null + premiumentry_b0060b91:w->premiumlist_7c3ea68b:e - - - - - - - - fko0gw90lpo1tuee56l0nb6y6g5 + + + + + + + + fko0gw90lpo1tuee56l0nb6y6g5 - + rderevision_83396864 - - public.RdeRevision - - [table] - tld - - text not null - mode - - text not null - "date" - - date not null - update_timestamp - - timestamptz - revision - - int4 not null - + + public.RdeRevision + + [table] + tld + + text not null + mode + + text not null + "date" + + date not null + update_timestamp + + timestamptz + revision + + int4 not null + - + registrarpoc_ab47054d - - public.RegistrarPoc - - [table] - email_address - - text not null - allowed_to_set_registry_lock_password - - bool not null - fax_number - - text - name - - text - phone_number - - text - registry_lock_password_hash - - text - registry_lock_password_salt - - text - types - - _text - visible_in_domain_whois_as_abuse - - bool not null - visible_in_whois_as_admin - - bool not null - visible_in_whois_as_tech - - bool not null - registry_lock_email_address - - text - registrar_id - - text not null - login_email_address - - text - + + public.RegistrarPoc + + [table] + email_address + + text not null + allowed_to_set_registry_lock_password + + bool not null + fax_number + + text + name + + text + phone_number + + text + registry_lock_password_hash + + text + registry_lock_password_salt + + text + types + + _text + visible_in_domain_whois_as_abuse + + bool not null + visible_in_whois_as_admin + + bool not null + visible_in_whois_as_tech + + bool not null + registry_lock_email_address + + text + registrar_id + + text not null + login_email_address + + text + registrarpoc_ab47054d:w->registrar_6e1503e3:e - - - - - - - - fk_registrar_poc_registrar_id + + + + + + + + fk_registrar_poc_registrar_id + + + + registrarupdatehistory_8a38bed4 + + + public.RegistrarUpdateHistory + + [table] + history_revision_id + + int8 not null + history_date_time + + timestamptz not null + history_method + + text not null + history_request_body + + text + history_type + + text not null + history_url + + text not null + allowed_tlds + + _text + billing_account_map + + "hstore" + block_premium_names + + bool not null + client_certificate + + text + client_certificate_hash + + text + contacts_require_syncing + + bool not null + creation_time + + timestamptz not null + 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_allow_list + + _text + last_certificate_update_time + + timestamptz + last_expiring_cert_notification_sent_date + + timestamptz + last_expiring_failover_cert_notification_sent_date + + 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 + + bool not null + password_salt + + text + state + + text + type + + text not null + url + + text + whois_server + + text + update_timestamp + + timestamptz + registrar_id + + text not null + history_acting_user + + text not null + + + + + registrarupdatehistory_8a38bed4:w->registrar_6e1503e3:e + + + + + + + + + fkregistrarupdatehistoryregistrarid + + + + registrarupdatehistory_8a38bed4:w->user_f2216f01:e + + + + + + + + + fksr7w342s7x5s5jvdti2axqeq8 + + + + registrarpocupdatehistory_31e5d9aa + + + public.RegistrarPocUpdateHistory + + [table] + history_revision_id + + int8 not null + history_date_time + + timestamptz not null + history_method + + text not null + history_request_body + + text + history_type + + text not null + history_url + + text not null + email_address + + text not null + registrar_id + + text not null + allowed_to_set_registry_lock_password + + bool not null + fax_number + + text + login_email_address + + text + name + + text + phone_number + + text + registry_lock_email_address + + text + registry_lock_password_hash + + text + registry_lock_password_salt + + text + types + + _text + visible_in_domain_whois_as_abuse + + bool not null + visible_in_whois_as_admin + + bool not null + visible_in_whois_as_tech + + bool not null + history_acting_user + + text not null + + + + + registrarpocupdatehistory_31e5d9aa:w->registrarpoc_ab47054d:e + + + + + + + + + fkregistrarpocupdatehistoryemailaddress + + + + registrarpocupdatehistory_31e5d9aa:w->registrarpoc_ab47054d:e + + + + + + + + + fkregistrarpocupdatehistoryemailaddress + + + + registrarpocupdatehistory_31e5d9aa:w->user_f2216f01:e + + + + + + + + + fkftpbwctxtkc1i0njc0tdcaa2g - + registrylock_ac88663e - - public.RegistryLock - - [table] - revision_id - - bigserial not null - - auto-incremented - lock_completion_time - - timestamptz - lock_request_time - - timestamptz not null - domain_name - - text not null - is_superuser - - bool not null - registrar_id - - text not null - registrar_poc_id - - text - repo_id - - text not null - verification_code - - text not null - unlock_request_time - - timestamptz - unlock_completion_time - - timestamptz - last_update_time - - timestamptz not null - relock_revision_id - - int8 - relock_duration - - interval - + + public.RegistryLock + + [table] + revision_id + + bigserial not null + + auto-incremented + lock_completion_time + + timestamptz + lock_request_time + + timestamptz not null + domain_name + + text not null + is_superuser + + bool not null + registrar_id + + text not null + registrar_poc_id + + text + repo_id + + text not null + verification_code + + text not null + unlock_request_time + + timestamptz + unlock_completion_time + + timestamptz + last_update_time + + timestamptz not null + relock_revision_id + + int8 + relock_duration + + interval + - + registrylock_ac88663e:w->registrylock_ac88663e:e - - - - - - - - fk2lhcwpxlnqijr96irylrh1707 + + + + + + + + fk2lhcwpxlnqijr96irylrh1707 - + reservedentry_1a7b8520 - - public.ReservedEntry - - [table] - revision_id - - int8 not null - comment - - text - reservation_type - - int4 not null - domain_label - - text not null - + + public.ReservedEntry + + [table] + revision_id + + int8 not null + comment + + text + reservation_type + + int4 not null + domain_label + + text not null + - + reservedlist_b97c3f1c - - public.ReservedList - - [table] - revision_id - - bigserial not null - - auto-incremented - creation_timestamp - - timestamptz not null - name - - text not null - should_publish - - bool - + + public.ReservedList + + [table] + revision_id + + bigserial not null + + auto-incremented + creation_timestamp + + timestamptz not null + name + + text not null + should_publish + + bool + - + reservedentry_1a7b8520:w->reservedlist_b97c3f1c:e - - - - - - - - fkgq03rk0bt1hb915dnyvd3vnfc + + + + + + + + fkgq03rk0bt1hb915dnyvd3vnfc - + serversecret_6cc90f09 - - public.ServerSecret - - [table] - secret - - uuid not null - id - - int8 not null - + + public.ServerSecret + + [table] + secret + + uuid not null + id + + int8 not null + - + signedmarkrevocationentry_99c39721 - - public.SignedMarkRevocationEntry - - [table] - revision_id - - int8 not null - revocation_time - - timestamptz not null - smd_id - - text not null - + + public.SignedMarkRevocationEntry + + [table] + revision_id + + int8 not null + revocation_time + + timestamptz not null + smd_id + + text not null + - + signedmarkrevocationlist_c5d968fb - - public.SignedMarkRevocationList - - [table] - revision_id - - bigserial not null - - auto-incremented - creation_time - - timestamptz - + + public.SignedMarkRevocationList + + [table] + revision_id + + bigserial not null + + auto-incremented + creation_time + + timestamptz + - + signedmarkrevocationentry_99c39721:w->signedmarkrevocationlist_c5d968fb:e - - - - - - - - fk5ivlhvs3121yx2li5tqh54u4 + + + + + + + + fk5ivlhvs3121yx2li5tqh54u4 - + spec11threatmatch_a61228a6 - - public.Spec11ThreatMatch - - [table] - id - - bigserial not null - - auto-incremented - check_date - - date not null - domain_name - - text not null - domain_repo_id - - text not null - registrar_id - - text not null - threat_types - - _text not null - tld - - text not null - + + public.Spec11ThreatMatch + + [table] + id + + bigserial not null + + auto-incremented + check_date + + date not null + domain_name + + text not null + domain_repo_id + + text not null + registrar_id + + text not null + threat_types + + _text not null + tld + + text not null + - + tmchcrl_d282355 - - public.TmchCrl - - [table] - certificate_revocations - - text not null - update_timestamp - - timestamptz not null - url - - text not null - id - - int8 not null - - - + + public.TmchCrl + + [table] + certificate_revocations + + text not null + update_timestamp + + timestamptz not null + url + + text not null + id + + int8 not null + + + - user_f2216f01 + userupdatehistory_24efd476 - - public."User" - - [table] - id - - bigserial not null - - auto-incremented - email_address - - text not null - registry_lock_password_hash - - text - registry_lock_password_salt - - text - global_role - - text not null - is_admin - - bool not null - registrar_roles - - "hstore" not null - update_timestamp - - timestamptz - + + public.UserUpdateHistory + + [table] + history_revision_id + + int8 not null + history_date_time + + timestamptz not null + history_method + + text not null + history_request_body + + text + history_type + + text not null + history_url + + text not null + user_id + + int8 not null + email_address + + text not null + registry_lock_password_hash + + text + registry_lock_password_salt + + text + global_role + + text not null + is_admin + + bool not null + registrar_roles + + "hstore" + update_timestamp + + timestamptz + history_acting_user + + text not null + + + + + userupdatehistory_24efd476:w->user_f2216f01:e + + + + + + + + + fkuserupdatehistoryemailaddress + + + + userupdatehistory_24efd476:w->user_f2216f01:e + + + + + + + + + fk1s7bopbl3pwrhv3jkkofnv3o0 @@ -5197,6 +5638,154 @@ td.section {

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ public.ConsoleEppActionHistory [table] +
history_revision_idint8 not null
history_date_timetimestamptz not null
history_methodtext not null
history_request_bodytext
history_typetext not null
history_urltext not null
history_entry_classtext
repo_idtext
revision_idint8 not null
history_acting_usertext not null
Primary Key
ConsoleEppActionHistory_pkey[primary key]
history_revision_id
Foreign Keys
fkb686b9os2nsjpv930npa4r3b4[foreign key, with no action]
history_acting_user (0..many)→ public."User".email_address
Indexes
ConsoleEppActionHistory_pkey[unique index]
history_revision_idascending
idxiahqo1d1fqdfknywmj2xbxl7t[non-unique index]
revision_idascending
idxcclyb3n5gbex8u8m9fjlujitw[non-unique index]
history_acting_userascending
idx6y67d6wsffmr6jcxax5ghwqhd[non-unique index]
repo_idascending
+

 

+ + + + + + + + + + + + @@ -10679,6 +11280,23 @@ td.section { + + + + + + + + + + + + + + + + + @@ -10714,6 +11332,589 @@ td.section {
public.Contact [table] @@ -10518,6 +11107,18 @@ td.section {
fkregistrarupdatehistoryregistrarid[foreign key, with no action]
registrar_id ←(0..many) public.RegistrarUpdateHistory.registrar_id
Indexes
fkregistrarpocupdatehistoryemailaddress[foreign key, with no action]
email_address ←(0..many) public.RegistrarPocUpdateHistory.email_address
registrar_id ←(0..many) public.RegistrarPocUpdateHistory.registrar_id
Indexes

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ public.RegistrarPocUpdateHistory [table] +
history_revision_idint8 not null
history_date_timetimestamptz not null
history_methodtext not null
history_request_bodytext
history_typetext not null
history_urltext not null
email_addresstext not null
registrar_idtext not null
allowed_to_set_registry_lock_passwordbool not null
fax_numbertext
login_email_addresstext
nametext
phone_numbertext
registry_lock_email_addresstext
registry_lock_password_hashtext
registry_lock_password_salttext
types_text
visible_in_domain_whois_as_abusebool not null
visible_in_whois_as_adminbool not null
visible_in_whois_as_techbool not null
history_acting_usertext not null
Primary Key
RegistrarPocUpdateHistory_pkey[primary key]
history_revision_id
Foreign Keys
fkftpbwctxtkc1i0njc0tdcaa2g[foreign key, with no action]
history_acting_user (0..many)→ public."User".email_address
fkregistrarpocupdatehistoryemailaddress[foreign key, with no action]
email_address (0..many)→ public.RegistrarPoc.email_address
registrar_id (0..many)→ public.RegistrarPoc.registrar_id
Indexes
RegistrarPocUpdateHistory_pkey[unique index]
history_revision_idascending
idxr1cxua6it0rxgt9tpyugspxk[non-unique index]
email_addressascending
idxrn6posxkx58de1cp09g5257cw[non-unique index]
history_acting_userascending
idxfr24wvpg8qalwqy4pni7evrpj[non-unique index]
registrar_idascending
+

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ public.RegistrarUpdateHistory [table] +
history_revision_idint8 not null
history_date_timetimestamptz not null
history_methodtext not null
history_request_bodytext
history_typetext not null
history_urltext not null
allowed_tlds_text
billing_account_map"hstore"
block_premium_namesbool not null
client_certificatetext
client_certificate_hashtext
contacts_require_syncingbool not null
creation_timetimestamptz not null
drive_folder_idtext
email_addresstext
failover_client_certificatetext
failover_client_certificate_hashtext
fax_numbertext
iana_identifierint8
icann_referral_emailtext
i18n_address_citytext
i18n_address_country_codetext
i18n_address_statetext
i18n_address_street_line1text
i18n_address_street_line2text
i18n_address_street_line3text
i18n_address_ziptext
ip_address_allow_list_text
last_certificate_update_timetimestamptz
last_expiring_cert_notification_sent_datetimestamptz
last_expiring_failover_cert_notification_sent_datetimestamptz
localized_address_citytext
localized_address_country_codetext
localized_address_statetext
localized_address_street_line1text
localized_address_street_line2text
localized_address_street_line3text
localized_address_ziptext
password_hashtext
phone_numbertext
phone_passcodetext
po_numbertext
rdap_base_urls_text
registrar_nametext not null
registry_lock_allowedbool not null
password_salttext
statetext
typetext not null
urltext
whois_servertext
update_timestamptimestamptz
registrar_idtext not null
history_acting_usertext not null
Primary Key
RegistrarUpdateHistory_pkey[primary key]
history_revision_id
Foreign Keys
fksr7w342s7x5s5jvdti2axqeq8[foreign key, with no action]
history_acting_user (0..many)→ public."User".email_address
fkregistrarupdatehistoryregistrarid[foreign key, with no action]
registrar_id (0..many)→ public.Registrar.registrar_id
Indexes
RegistrarUpdateHistory_pkey[unique index]
history_revision_idascending
idxm6k18dusy2lfi5y81k8g256sa[non-unique index]
history_acting_userascending
idx3d1mucv7axrhud8w8jl4vsu62[non-unique index]
registrar_idascending
+

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11902,6 +13169,179 @@ td.section {
public.RegistryLock [table] @@ -11860,6 +13061,72 @@ td.section {
Foreign Keys
fkb686b9os2nsjpv930npa4r3b4[foreign key, with no action]
email_address ←(0..many) public.ConsoleEppActionHistory.history_acting_user
fkftpbwctxtkc1i0njc0tdcaa2g[foreign key, with no action]
email_address ←(0..many) public.RegistrarPocUpdateHistory.history_acting_user
fksr7w342s7x5s5jvdti2axqeq8[foreign key, with no action]
email_address ←(0..many) public.RegistrarUpdateHistory.history_acting_user
fkuserupdatehistoryemailaddress[foreign key, with no action]
email_address ←(0..many) public.UserUpdateHistory.email_address
fk1s7bopbl3pwrhv3jkkofnv3o0[foreign key, with no action]
email_address ←(0..many) public.UserUpdateHistory.history_acting_user
Indexes

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ public.UserUpdateHistory [table] +
history_revision_idint8 not null
history_date_timetimestamptz not null
history_methodtext not null
history_request_bodytext
history_typetext not null
history_urltext not null
user_idint8 not null
email_addresstext not null
registry_lock_password_hashtext
registry_lock_password_salttext
global_roletext not null
is_adminbool not null
registrar_roles"hstore"
update_timestamptimestamptz
history_acting_usertext not null
Primary Key
UserUpdateHistory_pkey[primary key]
history_revision_id
Foreign Keys
fkuserupdatehistoryemailaddress[foreign key, with no action]
email_address (0..many)→ public."User".email_address
fk1s7bopbl3pwrhv3jkkofnv3o0[foreign key, with no action]
history_acting_user (0..many)→ public."User".email_address
Indexes
UserUpdateHistory_pkey[unique index]
history_revision_idascending
idx5yqacw829y5bm6f7eajsq1cts[non-unique index]
email_addressascending
idxbjacjlm8ianc4kxxvamnu94k5[non-unique index]
history_acting_userascending
+

 

\ No newline at end of file diff --git a/db/src/main/resources/sql/flyway.txt b/db/src/main/resources/sql/flyway.txt index ee5508721..e161a42be 100644 --- a/db/src/main/resources/sql/flyway.txt +++ b/db/src/main/resources/sql/flyway.txt @@ -153,3 +153,8 @@ V152__add_bsa_domain_refresh_table.sql V153__drop_bsa_domain_in_use_table.sql V154__add_create_billing_cost_transitions_to_tld.sql V155__reserved_list_null_should_publish.sql +V156__console_update_history.sql +V157__console_epp_action_history_indexes.sql +V158__registrar_poc_update_history_indexes.sql +V159__registrar_update_history_indexes.sql +V160__user_update_history_indexes.sql diff --git a/db/src/main/resources/sql/flyway/V156__console_update_history.sql b/db/src/main/resources/sql/flyway/V156__console_update_history.sql new file mode 100644 index 000000000..43113cc1e --- /dev/null +++ b/db/src/main/resources/sql/flyway/V156__console_update_history.sql @@ -0,0 +1,149 @@ +-- Copyright 2024 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 "ConsoleEppActionHistory" ( + history_revision_id int8 NOT NULL, + history_date_time timestamptz NOT NULL, + history_method text NOT NULL, + history_request_body text, + history_type text NOT NULL, + history_url text NOT NULL, + history_entry_class text NOT NULL, + repo_id text NOT NULL, + revision_id int8 NOT NULL, + history_acting_user text NOT NULL, + PRIMARY KEY (history_revision_id), + CONSTRAINT FKb686b9os2nsjpv930npa4r3b4 + FOREIGN KEY(history_acting_user) + REFERENCES "User" (email_address) +); + +CREATE TABLE "RegistrarPocUpdateHistory" ( + history_revision_id int8 NOT NULL, + history_date_time timestamptz NOT NULL, + history_method text NOT NULL, + history_request_body text, + history_type text NOT NULL, + history_url text NOT NULL, + email_address text NOT NULL, + registrar_id text NOT NULL, + allowed_to_set_registry_lock_password boolean NOT NULL, + fax_number text, + login_email_address text, + name text, + phone_number text, + registry_lock_email_address 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, + history_acting_user text NOT NULL, + PRIMARY KEY (history_revision_id), + CONSTRAINT FKftpbwctxtkc1i0njc0tdcaa2g + FOREIGN KEY(history_acting_user) + REFERENCES "User" (email_address), + CONSTRAINT FKRegistrarPocUpdateHistoryEmailAddress + FOREIGN KEY(email_address, registrar_id) + REFERENCES "RegistrarPoc" (email_address, registrar_id) +); + +CREATE TABLE "RegistrarUpdateHistory" ( + history_revision_id int8 NOT NULL, + history_date_time timestamptz NOT NULL, + history_method text NOT NULL, + history_request_body text, + history_type text NOT NULL, + history_url text NOT NULL, + allowed_tlds text[], + billing_account_map hstore, + block_premium_names boolean NOT NULL, + client_certificate text, + client_certificate_hash text, + contacts_require_syncing boolean NOT NULL, + creation_time timestamptz NOT NULL, + 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_allow_list text[], + last_certificate_update_time timestamptz, + last_expiring_cert_notification_sent_date timestamptz, + last_expiring_failover_cert_notification_sent_date 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, + update_timestamp timestamptz, + registrar_id text NOT NULL, + history_acting_user text NOT NULL, + PRIMARY KEY (history_revision_id), + CONSTRAINT FKsr7w342s7x5s5jvdti2axqeq8 + FOREIGN KEY (history_acting_user) + REFERENCES "User" (email_address), + CONSTRAINT FKRegistrarUpdateHistoryRegistrarId + FOREIGN KEY (registrar_id) + REFERENCES "Registrar" (registrar_id) +); + +CREATE TABLE "UserUpdateHistory" ( + history_revision_id int8 NOT NULL, + history_date_time timestamptz NOT NULL, + history_method text NOT NULL, + history_request_body text, + history_type text NOT NULL, + history_url text NOT NULL, + user_id int8 NOT NULL, + email_address text NOT NULL, + registry_lock_password_hash text, + registry_lock_password_salt text, + global_role text NOT NULL, + is_admin boolean NOT NULL, + registrar_roles hstore, + update_timestamp timestamptz, + history_acting_user text NOT NULL, + PRIMARY KEY (history_revision_id), + CONSTRAINT FK1s7bopbl3pwrhv3jkkofnv3o0 + FOREIGN KEY (history_acting_user) + REFERENCES "User" (email_address), + CONSTRAINT FKUserUpdateHistoryEmailAddress + FOREIGN KEY (email_address) + REFERENCES "User" (email_address) +); diff --git a/db/src/main/resources/sql/flyway/V157__console_epp_action_history_indexes.sql b/db/src/main/resources/sql/flyway/V157__console_epp_action_history_indexes.sql new file mode 100644 index 000000000..def17762e --- /dev/null +++ b/db/src/main/resources/sql/flyway/V157__console_epp_action_history_indexes.sql @@ -0,0 +1,20 @@ +-- Copyright 2024 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 INDEX IF NOT EXISTS IDXcclyb3n5gbex8u8m9fjlujitw + ON "ConsoleEppActionHistory" (history_acting_user); +CREATE INDEX IF NOT EXISTS IDX6y67d6wsffmr6jcxax5ghwqhd + ON "ConsoleEppActionHistory" (repo_id); +CREATE INDEX IF NOT EXISTS IDXiahqo1d1fqdfknywmj2xbxl7t + ON "ConsoleEppActionHistory" (revision_id); diff --git a/db/src/main/resources/sql/flyway/V158__registrar_poc_update_history_indexes.sql b/db/src/main/resources/sql/flyway/V158__registrar_poc_update_history_indexes.sql new file mode 100644 index 000000000..3512fada5 --- /dev/null +++ b/db/src/main/resources/sql/flyway/V158__registrar_poc_update_history_indexes.sql @@ -0,0 +1,20 @@ +-- Copyright 2024 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 INDEX IF NOT EXISTS IDXrn6posxkx58de1cp09g5257cw + ON "RegistrarPocUpdateHistory" (history_acting_user); +CREATE INDEX IF NOT EXISTS IDXr1cxua6it0rxgt9tpyugspxk + ON "RegistrarPocUpdateHistory" (email_address); +CREATE INDEX IF NOT EXISTS IDXfr24wvpg8qalwqy4pni7evrpj + ON "RegistrarPocUpdateHistory" (registrar_id); diff --git a/db/src/main/resources/sql/flyway/V159__registrar_update_history_indexes.sql b/db/src/main/resources/sql/flyway/V159__registrar_update_history_indexes.sql new file mode 100644 index 000000000..3fc4e52cf --- /dev/null +++ b/db/src/main/resources/sql/flyway/V159__registrar_update_history_indexes.sql @@ -0,0 +1,18 @@ +-- Copyright 2024 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 INDEX IF NOT EXISTS IDXm6k18dusy2lfi5y81k8g256sa + ON "RegistrarUpdateHistory" (history_acting_user); +CREATE INDEX IF NOT EXISTS IDX3d1mucv7axrhud8w8jl4vsu62 + ON "RegistrarUpdateHistory" (registrar_id); diff --git a/db/src/main/resources/sql/flyway/V160__user_update_history_indexes.sql b/db/src/main/resources/sql/flyway/V160__user_update_history_indexes.sql new file mode 100644 index 000000000..033f99d5a --- /dev/null +++ b/db/src/main/resources/sql/flyway/V160__user_update_history_indexes.sql @@ -0,0 +1,18 @@ +-- Copyright 2024 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 INDEX IF NOT EXISTS IDXbjacjlm8ianc4kxxvamnu94k5 + ON "UserUpdateHistory" (history_acting_user); +CREATE INDEX IF NOT EXISTS IDX5yqacw829y5bm6f7eajsq1cts + ON "UserUpdateHistory" (email_address); diff --git a/db/src/main/resources/sql/schema/nomulus.golden.sql b/db/src/main/resources/sql/schema/nomulus.golden.sql index 35b64229b..fd8b14ae3 100644 --- a/db/src/main/resources/sql/schema/nomulus.golden.sql +++ b/db/src/main/resources/sql/schema/nomulus.golden.sql @@ -249,6 +249,24 @@ CREATE SEQUENCE public."ClaimsList_revision_id_seq" ALTER SEQUENCE public."ClaimsList_revision_id_seq" OWNED BY public."ClaimsList".revision_id; +-- +-- Name: ConsoleEppActionHistory; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public."ConsoleEppActionHistory" ( + history_revision_id bigint NOT NULL, + history_date_time timestamp with time zone NOT NULL, + history_method text NOT NULL, + history_request_body text, + history_type text NOT NULL, + history_url text NOT NULL, + history_entry_class text NOT NULL, + repo_id text NOT NULL, + revision_id bigint NOT NULL, + history_acting_user text NOT NULL +); + + -- -- Name: Contact; Type: TABLE; Schema: public; Owner: - -- @@ -961,6 +979,96 @@ CREATE TABLE public."RegistrarPoc" ( ); +-- +-- Name: RegistrarPocUpdateHistory; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public."RegistrarPocUpdateHistory" ( + history_revision_id bigint NOT NULL, + history_date_time timestamp with time zone NOT NULL, + history_method text NOT NULL, + history_request_body text, + history_type text NOT NULL, + history_url text NOT NULL, + email_address text NOT NULL, + registrar_id text NOT NULL, + allowed_to_set_registry_lock_password boolean NOT NULL, + fax_number text, + login_email_address text, + name text, + phone_number text, + registry_lock_email_address 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, + history_acting_user text NOT NULL +); + + +-- +-- Name: RegistrarUpdateHistory; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public."RegistrarUpdateHistory" ( + history_revision_id bigint NOT NULL, + history_date_time timestamp with time zone NOT NULL, + history_method text NOT NULL, + history_request_body text, + history_type text NOT NULL, + history_url text NOT NULL, + allowed_tlds text[], + billing_account_map public.hstore, + block_premium_names boolean NOT NULL, + client_certificate text, + client_certificate_hash text, + contacts_require_syncing boolean NOT NULL, + creation_time timestamp with time zone NOT NULL, + drive_folder_id text, + email_address text, + failover_client_certificate text, + failover_client_certificate_hash text, + fax_number text, + iana_identifier bigint, + 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_allow_list text[], + last_certificate_update_time timestamp with time zone, + last_expiring_cert_notification_sent_date timestamp with time zone, + last_expiring_failover_cert_notification_sent_date timestamp with time zone, + 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, + update_timestamp timestamp with time zone, + registrar_id text NOT NULL, + history_acting_user text NOT NULL +); + + -- -- Name: RegistryLock; Type: TABLE; Schema: public; Owner: - -- @@ -1211,6 +1319,29 @@ CREATE TABLE public."User" ( ); +-- +-- Name: UserUpdateHistory; Type: TABLE; Schema: public; Owner: - +-- + +CREATE TABLE public."UserUpdateHistory" ( + history_revision_id bigint NOT NULL, + history_date_time timestamp with time zone NOT NULL, + history_method text NOT NULL, + history_request_body text, + history_type text NOT NULL, + history_url text NOT NULL, + user_id bigint NOT NULL, + email_address text NOT NULL, + registry_lock_password_hash text, + registry_lock_password_salt text, + global_role text NOT NULL, + is_admin boolean NOT NULL, + registrar_roles public.hstore, + update_timestamp timestamp with time zone, + history_acting_user text NOT NULL +); + + -- -- Name: User_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- @@ -1406,6 +1537,14 @@ ALTER TABLE ONLY public."ClaimsList" ADD CONSTRAINT "ClaimsList_pkey" PRIMARY KEY (revision_id); +-- +-- Name: ConsoleEppActionHistory ConsoleEppActionHistory_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."ConsoleEppActionHistory" + ADD CONSTRAINT "ConsoleEppActionHistory_pkey" PRIMARY KEY (history_revision_id); + + -- -- Name: ContactHistory ContactHistory_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- @@ -1558,6 +1697,14 @@ ALTER TABLE ONLY public."RdeRevision" ADD CONSTRAINT "RdeRevision_pkey" PRIMARY KEY (tld, mode, date); +-- +-- Name: RegistrarPocUpdateHistory RegistrarPocUpdateHistory_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."RegistrarPocUpdateHistory" + ADD CONSTRAINT "RegistrarPocUpdateHistory_pkey" PRIMARY KEY (history_revision_id); + + -- -- Name: RegistrarPoc RegistrarPoc_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- @@ -1566,6 +1713,14 @@ ALTER TABLE ONLY public."RegistrarPoc" ADD CONSTRAINT "RegistrarPoc_pkey" PRIMARY KEY (registrar_id, email_address); +-- +-- Name: RegistrarUpdateHistory RegistrarUpdateHistory_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."RegistrarUpdateHistory" + ADD CONSTRAINT "RegistrarUpdateHistory_pkey" PRIMARY KEY (history_revision_id); + + -- -- Name: Registrar Registrar_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- @@ -1646,6 +1801,14 @@ ALTER TABLE ONLY public."TmchCrl" ADD CONSTRAINT "TmchCrl_pkey" PRIMARY KEY (id); +-- +-- Name: UserUpdateHistory UserUpdateHistory_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."UserUpdateHistory" + ADD CONSTRAINT "UserUpdateHistory_pkey" PRIMARY KEY (history_revision_id); + + -- -- Name: User User_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- @@ -1735,6 +1898,13 @@ CREATE INDEX idx1rcgkdd777bpvj0r94sltwd5y ON public."Domain" USING btree (domain CREATE INDEX idx2exdfbx6oiiwnhr8j6gjpqt2j ON public."BillingCancellation" USING btree (event_time); +-- +-- Name: idx3d1mucv7axrhud8w8jl4vsu62; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx3d1mucv7axrhud8w8jl4vsu62 ON public."RegistrarUpdateHistory" USING btree (registrar_id); + + -- -- Name: idx3y3k7m2bkgahm9sixiohgyrga; Type: INDEX; Schema: public; Owner: - -- @@ -1777,6 +1947,13 @@ CREATE INDEX idx5u5m6clpk3nktrvtyy5umacb6 ON public."GracePeriod" USING btree (b CREATE INDEX idx5yfbr88439pxw0v3j86c74fp8 ON public."BillingEvent" USING btree (event_time); +-- +-- Name: idx5yqacw829y5bm6f7eajsq1cts; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx5yqacw829y5bm6f7eajsq1cts ON public."UserUpdateHistory" USING btree (email_address); + + -- -- Name: idx67qwkjtlq5q8dv6egtrtnhqi7; Type: INDEX; Schema: public; Owner: - -- @@ -1812,6 +1989,13 @@ CREATE INDEX idx6syykou4nkc7hqa5p8r92cpch ON public."BillingRecurrence" USING bt CREATE INDEX idx6w3qbtgce93cal2orjg1tw7b7 ON public."DomainHistory" USING btree (history_modification_time); +-- +-- Name: idx6y67d6wsffmr6jcxax5ghwqhd; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idx6y67d6wsffmr6jcxax5ghwqhd ON public."ConsoleEppActionHistory" USING btree (repo_id); + + -- -- Name: idx73l103vc5900ig3p4odf0cngt; Type: INDEX; Schema: public; Owner: - -- @@ -1896,6 +2080,13 @@ CREATE INDEX idxbgfmveqa7e5hn689koikwn70r ON public."BillingEvent" USING btree ( CREATE INDEX idxbgssjudpm428mrv0xfpvgifps ON public."GracePeriod" USING btree (billing_event_id); +-- +-- Name: idxbjacjlm8ianc4kxxvamnu94k5; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idxbjacjlm8ianc4kxxvamnu94k5 ON public."UserUpdateHistory" USING btree (history_acting_user); + + -- -- Name: idxbn8t4wp85fgxjl8q4ctlscx55; Type: INDEX; Schema: public; Owner: - -- @@ -1903,6 +2094,13 @@ CREATE INDEX idxbgssjudpm428mrv0xfpvgifps ON public."GracePeriod" USING btree (b CREATE INDEX idxbn8t4wp85fgxjl8q4ctlscx55 ON public."Contact" USING btree (current_sponsor_registrar_id); +-- +-- Name: idxcclyb3n5gbex8u8m9fjlujitw; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idxcclyb3n5gbex8u8m9fjlujitw ON public."ConsoleEppActionHistory" USING btree (history_acting_user); + + -- -- Name: idxcju58vqascbpve1t7fem53ctl; Type: INDEX; Schema: public; Owner: - -- @@ -1945,6 +2143,13 @@ CREATE INDEX idxfdk2xpil2x1gh0omt84k2y3o1 ON public."DnsRefreshRequest" USING bt CREATE INDEX idxfg2nnjlujxo6cb9fha971bq2n ON public."HostHistory" USING btree (creation_time); +-- +-- Name: idxfr24wvpg8qalwqy4pni7evrpj; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idxfr24wvpg8qalwqy4pni7evrpj ON public."RegistrarPocUpdateHistory" USING btree (registrar_id); + + -- -- Name: idxhlqqd5uy98cjyos72d81x9j95; Type: INDEX; Schema: public; Owner: - -- @@ -1966,6 +2171,13 @@ CREATE INDEX idxhmv411mdqo5ibn4vy7ykxpmlv ON public."BillingEvent" USING btree ( CREATE INDEX idxhp33wybmb6tbpr1bq7ttwk8je ON public."ContactHistory" USING btree (history_registrar_id); +-- +-- Name: idxiahqo1d1fqdfknywmj2xbxl7t; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idxiahqo1d1fqdfknywmj2xbxl7t ON public."ConsoleEppActionHistory" USING btree (revision_id); + + -- -- Name: idxj1mtx98ndgbtb1bkekahms18w; Type: INDEX; Schema: public; Owner: - -- @@ -2057,6 +2269,13 @@ CREATE INDEX idxlg6a5tp70nch9cp0gc11brc5o ON public."PackagePromotion" USING btr CREATE INDEX idxlrq7v63pc21uoh3auq6eybyhl ON public."Domain" USING btree (autorenew_end_time); +-- +-- Name: idxm6k18dusy2lfi5y81k8g256sa; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idxm6k18dusy2lfi5y81k8g256sa ON public."RegistrarUpdateHistory" USING btree (history_acting_user); + + -- -- Name: idxn1f711wicdnooa2mqb7g1m55o; Type: INDEX; Schema: public; Owner: - -- @@ -2148,6 +2367,13 @@ CREATE INDEX idxq9gy8x2xynt9tb16yajn1gcm8 ON public."Domain" USING btree (billin CREATE INDEX idxqa3g92jc17e8dtiaviy4fet4x ON public."BillingCancellation" USING btree (billing_time); +-- +-- Name: idxr1cxua6it0rxgt9tpyugspxk; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idxr1cxua6it0rxgt9tpyugspxk ON public."RegistrarPocUpdateHistory" USING btree (email_address); + + -- -- Name: idxr22ciyccwi9rrqmt1ro0s59qf; Type: INDEX; Schema: public; Owner: - -- @@ -2169,6 +2395,13 @@ CREATE INDEX idxrc77s1ndiemi2vwwudchye214 ON public."Host" USING gin (inet_addre CREATE INDEX idxrh4xmrot9bd63o382ow9ltfig ON public."DomainHistory" USING btree (creation_time); +-- +-- Name: idxrn6posxkx58de1cp09g5257cw; Type: INDEX; Schema: public; Owner: - +-- + +CREATE INDEX idxrn6posxkx58de1cp09g5257cw ON public."RegistrarPocUpdateHistory" USING btree (history_acting_user); + + -- -- Name: idxrwl38wwkli1j7gkvtywi9jokq; Type: INDEX; Schema: public; Owner: - -- @@ -2274,6 +2507,14 @@ CREATE INDEX spec11threatmatch_tld_idx ON public."Spec11ThreatMatch" USING btree CREATE INDEX user_email_address_idx ON public."User" USING btree (email_address); +-- +-- Name: UserUpdateHistory fk1s7bopbl3pwrhv3jkkofnv3o0; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."UserUpdateHistory" + ADD CONSTRAINT fk1s7bopbl3pwrhv3jkkofnv3o0 FOREIGN KEY (history_acting_user) REFERENCES public."User"(email_address); + + -- -- Name: Contact fk1sfyj7o7954prbn1exk7lpnoe; Type: FK CONSTRAINT; Schema: public; Owner: - -- @@ -2762,6 +3003,14 @@ ALTER TABLE ONLY public."DomainHistoryHost" ADD CONSTRAINT fka9woh3hu8gx5x0vly6bai327n FOREIGN KEY (domain_history_domain_repo_id, domain_history_history_revision_id) REFERENCES public."DomainHistory"(domain_repo_id, history_revision_id) DEFERRABLE INITIALLY DEFERRED; +-- +-- Name: ConsoleEppActionHistory fkb686b9os2nsjpv930npa4r3b4; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."ConsoleEppActionHistory" + ADD CONSTRAINT fkb686b9os2nsjpv930npa4r3b4 FOREIGN KEY (history_acting_user) REFERENCES public."User"(email_address); + + -- -- Name: BsaUnblockableDomain fkbsaunblockabledomainlabel; Type: FK CONSTRAINT; Schema: public; Owner: - -- @@ -2786,6 +3035,14 @@ ALTER TABLE ONLY public."DomainHost" ADD CONSTRAINT fkfmi7bdink53swivs390m2btxg FOREIGN KEY (domain_repo_id) REFERENCES public."Domain"(repo_id) DEFERRABLE INITIALLY DEFERRED; +-- +-- Name: RegistrarPocUpdateHistory fkftpbwctxtkc1i0njc0tdcaa2g; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."RegistrarPocUpdateHistory" + ADD CONSTRAINT fkftpbwctxtkc1i0njc0tdcaa2g FOREIGN KEY (history_acting_user) REFERENCES public."User"(email_address); + + -- -- Name: ReservedEntry fkgq03rk0bt1hb915dnyvd3vnfc; Type: FK CONSTRAINT; Schema: public; Owner: - -- @@ -2826,6 +3083,30 @@ ALTER TABLE ONLY public."DomainDsDataHistory" ADD CONSTRAINT fko4ilgyyfnvppbpuivus565i0j FOREIGN KEY (domain_repo_id, domain_history_revision_id) REFERENCES public."DomainHistory"(domain_repo_id, history_revision_id) DEFERRABLE INITIALLY DEFERRED; +-- +-- Name: RegistrarPocUpdateHistory fkregistrarpocupdatehistoryemailaddress; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."RegistrarPocUpdateHistory" + ADD CONSTRAINT fkregistrarpocupdatehistoryemailaddress FOREIGN KEY (email_address, registrar_id) REFERENCES public."RegistrarPoc"(email_address, registrar_id); + + +-- +-- Name: RegistrarUpdateHistory fkregistrarupdatehistoryregistrarid; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."RegistrarUpdateHistory" + ADD CONSTRAINT fkregistrarupdatehistoryregistrarid FOREIGN KEY (registrar_id) REFERENCES public."Registrar"(registrar_id); + + +-- +-- Name: RegistrarUpdateHistory fksr7w342s7x5s5jvdti2axqeq8; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."RegistrarUpdateHistory" + ADD CONSTRAINT fksr7w342s7x5s5jvdti2axqeq8 FOREIGN KEY (history_acting_user) REFERENCES public."User"(email_address); + + -- -- Name: DelegationSignerData fktr24j9v14ph2mfuw2gsmt12kq; Type: FK CONSTRAINT; Schema: public; Owner: - -- @@ -2834,6 +3115,14 @@ ALTER TABLE ONLY public."DelegationSignerData" ADD CONSTRAINT fktr24j9v14ph2mfuw2gsmt12kq FOREIGN KEY (domain_repo_id) REFERENCES public."Domain"(repo_id) DEFERRABLE INITIALLY DEFERRED; +-- +-- Name: UserUpdateHistory fkuserupdatehistoryemailaddress; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY public."UserUpdateHistory" + ADD CONSTRAINT fkuserupdatehistoryemailaddress FOREIGN KEY (email_address) REFERENCES public."User"(email_address); + + -- -- PostgreSQL database dump complete --