diff --git a/core/src/main/java/google/registry/model/reporting/HistoryEntry.java b/core/src/main/java/google/registry/model/reporting/HistoryEntry.java
index f8a95da33..07861ab26 100644
--- a/core/src/main/java/google/registry/model/reporting/HistoryEntry.java
+++ b/core/src/main/java/google/registry/model/reporting/HistoryEntry.java
@@ -137,8 +137,12 @@ public class HistoryEntry extends ImmutableObject implements Buildable, Datastor
@Transient // domain-specific
Period period;
- /** The actual EPP xml of the command, stored as bytes to be agnostic of encoding. */
- @Column(nullable = false, name = "historyXmlBytes")
+ /**
+ * The actual EPP xml of the command, stored as bytes to be agnostic of encoding.
+ *
+ *
Changes performed by backend actions would not have EPP requests to store.
+ */
+ @Column(name = "historyXmlBytes")
byte[] xmlBytes;
/** The time the command occurred, represented by the ofy transaction time. */
@@ -182,7 +186,7 @@ public class HistoryEntry extends ImmutableObject implements Buildable, Datastor
String reason;
/** Whether this change was requested by a registrar. */
- @Column(nullable = false, name = "historyRequestedByRegistrar")
+ @Column(name = "historyRequestedByRegistrar")
Boolean requestedByRegistrar;
/**
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 8ee39313c..5ccee4c97 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 |
- 2020-11-12 02:22:52.212444 |
+ 2020-11-13 19:34:54.398919 |
last flyway file |
- V75__add_grace_period_history.sql |
+ V76__change_history_nullability.sql |
@@ -284,7 +284,7 @@ td.section {
generated on
- 2020-11-12 02:22:52.212444
+ 2020-11-13 19:34:54.398919
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 3e63ad727..6b3ada54f 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,11 +261,11 @@ td.section {
generated on |
- 2020-11-12 02:22:50.323783 |
+ 2020-11-13 19:34:52.404634 |
last flyway file |
- V75__add_grace_period_history.sql |
+ V76__change_history_nullability.sql |
@@ -284,7 +284,7 @@ td.section {
generated on
- 2020-11-12 02:22:50.323783
+ 2020-11-13 19:34:52.404634
@@ -701,7 +701,7 @@ td.section {
- bool not null
+ bool
history_client_transaction_id
@@ -733,7 +733,7 @@ td.section {
- bytea not null
+ bytea
admin_contact
@@ -3789,7 +3789,7 @@ td.section {
- bool not null
+ bool
history_client_transaction_id
@@ -3821,7 +3821,7 @@ td.section {
- bytea not null
+ bytea
auth_info_repo_id
@@ -4562,7 +4562,7 @@ td.section {
- bool not null
+ bool
history_client_transaction_id
@@ -4594,7 +4594,7 @@ td.section {
- bytea not null
+ bytea
host_name
@@ -7983,7 +7983,7 @@ td.section {
|
history_requested_by_registrar |
- bool not null |
+ bool |
|
@@ -8003,7 +8003,7 @@ td.section {
|
history_xml_bytes |
- bytea not null |
+ bytea |
|
@@ -9425,7 +9425,7 @@ td.section {
|
history_requested_by_registrar |
- bool not null |
+ bool |
|
@@ -9445,7 +9445,7 @@ td.section {
|
history_xml_bytes |
- bytea not null |
+ bytea |
|
@@ -10717,7 +10717,7 @@ td.section {
|
history_requested_by_registrar |
- bool not null |
+ bool |
|
@@ -10737,7 +10737,7 @@ td.section {
|
history_xml_bytes |
- bytea not null |
+ bytea |
|
diff --git a/db/src/main/resources/sql/flyway.txt b/db/src/main/resources/sql/flyway.txt
index c830604b9..ab8ef0821 100644
--- a/db/src/main/resources/sql/flyway.txt
+++ b/db/src/main/resources/sql/flyway.txt
@@ -73,3 +73,4 @@ V72__add_missing_foreign_keys.sql
V73__singleton_entities.sql
V74__sql_replay_checkpoint.sql
V75__add_grace_period_history.sql
+V76__change_history_nullability.sql
diff --git a/db/src/main/resources/sql/flyway/V76__change_history_nullability.sql b/db/src/main/resources/sql/flyway/V76__change_history_nullability.sql
new file mode 100644
index 000000000..d4d409fbb
--- /dev/null
+++ b/db/src/main/resources/sql/flyway/V76__change_history_nullability.sql
@@ -0,0 +1,25 @@
+-- Copyright 2020 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 "ContactHistory"
+ ALTER column history_xml_bytes DROP NOT NULL,
+ ALTER column history_requested_by_registrar DROP NOT NULL;
+
+ALTER table "DomainHistory"
+ ALTER column history_xml_bytes DROP NOT NULL,
+ ALTER column history_requested_by_registrar DROP NOT NULL;
+
+ALTER table "HostHistory"
+ ALTER column history_xml_bytes DROP NOT NULL,
+ ALTER column history_requested_by_registrar DROP NOT NULL;
diff --git a/db/src/main/resources/sql/schema/db-schema.sql.generated b/db/src/main/resources/sql/schema/db-schema.sql.generated
index df5e373f2..54a316071 100644
--- a/db/src/main/resources/sql/schema/db-schema.sql.generated
+++ b/db/src/main/resources/sql/schema/db-schema.sql.generated
@@ -156,11 +156,11 @@
history_registrar_id text,
history_modification_time timestamptz not null,
history_reason text,
- history_requested_by_registrar boolean not null,
+ history_requested_by_registrar boolean,
history_client_transaction_id text,
history_server_transaction_id text,
history_type text not null,
- history_xml_bytes bytea not null,
+ history_xml_bytes bytea,
auth_info_repo_id text,
auth_info_value text,
contact_id text,
@@ -309,11 +309,11 @@
history_registrar_id text,
history_modification_time timestamptz not null,
history_reason text,
- history_requested_by_registrar boolean not null,
+ history_requested_by_registrar boolean,
history_client_transaction_id text,
history_server_transaction_id text,
history_type text not null,
- history_xml_bytes bytea not null,
+ history_xml_bytes bytea,
admin_contact text,
auth_info_repo_id text,
auth_info_value text,
@@ -446,11 +446,11 @@
history_registrar_id text,
history_modification_time timestamptz not null,
history_reason text,
- history_requested_by_registrar boolean not null,
+ history_requested_by_registrar boolean,
history_client_transaction_id text,
history_server_transaction_id text,
history_type text not null,
- history_xml_bytes bytea not null,
+ history_xml_bytes bytea,
host_name text,
inet_addresses text[],
last_superordinate_change timestamptz,
diff --git a/db/src/main/resources/sql/schema/nomulus.golden.sql b/db/src/main/resources/sql/schema/nomulus.golden.sql
index 138d476a4..05de4c4d4 100644
--- a/db/src/main/resources/sql/schema/nomulus.golden.sql
+++ b/db/src/main/resources/sql/schema/nomulus.golden.sql
@@ -228,11 +228,11 @@ CREATE TABLE public."ContactHistory" (
history_registrar_id text,
history_modification_time timestamp with time zone NOT NULL,
history_reason text,
- history_requested_by_registrar boolean NOT NULL,
+ history_requested_by_registrar boolean,
history_client_transaction_id text,
history_server_transaction_id text,
history_type text NOT NULL,
- history_xml_bytes bytea NOT NULL,
+ history_xml_bytes bytea,
auth_info_repo_id text,
auth_info_value text,
contact_id text,
@@ -401,11 +401,11 @@ CREATE TABLE public."DomainHistory" (
history_registrar_id text,
history_modification_time timestamp with time zone NOT NULL,
history_reason text,
- history_requested_by_registrar boolean NOT NULL,
+ history_requested_by_registrar boolean,
history_client_transaction_id text,
history_server_transaction_id text,
history_type text NOT NULL,
- history_xml_bytes bytea NOT NULL,
+ history_xml_bytes bytea,
admin_contact text,
auth_info_repo_id text,
auth_info_value text,
@@ -587,11 +587,11 @@ CREATE TABLE public."HostHistory" (
history_registrar_id text NOT NULL,
history_modification_time timestamp with time zone NOT NULL,
history_reason text,
- history_requested_by_registrar boolean NOT NULL,
+ history_requested_by_registrar boolean,
history_client_transaction_id text,
history_server_transaction_id text,
history_type text NOT NULL,
- history_xml_bytes bytea NOT NULL,
+ history_xml_bytes bytea,
host_name text,
inet_addresses text[],
last_superordinate_change timestamp with time zone,