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 8a0bbf07f..564445eae 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,11 +261,11 @@ td.section {
generated on
- 2023-06-06 17:51:42.337598
+ 2023-07-07 17:30:23.191251
last flyway file
- V145__add_breakglass_mode_to_tld_table.sql
+ V146__last_update_time_via_epp.sql
@@ -285,7 +285,7 @@ td.section {
generated on
- 2023-06-06 17:51:42.337598
+ 2023-07-07 17:30:23.191251
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 b54521442..bc56d3211 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,20 +261,20 @@ td.section {
generated on
- 2023-06-06 17:51:40.336636
+ 2023-07-07 17:30:21.119627
last flyway file
- V145__add_breakglass_mode_to_tld_table.sql
+ V146__last_update_time_via_epp.sql
-
-
+
+
SchemaCrawler_Diagram
-
+
generated by
@@ -285,7 +285,7 @@ td.section {
generated on
- 2023-06-06 17:51:40.336636
+ 2023-07-07 17:30:21.119627
@@ -1123,14 +1123,14 @@ td.section {
billingevent_a57d1815:w->domainhistory_a54cc226:e
-
-
-
+
+
+
-
-
-
+
+
+
fk_billing_event_domain_history
@@ -1149,25 +1149,25 @@ td.section {
billingevent_a57d1815:w->domainhistory_a54cc226:e
-
-
-
-
+
+
+
+
-
+
-
+
fk_billing_event_recurrence_history
billingevent_a57d1815:w->domainhistory_a54cc226:e
-
-
-
-
+
+
+
+
-
+
fk_billing_event_recurrence_history
@@ -1299,406 +1299,406 @@ td.section {
billingevent_a57d1815:w->billingrecurrence_5fa2cb01:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
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
-
+
billingevent_a57d1815:w->registrar_6e1503e3:e
-
+
-
-
-
-
+
+
+
+
fk_billing_event_registrar_id
@@ -2298,80 +2298,88 @@ td.section {
contact_8de8cb16
-
-
+
+
public.Contact
-
-
+
+
[table]
-
+
repo_id
+
+
+
+ text not null
+
+
+ creation_registrar_id
+
text not null
- creation_registrar_id
+ creation_time
- text not null
+ timestamptz not null
- creation_time
+ current_sponsor_registrar_id
- timestamptz not null
+ text not null
- current_sponsor_registrar_id
+ deletion_time
- text not null
+ timestamptz
- deletion_time
+ last_epp_update_registrar_id
- timestamptz
+ text
- last_epp_update_registrar_id
+ last_epp_update_time
- text
+ timestamptz
- last_epp_update_time
+ statuses
- timestamptz
+ _text
- statuses
+ auth_info_repo_id
- _text
+ text
- auth_info_repo_id
+ auth_info_value
@@ -2379,7 +2387,7 @@ td.section {
text
- auth_info_value
+ contact_id
@@ -2387,23 +2395,23 @@ td.section {
text
- contact_id
+ disclose_types_addr
- text
+ _text
- disclose_types_addr
+ disclose_show_email
- _text
+ bool
- disclose_show_email
+ disclose_show_fax
@@ -2411,7 +2419,7 @@ td.section {
bool
- disclose_show_fax
+ disclose_mode_flag
@@ -2419,15 +2427,15 @@ td.section {
bool
- disclose_mode_flag
+ disclose_types_name
- bool
+ _text
- disclose_types_name
+ disclose_types_org
@@ -2435,23 +2443,23 @@ td.section {
_text
- disclose_types_org
+ disclose_show_voice
- _text
+ bool
- disclose_show_voice
+ email
- bool
+ text
- email
+ fax_phone_extension
@@ -2459,7 +2467,7 @@ td.section {
text
- fax_phone_extension
+ fax_phone_number
@@ -2467,7 +2475,7 @@ td.section {
text
- fax_phone_number
+ addr_i18n_city
@@ -2475,7 +2483,7 @@ td.section {
text
- addr_i18n_city
+ addr_i18n_country_code
@@ -2483,7 +2491,7 @@ td.section {
text
- addr_i18n_country_code
+ addr_i18n_state
@@ -2491,7 +2499,7 @@ td.section {
text
- addr_i18n_state
+ addr_i18n_street_line1
@@ -2499,7 +2507,7 @@ td.section {
text
- addr_i18n_street_line1
+ addr_i18n_street_line2
@@ -2507,7 +2515,7 @@ td.section {
text
- addr_i18n_street_line2
+ addr_i18n_street_line3
@@ -2515,7 +2523,7 @@ td.section {
text
- addr_i18n_street_line3
+ addr_i18n_zip
@@ -2523,7 +2531,7 @@ td.section {
text
- addr_i18n_zip
+ addr_i18n_name
@@ -2531,7 +2539,7 @@ td.section {
text
- addr_i18n_name
+ addr_i18n_org
@@ -2539,7 +2547,7 @@ td.section {
text
- addr_i18n_org
+ addr_i18n_type
@@ -2547,23 +2555,23 @@ td.section {
text
- addr_i18n_type
+ last_transfer_time
- text
+ timestamptz
- last_transfer_time
+ addr_local_city
- timestamptz
+ text
- addr_local_city
+ addr_local_country_code
@@ -2571,7 +2579,7 @@ td.section {
text
- addr_local_country_code
+ addr_local_state
@@ -2579,7 +2587,7 @@ td.section {
text
- addr_local_state
+ addr_local_street_line1
@@ -2587,7 +2595,7 @@ td.section {
text
- addr_local_street_line1
+ addr_local_street_line2
@@ -2595,7 +2603,7 @@ td.section {
text
- addr_local_street_line2
+ addr_local_street_line3
@@ -2603,7 +2611,7 @@ td.section {
text
- addr_local_street_line3
+ addr_local_zip
@@ -2611,7 +2619,7 @@ td.section {
text
- addr_local_zip
+ addr_local_name
@@ -2619,7 +2627,7 @@ td.section {
text
- addr_local_name
+ addr_local_org
@@ -2627,7 +2635,7 @@ td.section {
text
- addr_local_org
+ addr_local_type
@@ -2635,7 +2643,7 @@ td.section {
text
- addr_local_type
+ search_name
@@ -2643,7 +2651,7 @@ td.section {
text
- search_name
+ voice_phone_extension
@@ -2651,7 +2659,7 @@ td.section {
text
- voice_phone_extension
+ voice_phone_number
@@ -2659,15 +2667,15 @@ td.section {
text
- voice_phone_number
+ transfer_poll_message_id_1
- text
+ int8
- transfer_poll_message_id_1
+ transfer_poll_message_id_2
@@ -2675,15 +2683,15 @@ td.section {
int8
- transfer_poll_message_id_2
+ transfer_client_txn_id
- int8
+ text
- transfer_client_txn_id
+ transfer_server_txn_id
@@ -2691,7 +2699,7 @@ td.section {
text
- transfer_server_txn_id
+ transfer_gaining_registrar_id
@@ -2699,7 +2707,7 @@ td.section {
text
- transfer_gaining_registrar_id
+ transfer_losing_registrar_id
@@ -2707,15 +2715,15 @@ td.section {
text
- transfer_losing_registrar_id
+ transfer_pending_expiration_time
- text
+ timestamptz
- transfer_pending_expiration_time
+ transfer_request_time
@@ -2723,169 +2731,169 @@ td.section {
timestamptz
- transfer_request_time
+ transfer_status
- timestamptz
+ text
- transfer_status
+ update_timestamp
- text
+ timestamptz
- update_timestamp
+ transfer_history_entry_id
- timestamptz
+ int8
- transfer_history_entry_id
+ transfer_repo_id
- int8
+ text
- transfer_repo_id
+ transfer_poll_message_id_3
- text
+ int8
- transfer_poll_message_id_3
+ last_update_time_via_epp
- int8
+ timestamptz
-
+
domain_6c51cffa:w->contact_8de8cb16:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_domain_admin_contact
domain_6c51cffa:w->contact_8de8cb16:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_domain_billing_contact
domain_6c51cffa:w->contact_8de8cb16:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_domain_registrant_contact
domain_6c51cffa:w->contact_8de8cb16:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_domain_tech_contact
domain_6c51cffa:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk2jc69qyg2tv9hhnmif6oa1cx1
domain_6c51cffa:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk2u3srsfbei272093m3b3xwj23
domain_6c51cffa:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fkjc0r9r5y1lfbt4gpbqw4wsuvq
domain_6c51cffa:w->registrar_6e1503e3:e
-
+
-
-
-
-
-
+
+
+
+
+
fk_domain_transfer_gaining_registrar_id
domain_6c51cffa:w->registrar_6e1503e3:e
-
-
+
+
-
-
-
-
-
+
+
+
+
+
fk_domain_transfer_losing_registrar_id
@@ -3255,27 +3263,27 @@ td.section {
domain_6c51cffa:w->tld_f1fa57e2:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_domain_tld
domainhistory_a54cc226:w->allocationtoken_a08ccbef:e
-
-
-
+
+
+
-
-
-
+
+
+
fk_domain_history_current_package_token
@@ -3294,13 +3302,13 @@ td.section {
domainhistory_a54cc226:w->registrar_6e1503e3:e
-
+
-
-
-
-
+
+
+
+
fk_domain_history_registrar_id
@@ -3320,14 +3328,14 @@ td.section {
billingcancellation_6eedf614:w->domainhistory_a54cc226:e
-
+
-
+
fk_billing_cancellation_domain_history
@@ -3359,13 +3367,13 @@ td.section {
billingcancellation_6eedf614:w->registrar_6e1503e3:e
-
+
-
-
-
-
+
+
+
+
fk_billing_cancellation_registrar_id
@@ -3466,40 +3474,40 @@ td.section {
graceperiod_cd3b2e8f:w->billingrecurrence_5fa2cb01:e
-
+
-
-
-
-
-
+
+
+
+
+
fk_grace_period_billing_recurrence_id
graceperiod_cd3b2e8f:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
+
+
+
+
+
+
+
fk_grace_period_registrar_id
billingrecurrence_5fa2cb01:w->domainhistory_a54cc226:e
-
+
-
+
fk_billing_recurrence_domain_history
@@ -3518,232 +3526,240 @@ td.section {
billingrecurrence_5fa2cb01:w->registrar_6e1503e3:e
-
+
-
-
-
-
+
+
+
+
fk_billing_recurrence_registrar_id
claimsentry_105da9f1
-
-
+
+
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
-
+
claimsentry_105da9f1:w->claimslist_3d49bc2b:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk6sc6at5hedffc0nhdcab6ivuq
contact_8de8cb16:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk1sfyj7o7954prbn1exk7lpnoe
contact_8de8cb16:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk93c185fx7chn68uv7nl6uv2s0
contact_8de8cb16:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fkmb7tdiv85863134w1wogtxrb2
contact_8de8cb16:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_contact_transfer_gaining_registrar_id
contact_8de8cb16:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_contact_transfer_losing_registrar_id
contacthistory_d2964f8a
-
-
+
+
public.ContactHistory
-
-
+
+
[table]
-
+
history_revision_id
+
+
+
+ int8 not null
+
+
+ history_by_superuser
+
- int8 not null
+ bool not null
- history_by_superuser
+ history_registrar_id
- bool not null
+ text
- history_registrar_id
+ history_modification_time
- text
+ timestamptz not null
- history_modification_time
+ history_reason
- timestamptz not null
+ text
- history_reason
+ history_requested_by_registrar
- text
+ bool
- history_requested_by_registrar
+ history_client_transaction_id
- bool
+ text
- history_client_transaction_id
+ history_server_transaction_id
@@ -3751,31 +3767,31 @@ td.section {
text
- history_server_transaction_id
+ history_type
- text
+ text not null
- history_type
+ history_xml_bytes
- text not null
+ bytea
- history_xml_bytes
+ auth_info_repo_id
- bytea
+ text
- auth_info_repo_id
+ auth_info_value
@@ -3783,7 +3799,7 @@ td.section {
text
- auth_info_value
+ contact_id
@@ -3791,23 +3807,23 @@ td.section {
text
- contact_id
+ disclose_types_addr
- text
+ _text
- disclose_types_addr
+ disclose_show_email
- _text
+ bool
- disclose_show_email
+ disclose_show_fax
@@ -3815,7 +3831,7 @@ td.section {
bool
- disclose_show_fax
+ disclose_mode_flag
@@ -3823,15 +3839,15 @@ td.section {
bool
- disclose_mode_flag
+ disclose_types_name
- bool
+ _text
- disclose_types_name
+ disclose_types_org
@@ -3839,23 +3855,23 @@ td.section {
_text
- disclose_types_org
+ disclose_show_voice
- _text
+ bool
- disclose_show_voice
+ email
- bool
+ text
- email
+ fax_phone_extension
@@ -3863,7 +3879,7 @@ td.section {
text
- fax_phone_extension
+ fax_phone_number
@@ -3871,7 +3887,7 @@ td.section {
text
- fax_phone_number
+ addr_i18n_city
@@ -3879,7 +3895,7 @@ td.section {
text
- addr_i18n_city
+ addr_i18n_country_code
@@ -3887,7 +3903,7 @@ td.section {
text
- addr_i18n_country_code
+ addr_i18n_state
@@ -3895,7 +3911,7 @@ td.section {
text
- addr_i18n_state
+ addr_i18n_street_line1
@@ -3903,7 +3919,7 @@ td.section {
text
- addr_i18n_street_line1
+ addr_i18n_street_line2
@@ -3911,7 +3927,7 @@ td.section {
text
- addr_i18n_street_line2
+ addr_i18n_street_line3
@@ -3919,7 +3935,7 @@ td.section {
text
- addr_i18n_street_line3
+ addr_i18n_zip
@@ -3927,7 +3943,7 @@ td.section {
text
- addr_i18n_zip
+ addr_i18n_name
@@ -3935,7 +3951,7 @@ td.section {
text
- addr_i18n_name
+ addr_i18n_org
@@ -3943,7 +3959,7 @@ td.section {
text
- addr_i18n_org
+ addr_i18n_type
@@ -3951,23 +3967,23 @@ td.section {
text
- addr_i18n_type
+ last_transfer_time
- text
+ timestamptz
- last_transfer_time
+ addr_local_city
- timestamptz
+ text
- addr_local_city
+ addr_local_country_code
@@ -3975,7 +3991,7 @@ td.section {
text
- addr_local_country_code
+ addr_local_state
@@ -3983,7 +3999,7 @@ td.section {
text
- addr_local_state
+ addr_local_street_line1
@@ -3991,7 +4007,7 @@ td.section {
text
- addr_local_street_line1
+ addr_local_street_line2
@@ -3999,7 +4015,7 @@ td.section {
text
- addr_local_street_line2
+ addr_local_street_line3
@@ -4007,7 +4023,7 @@ td.section {
text
- addr_local_street_line3
+ addr_local_zip
@@ -4015,7 +4031,7 @@ td.section {
text
- addr_local_zip
+ addr_local_name
@@ -4023,7 +4039,7 @@ td.section {
text
- addr_local_name
+ addr_local_org
@@ -4031,7 +4047,7 @@ td.section {
text
- addr_local_org
+ addr_local_type
@@ -4039,7 +4055,7 @@ td.section {
text
- addr_local_type
+ search_name
@@ -4047,15 +4063,15 @@ td.section {
text
- search_name
+ transfer_poll_message_id_1
- text
+ int8
- transfer_poll_message_id_1
+ transfer_poll_message_id_2
@@ -4063,15 +4079,15 @@ td.section {
int8
- transfer_poll_message_id_2
+ transfer_client_txn_id
- int8
+ text
- transfer_client_txn_id
+ transfer_server_txn_id
@@ -4079,7 +4095,7 @@ td.section {
text
- transfer_server_txn_id
+ transfer_gaining_registrar_id
@@ -4087,7 +4103,7 @@ td.section {
text
- transfer_gaining_registrar_id
+ transfer_losing_registrar_id
@@ -4095,15 +4111,15 @@ td.section {
text
- transfer_losing_registrar_id
+ transfer_pending_expiration_time
- text
+ timestamptz
- transfer_pending_expiration_time
+ transfer_request_time
@@ -4111,15 +4127,15 @@ td.section {
timestamptz
- transfer_request_time
+ transfer_status
- timestamptz
+ text
- transfer_status
+ voice_phone_extension
@@ -4127,7 +4143,7 @@ td.section {
text
- voice_phone_extension
+ voice_phone_number
@@ -4135,7 +4151,7 @@ td.section {
text
- voice_phone_number
+ creation_registrar_id
@@ -4143,126 +4159,126 @@ td.section {
text
- creation_registrar_id
+ creation_time
- text
+ timestamptz
- creation_time
+ current_sponsor_registrar_id
- timestamptz
+ text
- current_sponsor_registrar_id
+ deletion_time
- text
+ timestamptz
- deletion_time
+ last_epp_update_registrar_id
- timestamptz
+ text
- last_epp_update_registrar_id
+ last_epp_update_time
- text
+ timestamptz
- last_epp_update_time
+ statuses
- timestamptz
+ _text
-
- statuses
+
+ contact_repo_id
- _text
+ text not null
-
- contact_repo_id
+
+ update_timestamp
- text not null
+ timestamptz
- update_timestamp
+ transfer_history_entry_id
- timestamptz
+ int8
- transfer_history_entry_id
+ transfer_repo_id
- int8
+ text
- transfer_repo_id
+ transfer_poll_message_id_3
- text
+ int8
- transfer_poll_message_id_3
+ last_update_time_via_epp
- int8
+ timestamptz
-
+
contacthistory_d2964f8a:w->contact_8de8cb16:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_contact_history_contact_repo_id
contacthistory_d2964f8a:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_contact_history_registrar_id
@@ -4535,127 +4551,135 @@ td.section {
pollmessage_614a523e:w->contact_8de8cb16:e
-
-
+
+
-
-
-
-
-
+
+
+
+
+
fk_poll_message_contact_repo_id
pollmessage_614a523e:w->contacthistory_d2964f8a:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_poll_message_contact_history
pollmessage_614a523e:w->contacthistory_d2964f8a:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_poll_message_contact_history
host_f21b78de
-
-
+
+
public.Host
-
-
+
+
[table]
-
+
repo_id
+
+
+
+ text not null
+
+
+ creation_registrar_id
+
- text not null
+ text
- creation_registrar_id
+ creation_time
- text
+ timestamptz
- creation_time
+ current_sponsor_registrar_id
- timestamptz
+ text
- current_sponsor_registrar_id
+ deletion_time
- text
+ timestamptz
- deletion_time
+ last_epp_update_registrar_id
- timestamptz
+ text
- last_epp_update_registrar_id
+ last_epp_update_time
- text
+ timestamptz
- last_epp_update_time
+ statuses
- timestamptz
+ _text
- statuses
+ host_name
- _text
+ text
- host_name
+ last_superordinate_change
- text
+ timestamptz
- last_superordinate_change
+ last_transfer_time
@@ -4663,380 +4687,388 @@ td.section {
timestamptz
- last_transfer_time
+ superordinate_domain
- timestamptz
+ text
- superordinate_domain
+ inet_addresses
- text
+ _text
- inet_addresses
+ update_timestamp
- _text
+ timestamptz
- update_timestamp
+ transfer_poll_message_id_3
- timestamptz
+ int8
- transfer_poll_message_id_3
+ last_update_time_via_epp
- int8
+ timestamptz
-
+
pollmessage_614a523e:w->host_f21b78de:e
-
+
-
-
-
-
+
+
+
+
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
+
+
pollmessage_614a523e:w->hosthistory_56210c2:e
-
+
-
-
-
-
+
+
+
+
fk_poll_message_host_history
pollmessage_614a523e:w->hosthistory_56210c2:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_poll_message_host_history
pollmessage_614a523e:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_poll_message_registrar_id
pollmessage_614a523e:w->registrar_6e1503e3:e
-
+
-
-
-
-
-
+
+
+
+
+
fk_poll_message_transfer_response_gaining_registrar_id
pollmessage_614a523e:w->registrar_6e1503e3:e
-
+
-
-
-
-
+
+
+
+
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
-
+
delegationsignerdata_e542a872
@@ -5105,68 +5137,68 @@ td.section {
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
-
+
domainhost_1ea127c2
@@ -5198,235 +5230,235 @@ td.section {
domainhost_1ea127c2:w->domain_6c51cffa:e
-
-
-
+
+
+
-
+
fkfmi7bdink53swivs390m2btxg
domainhost_1ea127c2:w->host_f21b78de:e
-
-
+
+
-
-
-
-
-
+
+
+
+
+
fk_domainhost_host_valid
host_f21b78de:w->domain_6c51cffa:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_host_superordinate_domain
host_f21b78de:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_host_creation_registrar_id
host_f21b78de:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_host_current_sponsor_registrar_id
host_f21b78de:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
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
-
+
domaindsdatahistory_995b060d:w->domainhistory_a54cc226:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fko4ilgyyfnvppbpuivus565i0j
domaindsdatahistory_995b060d:w->domainhistory_a54cc226:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
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
-
+
domainhistoryhost_9f3f23ee:w->domainhistory_a54cc226:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fka9woh3hu8gx5x0vly6bai327n
domainhistoryhost_9f3f23ee:w->domainhistory_a54cc226:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fka9woh3hu8gx5x0vly6bai327n
@@ -5505,14 +5537,14 @@ td.section {
domaintransactionrecord_6e77ff61:w->domainhistory_a54cc226:e
-
+
-
+
-
+
fkcjqe54u72kha71vkibvxhjye7
@@ -5544,422 +5576,422 @@ td.section {
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
-
+
graceperiodhistory_40ccc1f1:w->domainhistory_a54cc226:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk7w3cx8d55q8bln80e716tr7b8
graceperiodhistory_40ccc1f1:w->domainhistory_a54cc226:e
-
-
-
-
-
-
-
+
+
+
+
+
+
+
fk7w3cx8d55q8bln80e716tr7b8
hosthistory_56210c2:w->host_f21b78de:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk_hosthistory_host
hosthistory_56210c2:w->registrar_6e1503e3:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
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
-
+
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
-
+
premiumentry_b0060b91
-
-
+
+
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
-
+
premiumentry_b0060b91:w->premiumlist_7c3ea68b:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
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
-
+
registrarpoc_ab47054d
@@ -6087,580 +6119,580 @@ td.section {
registrarpoc_ab47054d:w->registrar_6e1503e3:e
-
+
-
-
-
-
+
+
+
+
fk_registrar_poc_registrar_id
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
-
+
registrylock_ac88663e:w->registrylock_ac88663e:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fk2lhcwpxlnqijr96irylrh1707
reservedentry_1a7b8520
-
-
+
+
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 not null
-
+
reservedentry_1a7b8520:w->reservedlist_b97c3f1c:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
fkgq03rk0bt1hb915dnyvd3vnfc
serversecret_6cc90f09
-
-
+
+
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
-
+
signedmarkrevocationlist_c5d968fb
-
-
+
+
public.SignedMarkRevocationList
-
-
+
+
[table]
-
+
revision_id
-
+
-
+
bigserial not null
-
+
-
+
auto-incremented
-
+
creation_time
-
+
-
+
timestamptz
-
+
signedmarkrevocationentry_99c39721:w->signedmarkrevocationlist_c5d968fb:e
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
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
-
+
tmchcrl_d282355
-
-
+
+
public.TmchCrl
-
-
+
+
[table]
-
+
certificate_revocations
-
+
-
+
text not null
-
+
update_timestamp
-
+
-
+
timestamptz not null
-
+
url
-
+
-
+
text not null
-
+
id
-
+
-
+
int8 not null
-
+
user_f2216f01
-
-
+
+
public."User"
-
-
+
+
[table]
-
+
id
-
+
-
+
bigserial not null
-
+
-
+
auto-incremented
-
+
email_address
-
+
-
+
text not null
-
+
gaia_id
-
+
-
+
text
-
+
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
-
+
@@ -8174,6 +8206,11 @@ td.section {
transfer_poll_message_id_3
int8
+
+
+ last_update_time_via_epp
+ timestamptz
+
@@ -8756,6 +8793,11 @@ td.section {
transfer_poll_message_id_3
int8
+
+
+ last_update_time_via_epp
+ timestamptz
+
@@ -11358,6 +11400,11 @@ td.section {
transfer_poll_message_id_3
int8
+
+
+ last_update_time_via_epp
+ timestamptz
+
@@ -11677,6 +11724,11 @@ td.section {
transfer_poll_message_id_3
int8
+
+
+ last_update_time_via_epp
+ timestamptz
+
diff --git a/db/src/main/resources/sql/flyway.txt b/db/src/main/resources/sql/flyway.txt
index bbe6b4df3..4084fb7fc 100644
--- a/db/src/main/resources/sql/flyway.txt
+++ b/db/src/main/resources/sql/flyway.txt
@@ -143,3 +143,4 @@ V142__drop_request_log_id.sql
V143__idn_per_tld.sql
V144__drop_database_migration_state_schedule_table.sql
V145__add_breakglass_mode_to_tld_table.sql
+V146__last_update_time_via_epp.sql
diff --git a/db/src/main/resources/sql/flyway/V146__last_update_time_via_epp.sql b/db/src/main/resources/sql/flyway/V146__last_update_time_via_epp.sql
new file mode 100644
index 000000000..a94f3eb77
--- /dev/null
+++ b/db/src/main/resources/sql/flyway/V146__last_update_time_via_epp.sql
@@ -0,0 +1,20 @@
+-- Copyright 2022 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.
+
+ALTER TABLE "Contact" ADD COLUMN last_update_time_via_epp timestamptz;
+ALTER TABLE "ContactHistory" ADD COLUMN last_update_time_via_epp timestamptz;
+ALTER TABLE "Domain" ADD COLUMN last_update_time_via_epp timestamptz;
+ALTER TABLE "DomainHistory" ADD COLUMN last_update_time_via_epp timestamptz;
+ALTER TABLE "Host" ADD COLUMN last_update_time_via_epp timestamptz;
+ALTER TABLE "HostHistory" ADD COLUMN last_update_time_via_epp timestamptz;
diff --git a/db/src/main/resources/sql/schema/nomulus.golden.sql b/db/src/main/resources/sql/schema/nomulus.golden.sql
index 31d6edaaa..c4031462e 100644
--- a/db/src/main/resources/sql/schema/nomulus.golden.sql
+++ b/db/src/main/resources/sql/schema/nomulus.golden.sql
@@ -226,7 +226,8 @@ CREATE TABLE public."Contact" (
update_timestamp timestamp with time zone,
transfer_history_entry_id bigint,
transfer_repo_id text,
- transfer_poll_message_id_3 bigint
+ transfer_poll_message_id_3 bigint,
+ last_update_time_via_epp timestamp with time zone
);
@@ -302,7 +303,8 @@ CREATE TABLE public."ContactHistory" (
update_timestamp timestamp with time zone,
transfer_history_entry_id bigint,
transfer_repo_id text,
- transfer_poll_message_id_3 bigint
+ transfer_poll_message_id_3 bigint,
+ last_update_time_via_epp timestamp with time zone
);
@@ -420,7 +422,8 @@ CREATE TABLE public."Domain" (
transfer_repo_id text,
transfer_poll_message_id_3 bigint,
current_package_token text,
- lordn_phase text DEFAULT 'NONE'::text NOT NULL
+ lordn_phase text DEFAULT 'NONE'::text NOT NULL,
+ last_update_time_via_epp timestamp with time zone
);
@@ -509,7 +512,8 @@ CREATE TABLE public."DomainHistory" (
transfer_repo_id text,
transfer_poll_message_id_3 bigint,
current_package_token text,
- lordn_phase text DEFAULT 'NONE'::text NOT NULL
+ lordn_phase text DEFAULT 'NONE'::text NOT NULL,
+ last_update_time_via_epp timestamp with time zone
);
@@ -619,7 +623,8 @@ CREATE TABLE public."Host" (
superordinate_domain text,
inet_addresses text[],
update_timestamp timestamp with time zone,
- transfer_poll_message_id_3 bigint
+ transfer_poll_message_id_3 bigint,
+ last_update_time_via_epp timestamp with time zone
);
@@ -652,7 +657,8 @@ CREATE TABLE public."HostHistory" (
statuses text[],
host_repo_id text NOT NULL,
update_timestamp timestamp with time zone,
- transfer_poll_message_id_3 bigint
+ transfer_poll_message_id_3 bigint,
+ last_update_time_via_epp timestamp with time zone
);