From a4bd85068b173f677bc7e32bda7754d628e9602f Mon Sep 17 00:00:00 2001 From: sarahcaseybot Date: Tue, 27 Feb 2024 15:39:58 -0500 Subject: [PATCH] Remove use of shouldPublishField from ReservedList (#2324) * Remove use of shouldPublishField from ReservedList * Remove from tests * Update test comment * Fix indentation * fix test comment * Fix test * fix test * Make shouldPublish column nullable --- .../google/registry/export/ExportUtils.java | 6 ++--- .../model/tld/label/ReservedList.java | 16 ++--------- .../CreateOrUpdateReservedListCommand.java | 8 ------ .../tools/CreateReservedListCommand.java | 2 -- .../tools/UpdateReservedListCommand.java | 27 ++++--------------- .../bsa/ReservedDomainsTestingUtils.java | 3 --- ...UploadBsaUnavailableDomainsActionTest.java | 1 - .../registry/export/ExportUtilsTest.java | 7 +---- .../google/registry/model/tld/TldTest.java | 6 ----- .../model/tld/label/ReservedListDaoTest.java | 4 --- .../registry/testing/DatabaseHelper.java | 8 +----- ...teOrUpdateReservedListCommandTestCase.java | 2 -- .../tools/CreateReservedListCommandTest.java | 21 --------------- .../tools/UpdateReservedListCommandTest.java | 26 ++---------------- .../server/ListReservedListsActionTest.java | 16 +++++------ .../sql/er_diagram/brief_er_diagram.html | 14 +++++----- .../sql/er_diagram/full_er_diagram.html | 10 +++---- db/src/main/resources/sql/flyway.txt | 1 + ...155__reserved_list_null_should_publish.sql | 18 +++++++++++++ .../sql/schema/db-schema.sql.generated | 2 +- .../resources/sql/schema/nomulus.golden.sql | 2 +- 21 files changed, 54 insertions(+), 146 deletions(-) create mode 100644 db/src/main/resources/sql/flyway/V155__reserved_list_null_should_publish.sql diff --git a/core/src/main/java/google/registry/export/ExportUtils.java b/core/src/main/java/google/registry/export/ExportUtils.java index 9c6ccb244..1507e69a7 100644 --- a/core/src/main/java/google/registry/export/ExportUtils.java +++ b/core/src/main/java/google/registry/export/ExportUtils.java @@ -46,10 +46,8 @@ public final class ExportUtils { () -> new IllegalStateException( String.format("Reserved list %s does not exist", reservedListName))); - if (reservedList.getShouldPublish()) { - for (ReservedListEntry entry : reservedList.getReservedListEntries().values()) { - reservedTerms.add(entry.getDomainLabel()); - } + for (ReservedListEntry entry : reservedList.getReservedListEntries().values()) { + reservedTerms.add(entry.getDomainLabel()); } } Joiner.on("\n").appendTo(termsBuilder, reservedTerms); diff --git a/core/src/main/java/google/registry/model/tld/label/ReservedList.java b/core/src/main/java/google/registry/model/tld/label/ReservedList.java index d28825beb..fe63b98c4 100644 --- a/core/src/main/java/google/registry/model/tld/label/ReservedList.java +++ b/core/src/main/java/google/registry/model/tld/label/ReservedList.java @@ -71,7 +71,8 @@ public final class ReservedList */ @Insignificant @Transient Map reservedListMap; - @Column(nullable = false) + // TODO(b/321053918): Remove this field once the column is nullable + @Column(nullable = true) boolean shouldPublish = true; @PreRemove @@ -180,14 +181,6 @@ public final class ReservedList return !getReferencingTlds().isEmpty(); } - /** - * Returns whether this reserved list is included in the concatenated list of reserved terms - * published to Google Drive for viewing by registrars. - */ - public boolean getShouldPublish() { - return shouldPublish; - } - /** * Returns a {@link Map} of domain labels to {@link ReservedListEntry}. * @@ -330,11 +323,6 @@ public final class ReservedList return this; } - public Builder setShouldPublish(boolean shouldPublish) { - getInstance().shouldPublish = shouldPublish; - return this; - } - /** * Updates the reservedListMap from input lines. * diff --git a/core/src/main/java/google/registry/tools/CreateOrUpdateReservedListCommand.java b/core/src/main/java/google/registry/tools/CreateOrUpdateReservedListCommand.java index c8bfe4a03..6ede7fd6a 100644 --- a/core/src/main/java/google/registry/tools/CreateOrUpdateReservedListCommand.java +++ b/core/src/main/java/google/registry/tools/CreateOrUpdateReservedListCommand.java @@ -44,14 +44,6 @@ public abstract class CreateOrUpdateReservedListCommand extends ConfirmingComman required = true) Path input; - @Nullable - @Parameter( - names = "--should_publish", - description = - "Whether the list is published to the concatenated list on Drive (defaults to true).", - arity = 1) - Boolean shouldPublish; - ReservedList reservedList; @Override diff --git a/core/src/main/java/google/registry/tools/CreateReservedListCommand.java b/core/src/main/java/google/registry/tools/CreateReservedListCommand.java index 9819331ff..7cbe44c35 100644 --- a/core/src/main/java/google/registry/tools/CreateReservedListCommand.java +++ b/core/src/main/java/google/registry/tools/CreateReservedListCommand.java @@ -53,12 +53,10 @@ final class CreateReservedListCommand extends CreateOrUpdateReservedListCommand } DateTime now = DateTime.now(UTC); List allLines = Files.readAllLines(input, UTF_8); - boolean shouldPublish = this.shouldPublish == null || this.shouldPublish; reservedList = new ReservedList.Builder() .setName(name) .setReservedListMapFromLines(allLines) - .setShouldPublish(shouldPublish) .setCreationTimestamp(now) .build(); diff --git a/core/src/main/java/google/registry/tools/UpdateReservedListCommand.java b/core/src/main/java/google/registry/tools/UpdateReservedListCommand.java index 0e35fe97e..b3f22c57a 100644 --- a/core/src/main/java/google/registry/tools/UpdateReservedListCommand.java +++ b/core/src/main/java/google/registry/tools/UpdateReservedListCommand.java @@ -60,38 +60,21 @@ final class UpdateReservedListCommand extends CreateOrUpdateReservedListCommand new IllegalArgumentException( String.format( "Could not update reserved list %s because it doesn't exist.", name))); - boolean shouldPublish = - this.shouldPublish == null ? existingReservedList.getShouldPublish() : this.shouldPublish; List allLines = Files.readAllLines(input, UTF_8); ReservedList.Builder updated = - existingReservedList - .asBuilder() - .setReservedListMapFromLines(allLines) - .setShouldPublish(shouldPublish); + existingReservedList.asBuilder().setReservedListMapFromLines(allLines); reservedList = updated.build(); - boolean shouldPublishChanged = - existingReservedList.getShouldPublish() != reservedList.getShouldPublish(); boolean reservedListEntriesChanged = !existingReservedList .getReservedListEntries() .equals(reservedList.getReservedListEntries()); - if (!shouldPublishChanged && !reservedListEntriesChanged) { + if (!reservedListEntriesChanged) { newChange = false; return "No entity changes to apply."; } - String result = String.format("Update reserved list for %s?\n", name); - if (shouldPublishChanged) { - result += - String.format( - "shouldPublish: %s -> %s\n", - existingReservedList.getShouldPublish(), reservedList.getShouldPublish()); - } - if (reservedListEntriesChanged) { - result += - prettyPrintEntityDeepDiff( - existingReservedList.getReservedListEntries(), reservedList.getReservedListEntries()); - } - return result; + return String.format("Update reserved list for %s?\n", name) + + prettyPrintEntityDeepDiff( + existingReservedList.getReservedListEntries(), reservedList.getReservedListEntries()); } @Override diff --git a/core/src/test/java/google/registry/bsa/ReservedDomainsTestingUtils.java b/core/src/test/java/google/registry/bsa/ReservedDomainsTestingUtils.java index a7e16b441..03ee29ee4 100644 --- a/core/src/test/java/google/registry/bsa/ReservedDomainsTestingUtils.java +++ b/core/src/test/java/google/registry/bsa/ReservedDomainsTestingUtils.java @@ -43,7 +43,6 @@ public final class ReservedDomainsTestingUtils { new ReservedList.Builder() .setName(listName) .setCreationTimestamp(START_OF_TIME) - .setShouldPublish(true) .setReservedListMap(entries) .build()); } @@ -76,7 +75,6 @@ public final class ReservedDomainsTestingUtils { new ReservedList.Builder() .setName(listName) .setCreationTimestamp(START_OF_TIME) - .setShouldPublish(true) .setReservedListMap( new ImmutableMap.Builder() .putAll(existingEntries) @@ -97,7 +95,6 @@ public final class ReservedDomainsTestingUtils { new ReservedList.Builder() .setName(listName) .setCreationTimestamp(START_OF_TIME) - .setShouldPublish(true) .setReservedListMap(newEntries) .build()); } diff --git a/core/src/test/java/google/registry/bsa/UploadBsaUnavailableDomainsActionTest.java b/core/src/test/java/google/registry/bsa/UploadBsaUnavailableDomainsActionTest.java index 97a0e958c..71d9e521e 100644 --- a/core/src/test/java/google/registry/bsa/UploadBsaUnavailableDomainsActionTest.java +++ b/core/src/test/java/google/registry/bsa/UploadBsaUnavailableDomainsActionTest.java @@ -73,7 +73,6 @@ public class UploadBsaUnavailableDomainsActionTest { ReservedList reservedList = persistReservedList( "tld-reserved_list", - true, "tine,FULLY_BLOCKED", "flagrant,NAME_COLLISION", "jimmy,RESERVED_FOR_SPECIFIC_USE"); diff --git a/core/src/test/java/google/registry/export/ExportUtilsTest.java b/core/src/test/java/google/registry/export/ExportUtilsTest.java index cfa496ee9..b72b3281e 100644 --- a/core/src/test/java/google/registry/export/ExportUtilsTest.java +++ b/core/src/test/java/google/registry/export/ExportUtilsTest.java @@ -43,13 +43,8 @@ class ExportUtilsTest { "tld-reserved2", "lol,NAME_COLLISION", "snow,FULLY_BLOCKED"); - ReservedList rl3 = persistReservedList( - "tld-reserved3", - false, - "tine,FULLY_BLOCKED"); createTld("tld"); - persistResource(Tld.get("tld").asBuilder().setReservedLists(rl1, rl2, rl3).build()); - // Should not contain jimmy, tine, or oval. + persistResource(Tld.get("tld").asBuilder().setReservedLists(rl1, rl2).build()); assertThat(new ExportUtils("# This is a disclaimer.").exportReservedTerms(Tld.get("tld"))) .isEqualTo("# This is a disclaimer.\ncat\nlol\nsnow\n"); } diff --git a/core/src/test/java/google/registry/model/tld/TldTest.java b/core/src/test/java/google/registry/model/tld/TldTest.java index 2eb983e78..9dd529e01 100644 --- a/core/src/test/java/google/registry/model/tld/TldTest.java +++ b/core/src/test/java/google/registry/model/tld/TldTest.java @@ -300,7 +300,6 @@ public final class TldTest extends EntityTestCase { .setName("tld-reserved15") .setReservedListMapFromLines( ImmutableList.of("potato,FULLY_BLOCKED", "phone,FULLY_BLOCKED")) - .setShouldPublish(true) .setCreationTimestamp(fakeClock.nowUtc()) .build()); ReservedList rl16 = @@ -309,7 +308,6 @@ public final class TldTest extends EntityTestCase { .setName("tld-reserved16") .setReservedListMapFromLines( ImmutableList.of("port,FULLY_BLOCKED", "manteau,FULLY_BLOCKED")) - .setShouldPublish(true) .setCreationTimestamp(fakeClock.nowUtc()) .build()); Tld registry1 = @@ -347,7 +345,6 @@ public final class TldTest extends EntityTestCase { .setName("tld-reserved5") .setReservedListMapFromLines( ImmutableList.of("potato,FULLY_BLOCKED", "phone,FULLY_BLOCKED")) - .setShouldPublish(true) .setCreationTimestamp(fakeClock.nowUtc()) .build()); ReservedList rl6 = @@ -356,7 +353,6 @@ public final class TldTest extends EntityTestCase { .setName("tld-reserved6") .setReservedListMapFromLines( ImmutableList.of("port,FULLY_BLOCKED", "manteau,FULLY_BLOCKED")) - .setShouldPublish(true) .setCreationTimestamp(fakeClock.nowUtc()) .build()); Tld r = Tld.get("tld").asBuilder().setReservedLists(ImmutableSet.of(rl5, rl6)).build(); @@ -372,7 +368,6 @@ public final class TldTest extends EntityTestCase { .setName("tld-reserved15") .setReservedListMapFromLines( ImmutableList.of("potato,FULLY_BLOCKED", "phone,FULLY_BLOCKED")) - .setShouldPublish(true) .setCreationTimestamp(fakeClock.nowUtc()) .build()); persistReservedList( @@ -380,7 +375,6 @@ public final class TldTest extends EntityTestCase { .setName("tld-reserved16") .setReservedListMapFromLines( ImmutableList.of("port,FULLY_BLOCKED", "manteau,FULLY_BLOCKED")) - .setShouldPublish(true) .setCreationTimestamp(fakeClock.nowUtc()) .build()); Tld r = diff --git a/core/src/test/java/google/registry/model/tld/label/ReservedListDaoTest.java b/core/src/test/java/google/registry/model/tld/label/ReservedListDaoTest.java index 022e8cf6c..b609a3de7 100644 --- a/core/src/test/java/google/registry/model/tld/label/ReservedListDaoTest.java +++ b/core/src/test/java/google/registry/model/tld/label/ReservedListDaoTest.java @@ -52,7 +52,6 @@ public class ReservedListDaoTest { new ReservedList.Builder() .setName("testlist") .setCreationTimestamp(fakeClock.nowUtc()) - .setShouldPublish(false) .setReservedListMap(testReservations) .build(); } @@ -102,7 +101,6 @@ public class ReservedListDaoTest { assertThat(persistedList.getRevisionId()).isNotNull(); assertThat(persistedList.getCreationTimestamp()).isEqualTo(fakeClock.nowUtc()); assertThat(persistedList.getName()).isEqualTo("testlist"); - assertThat(persistedList.getShouldPublish()).isFalse(); assertThat(persistedList.getReservedListEntries()).containsExactlyEntriesIn(testReservations); } @@ -112,7 +110,6 @@ public class ReservedListDaoTest { new ReservedList.Builder() .setName("testlist") .setCreationTimestamp(fakeClock.nowUtc()) - .setShouldPublish(false) .setReservedListMap( ImmutableMap.of( "old", @@ -124,7 +121,6 @@ public class ReservedListDaoTest { assertThat(persistedList.getRevisionId()).isNotNull(); assertThat(persistedList.getCreationTimestamp()).isEqualTo(fakeClock.nowUtc()); assertThat(persistedList.getName()).isEqualTo("testlist"); - assertThat(persistedList.getShouldPublish()).isFalse(); assertThat(persistedList.getReservedListEntries()).containsExactlyEntriesIn(testReservations); } } diff --git a/core/src/test/java/google/registry/testing/DatabaseHelper.java b/core/src/test/java/google/registry/testing/DatabaseHelper.java index 232670717..d4c2c2720 100644 --- a/core/src/test/java/google/registry/testing/DatabaseHelper.java +++ b/core/src/test/java/google/registry/testing/DatabaseHelper.java @@ -345,23 +345,17 @@ public final class DatabaseHelper { domain.asBuilder().setAutorenewBillingEvent(billingRecurrence.createVKey()).build()); } - public static ReservedList persistReservedList(String listName, String... lines) { - return persistReservedList(listName, true, lines); - } - public static ReservedList persistReservedList(ReservedList reservedList) { ReservedListDao.save(reservedList); maybeAdvanceClock(); return reservedList; } - public static ReservedList persistReservedList( - String listName, boolean shouldPublish, String... lines) { + public static ReservedList persistReservedList(String listName, String... lines) { ReservedList reservedList = new ReservedList.Builder() .setName(listName) .setReservedListMapFromLines(ImmutableList.copyOf(lines)) - .setShouldPublish(shouldPublish) .setCreationTimestamp(DateTime.now(DateTimeZone.UTC)) .build(); return persistReservedList(reservedList); diff --git a/core/src/test/java/google/registry/tools/CreateOrUpdateReservedListCommandTestCase.java b/core/src/test/java/google/registry/tools/CreateOrUpdateReservedListCommandTestCase.java index 36e78f45c..64db29413 100644 --- a/core/src/test/java/google/registry/tools/CreateOrUpdateReservedListCommandTestCase.java +++ b/core/src/test/java/google/registry/tools/CreateOrUpdateReservedListCommandTestCase.java @@ -97,12 +97,10 @@ abstract class CreateOrUpdateReservedListCommandTestCase< ReservedList createCloudSqlReservedList( String name, DateTime creationTime, - boolean shouldPublish, ImmutableMap labelsToEntries) { return new ReservedList.Builder() .setName(name) .setCreationTimestamp(creationTime) - .setShouldPublish(shouldPublish) .setReservedListMap(labelsToEntries) .build(); } diff --git a/core/src/test/java/google/registry/tools/CreateReservedListCommandTest.java b/core/src/test/java/google/registry/tools/CreateReservedListCommandTest.java index e83fb3f52..6071ed7af 100644 --- a/core/src/test/java/google/registry/tools/CreateReservedListCommandTest.java +++ b/core/src/test/java/google/registry/tools/CreateReservedListCommandTest.java @@ -56,27 +56,6 @@ class CreateReservedListCommandTest assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent(); } - @Test - void testSuccess_shouldPublishDefaultsToTrue() throws Exception { - runCommandForced("--input=" + reservedTermsPath); - assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent(); - assertThat(ReservedList.get("xn--q9jyb4c_common-reserved").get().getShouldPublish()).isTrue(); - } - - @Test - void testSuccess_shouldPublishSetToTrue_works() throws Exception { - runCommandForced("--input=" + reservedTermsPath, "--should_publish=true"); - assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent(); - assertThat(ReservedList.get("xn--q9jyb4c_common-reserved").get().getShouldPublish()).isTrue(); - } - - @Test - void testSuccess_shouldPublishSetToFalse_works() throws Exception { - runCommandForced("--input=" + reservedTermsPath, "--should_publish=false"); - assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent(); - assertThat(ReservedList.get("xn--q9jyb4c_common-reserved").get().getShouldPublish()).isFalse(); - } - @Test void testFailure_reservedListWithThatNameAlreadyExists() { ReservedList rl = persistReservedList("xn--q9jyb4c_foo", "jones,FULLY_BLOCKED"); diff --git a/core/src/test/java/google/registry/tools/UpdateReservedListCommandTest.java b/core/src/test/java/google/registry/tools/UpdateReservedListCommandTest.java index e523cd5db..48bb917f9 100644 --- a/core/src/test/java/google/registry/tools/UpdateReservedListCommandTest.java +++ b/core/src/test/java/google/registry/tools/UpdateReservedListCommandTest.java @@ -37,16 +37,15 @@ class UpdateReservedListCommandTest @BeforeEach void beforeEach() { - populateInitialReservedListInDatabase(true); + populateInitialReservedListInDatabase(); } - private void populateInitialReservedListInDatabase(boolean shouldPublish) { + private void populateInitialReservedListInDatabase() { persistReservedList( new ReservedList.Builder() .setName("xn--q9jyb4c_common-reserved") .setReservedListMapFromLines(ImmutableList.of("helicopter,FULLY_BLOCKED")) .setCreationTimestamp(START_OF_TIME) - .setShouldPublish(shouldPublish) .build()); } @@ -60,25 +59,6 @@ class UpdateReservedListCommandTest runSuccessfulUpdateTest("--input=" + reservedTermsPath); } - @Test - void testSuccess_shouldPublish_setToFalseCorrectly() throws Exception { - runSuccessfulUpdateTest("--input=" + reservedTermsPath, "--should_publish=false"); - assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent(); - ReservedList reservedList = ReservedList.get("xn--q9jyb4c_common-reserved").get(); - assertThat(reservedList.getShouldPublish()).isFalse(); - assertInStdout("Update reserved list for xn--q9jyb4c_common-reserved?"); - assertInStdout("shouldPublish: true -> false"); - } - - @Test - void testSuccess_shouldPublish_doesntOverrideFalseIfNotSpecified() throws Exception { - populateInitialReservedListInDatabase(false); - runCommandForced("--input=" + reservedTermsPath); - assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent(); - ReservedList reservedList = ReservedList.get("xn--q9jyb4c_common-reserved").get(); - assertThat(reservedList.getShouldPublish()).isFalse(); - } - private void runSuccessfulUpdateTest(String... args) throws Exception { runCommandForced(args); assertThat(ReservedList.get("xn--q9jyb4c_common-reserved")).isPresent(); @@ -133,11 +113,9 @@ class UpdateReservedListCommandTest // CreateOrUpdateReservedListCommandTestCases.java UpdateReservedListCommand command = new UpdateReservedListCommand(); command.input = Paths.get(reservedTermsPath); - command.shouldPublish = false; command.init(); assertThat(command.prompt()).contains("Update reserved list for xn--q9jyb4c_common-reserved?"); - assertThat(command.prompt()).contains("shouldPublish: true -> false"); assertThat(command.prompt()).contains("helicopter: helicopter,FULLY_BLOCKED -> null"); assertThat(command.prompt()).contains("baddies: null -> baddies,FULLY_BLOCKED"); assertThat(command.prompt()).contains("ford: null -> ford,FULLY_BLOCKED # random comment"); diff --git a/core/src/test/java/google/registry/tools/server/ListReservedListsActionTest.java b/core/src/test/java/google/registry/tools/server/ListReservedListsActionTest.java index bd5f67e8d..19e2d9b13 100644 --- a/core/src/test/java/google/registry/tools/server/ListReservedListsActionTest.java +++ b/core/src/test/java/google/registry/tools/server/ListReservedListsActionTest.java @@ -31,8 +31,8 @@ class ListReservedListsActionTest extends ListActionTestCase { @BeforeEach void beforeEach() { - ReservedList rl1 = persistReservedList("xn--q9jyb4c-published", true, "blah,FULLY_BLOCKED"); - ReservedList rl2 = persistReservedList("xn--q9jyb4c-private", false, "dugong,FULLY_BLOCKED"); + ReservedList rl1 = persistReservedList("xn--q9jyb4c-published", "blah,FULLY_BLOCKED"); + ReservedList rl2 = persistReservedList("xn--q9jyb4c-private", "dugong,FULLY_BLOCKED"); createTld("xn--q9jyb4c"); persistResource(Tld.get("xn--q9jyb4c").asBuilder().setReservedLists(rl1, rl2).build()); action = new ListReservedListsAction(); @@ -53,13 +53,13 @@ class ListReservedListsActionTest extends ListActionTestCase { void testRun_withParameters() { testRunSuccess( action, - Optional.of("shouldPublish"), + Optional.of("revisionId"), Optional.empty(), Optional.empty(), - "^name\\s+shouldPublish\\s*$", + "^name\\s+revisionId\\s*$", "^-+\\s+-+\\s*$", - "^xn--q9jyb4c-private\\s+false\\s*$", - "^xn--q9jyb4c-published\\s+true\\s*$"); + "^xn--q9jyb4c-private\\s+2\\s*$", + "^xn--q9jyb4c-published\\s+1\\s*$"); } @Test @@ -71,8 +71,8 @@ class ListReservedListsActionTest extends ListActionTestCase { Optional.empty(), "^name\\s+.*shouldPublish.*", "^-+\\s+-+", - "^xn--q9jyb4c-private\\s+.*false", - "^xn--q9jyb4c-published\\s+.*true"); + "^xn--q9jyb4c-private\\s+.*", + "^xn--q9jyb4c-published\\s+.*"); } @Test 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 67416ae4e..b8621e0d2 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 - 2024-01-29 21:20:38.361551592 + 2024-02-27 19:20:22.44744298 last flyway file - V154__add_create_billing_cost_transitions_to_tld.sql + V155__reserved_list_null_should_publish.sql @@ -277,11 +277,11 @@ td.section { SchemaCrawler_Diagram - generated by - SchemaCrawler 16.10.1 - generated on - 2024-01-29 21:20:38.361551592 - + generated by + SchemaCrawler 16.10.1 + generated on + 2024-02-27 19:20:22.44744298 + allocationtoken_a08ccbef 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 e85bc7c94..7b37e68ac 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 { </tr> <tr> <td class="property_name">generated on</td> - <td class="property_value">2024-01-29 21:20:36.077463726</td> + <td class="property_value">2024-02-27 19:20:20.412729849</td> </tr> <tr> <td class="property_name">last flyway file</td> - <td id="lastFlywayFile" class="property_value">V154__add_create_billing_cost_transitions_to_tld.sql</td> + <td id="lastFlywayFile" class="property_value">V155__reserved_list_null_should_publish.sql</td> </tr> </tbody> </table> @@ -280,7 +280,7 @@ td.section { <text text-anchor="start" x="4414.5" y="-29.8" font-family="Helvetica,sans-Serif" font-size="14.00">generated by</text> <text text-anchor="start" x="4497.5" y="-29.8" font-family="Helvetica,sans-Serif" font-size="14.00">SchemaCrawler 16.10.1</text> <text text-anchor="start" x="4413.5" y="-10.8" font-family="Helvetica,sans-Serif" font-size="14.00">generated on</text> - <text text-anchor="start" x="4497.5" y="-10.8" font-family="Helvetica,sans-Serif" font-size="14.00">2024-01-29 21:20:36.077463726</text> + <text text-anchor="start" x="4497.5" y="-10.8" font-family="Helvetica,sans-Serif" font-size="14.00">2024-02-27 19:20:20.412729849</text> <polygon fill="none" stroke="#888888" points="4410,-4 4410,-44 4697,-44 4697,-4 4410,-4" /> <!-- allocationtoken_a08ccbef --> <g id="node1" class="node"> <title> @@ -3488,7 +3488,7 @@ td.section { <text text-anchor="start" x="3788.5" y="-6614.3" font-family="Helvetica,sans-Serif" font-size="14.00">text not null</text> <text text-anchor="start" x="3655.5" y="-6595.3" font-family="Helvetica,sans-Serif" font-size="14.00">should_publish</text> <text text-anchor="start" x="3779.5" y="-6595.3" font-family="Helvetica,sans-Serif" font-size="14.00"> </text> - <text text-anchor="start" x="3788.5" y="-6595.3" font-family="Helvetica,sans-Serif" font-size="14.00">bool not null</text> + <text text-anchor="start" x="3788.5" y="-6595.3" font-family="Helvetica,sans-Serif" font-size="14.00">bool</text> <polygon fill="none" stroke="#888888" points="3652,-6588.5 3652,-6704.5 3913,-6704.5 3913,-6588.5 3652,-6588.5" /> </g> <!-- reservedentry_1a7b8520->reservedlist_b97c3f1c --> <g id="edge78" class="edge"> @@ -11012,7 +11012,7 @@ td.section { <tr> <td class="spacer"></td> <td class="minwidth">should_publish</td> - <td class="minwidth">bool not null</td> + <td class="minwidth">bool</td> </tr> <tr> <td colspan="3"></td> diff --git a/db/src/main/resources/sql/flyway.txt b/db/src/main/resources/sql/flyway.txt index 277f1f01a..ee5508721 100644 --- a/db/src/main/resources/sql/flyway.txt +++ b/db/src/main/resources/sql/flyway.txt @@ -152,3 +152,4 @@ V151__add_bsa_unblockable_domain_table.sql 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 diff --git a/db/src/main/resources/sql/flyway/V155__reserved_list_null_should_publish.sql b/db/src/main/resources/sql/flyway/V155__reserved_list_null_should_publish.sql new file mode 100644 index 000000000..4342de93c --- /dev/null +++ b/db/src/main/resources/sql/flyway/V155__reserved_list_null_should_publish.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. + +-- Note: we drop the not-null constraints from the history tables but we keep them in the +-- EPP resource tables since nothing inserted there should be null + +ALTER TABLE "ReservedList" ALTER COLUMN should_publish 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 d61ce3053..4f68dfe92 100644 --- a/db/src/main/resources/sql/schema/db-schema.sql.generated +++ b/db/src/main/resources/sql/schema/db-schema.sql.generated @@ -693,7 +693,7 @@ revision_id bigserial not null, creation_timestamp timestamptz, name text not null, - should_publish boolean not null, + should_publish boolean, primary key (revision_id) ); diff --git a/db/src/main/resources/sql/schema/nomulus.golden.sql b/db/src/main/resources/sql/schema/nomulus.golden.sql index 7434aefd0..35b64229b 100644 --- a/db/src/main/resources/sql/schema/nomulus.golden.sql +++ b/db/src/main/resources/sql/schema/nomulus.golden.sql @@ -1022,7 +1022,7 @@ CREATE TABLE public."ReservedList" ( revision_id bigint NOT NULL, creation_timestamp timestamp with time zone NOT NULL, name text NOT NULL, - should_publish boolean NOT NULL + should_publish boolean );