mirror of
https://github.com/google/nomulus.git
synced 2025-06-15 17:04:45 +02:00
Add a SQL schema and DAO for KmsSecretRevision (#840)
* Add a SQL schema and DAO for KmsSecretRevision The dual-object nature of KmsSecret and KmsSecretRevision will not be necessary once we have moved to SQL. In that world, the only object will be the one now called KmsSecretRevision. KmsSecretRevision already stores its parent so all we need to do is convert that key to the String secretName (or from the secretName to the key, if loading from SQL) and select the max revision ID for a given secret name. In a future PR, we will add a dual-writing DAO to these objects and perform the dual writes, similar to how ReservedList functions. * Regenerate diagram * Rename revisionId and cryptoKeyVersionName * Fix SQL files and diagram
This commit is contained in:
parent
e07629b42f
commit
2cb7ae7f5a
12 changed files with 1229 additions and 763 deletions
|
@ -16,6 +16,7 @@ package google.registry.model.server;
|
|||
|
||||
import static google.registry.model.common.EntityGroupRoot.getCrossTldKey;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.googlecode.objectify.Key;
|
||||
import com.googlecode.objectify.annotation.Entity;
|
||||
import com.googlecode.objectify.annotation.Id;
|
||||
|
@ -23,11 +24,13 @@ import com.googlecode.objectify.annotation.Parent;
|
|||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.annotations.ReportedOn;
|
||||
import google.registry.model.common.EntityGroupRoot;
|
||||
import google.registry.schema.replay.DatastoreEntity;
|
||||
import google.registry.schema.replay.SqlEntity;
|
||||
|
||||
/** Pointer to the latest {@link KmsSecretRevision}. */
|
||||
@Entity
|
||||
@ReportedOn
|
||||
public class KmsSecret extends ImmutableObject {
|
||||
public class KmsSecret extends ImmutableObject implements DatastoreEntity {
|
||||
|
||||
/** The unique name of this {@link KmsSecret}. */
|
||||
@Id String name;
|
||||
|
@ -45,6 +48,11 @@ public class KmsSecret extends ImmutableObject {
|
|||
return latestRevision;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImmutableList<SqlEntity> toSqlEntities() {
|
||||
return ImmutableList.of(); // not persisted in SQL
|
||||
}
|
||||
|
||||
public static KmsSecret create(String name, KmsSecretRevision latestRevision) {
|
||||
KmsSecret instance = new KmsSecret();
|
||||
instance.name = name;
|
||||
|
|
|
@ -17,14 +17,24 @@ package google.registry.model.server;
|
|||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static google.registry.model.common.EntityGroupRoot.getCrossTldKey;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.googlecode.objectify.Key;
|
||||
import com.googlecode.objectify.annotation.Entity;
|
||||
import com.googlecode.objectify.annotation.Id;
|
||||
import com.googlecode.objectify.annotation.Ignore;
|
||||
import com.googlecode.objectify.annotation.OnLoad;
|
||||
import com.googlecode.objectify.annotation.Parent;
|
||||
import google.registry.model.Buildable;
|
||||
import google.registry.model.CreateAutoTimestamp;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.annotations.ReportedOn;
|
||||
import google.registry.schema.replay.DatastoreEntity;
|
||||
import google.registry.schema.replay.SqlEntity;
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Index;
|
||||
import javax.persistence.PostLoad;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.Transient;
|
||||
|
||||
/**
|
||||
* An encrypted value.
|
||||
|
@ -35,13 +45,22 @@ import google.registry.model.annotations.ReportedOn;
|
|||
*
|
||||
* <p>The value can be encrypted and decrypted using Cloud KMS.
|
||||
*
|
||||
* <p>Note that the primary key of this entity is {@link #revisionKey}, which is auto-generated by
|
||||
* the database. So, if a retry of insertion happens after the previous attempt unexpectedly
|
||||
* succeeds, we will end up with having two exact same revisions that differ only by revisionKey.
|
||||
* This is fine though, because we only use the revision with the highest revisionKey.
|
||||
*
|
||||
* <p>TODO: remove Datastore-specific fields post-Registry-3.0-migration and rename to KmsSecret.
|
||||
*
|
||||
* @see <a href="https://cloud.google.com/kms/docs/">Google Cloud Key Management Service
|
||||
* Documentation</a>
|
||||
* @see google.registry.keyring.kms.KmsKeyring
|
||||
*/
|
||||
@Entity
|
||||
@ReportedOn
|
||||
public class KmsSecretRevision extends ImmutableObject {
|
||||
@javax.persistence.Entity(name = "KmsSecret")
|
||||
@Table(indexes = {@Index(columnList = "secretName")})
|
||||
public class KmsSecretRevision extends ImmutableObject implements DatastoreEntity, SqlEntity {
|
||||
|
||||
/**
|
||||
* The maximum allowable secret size. Although Datastore allows entities up to 1 MB in size,
|
||||
|
@ -49,18 +68,31 @@ public class KmsSecretRevision extends ImmutableObject {
|
|||
*/
|
||||
private static final int MAX_SECRET_SIZE_BYTES = 64 * 1024 * 1024;
|
||||
|
||||
/** The revision of this secret. */
|
||||
@Id long revisionKey;
|
||||
/**
|
||||
* The revision of this secret.
|
||||
*
|
||||
* <p>TODO: change name of the variable to revisionId once we're off Datastore
|
||||
*/
|
||||
@Id
|
||||
@javax.persistence.Id
|
||||
@Column(name = "revisionId")
|
||||
long revisionKey;
|
||||
|
||||
/** The parent {@link KmsSecret} which contains metadata about this {@link KmsSecretRevision}. */
|
||||
@Parent Key<KmsSecret> parent;
|
||||
@Parent @Transient Key<KmsSecret> parent;
|
||||
@Column(nullable = false)
|
||||
@Ignore
|
||||
String secretName;
|
||||
|
||||
/**
|
||||
* The name of the {@code cryptoKeyVersion} associated with this {@link KmsSecretRevision}.
|
||||
*
|
||||
* <p>TODO: change name of the variable to cryptoKeyVersionName once we're off Datastore
|
||||
*
|
||||
* @see <a
|
||||
* href="https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions">projects.locations.keyRings.cryptoKeys.cryptoKeyVersions</a>
|
||||
*/
|
||||
@Column(nullable = false, name = "cryptoKeyVersionName")
|
||||
String kmsCryptoKeyVersionName;
|
||||
|
||||
/**
|
||||
|
@ -70,9 +102,11 @@ public class KmsSecretRevision extends ImmutableObject {
|
|||
* @see <a
|
||||
* href="https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys/encrypt">projects.locations.keyRings.cryptoKeys.encrypt</a>
|
||||
*/
|
||||
@Column(nullable = false)
|
||||
String encryptedValue;
|
||||
|
||||
/** An automatically managed creation timestamp. */
|
||||
@Column(nullable = false)
|
||||
CreateAutoTimestamp creationTime = CreateAutoTimestamp.create(null);
|
||||
|
||||
public String getKmsCryptoKeyVersionName() {
|
||||
|
@ -83,6 +117,28 @@ public class KmsSecretRevision extends ImmutableObject {
|
|||
return encryptedValue;
|
||||
}
|
||||
|
||||
// When loading from SQL, fill out the Datastore-specific field
|
||||
@PostLoad
|
||||
void postLoad() {
|
||||
parent = Key.create(getCrossTldKey(), KmsSecret.class, secretName);
|
||||
}
|
||||
|
||||
// When loading from Datastore, fill out the SQL-specific field
|
||||
@OnLoad
|
||||
void onLoad() {
|
||||
secretName = parent.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImmutableList<SqlEntity> toSqlEntities() {
|
||||
return ImmutableList.of(); // This is dually-written, as we do not care about history
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
||||
return ImmutableList.of(); // This is dually-written, as we do not care about history
|
||||
}
|
||||
|
||||
/** A builder for constructing {@link KmsSecretRevision} entities, since they are immutable. */
|
||||
public static class Builder extends Buildable.Builder<KmsSecretRevision> {
|
||||
|
||||
|
@ -108,6 +164,7 @@ public class KmsSecretRevision extends ImmutableObject {
|
|||
*/
|
||||
public Builder setParent(String secretName) {
|
||||
getInstance().parent = Key.create(getCrossTldKey(), KmsSecret.class, secretName);
|
||||
getInstance().secretName = secretName;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
// 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.
|
||||
|
||||
package google.registry.model.server;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.base.Strings.isNullOrEmpty;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* A {@link KmsSecretRevision} DAO for Cloud SQL.
|
||||
*
|
||||
* <p>TODO: Rename this class to KmsSecretDao after migrating to Cloud SQL.
|
||||
*/
|
||||
public class KmsSecretRevisionSqlDao {
|
||||
|
||||
private KmsSecretRevisionSqlDao() {}
|
||||
|
||||
/** Saves the given KMS secret revision. */
|
||||
public static void save(KmsSecretRevision kmsSecretRevision) {
|
||||
checkArgumentNotNull(kmsSecretRevision, "kmsSecretRevision cannot be null");
|
||||
jpaTm().assertInTransaction();
|
||||
jpaTm().put(kmsSecretRevision);
|
||||
}
|
||||
|
||||
/** Returns the latest revision for the secret name given, or absent if nonexistent. */
|
||||
public static Optional<KmsSecretRevision> getLatestRevision(String secretName) {
|
||||
checkArgument(!isNullOrEmpty(secretName), "secretName cannot be null or empty");
|
||||
jpaTm().assertInTransaction();
|
||||
return jpaTm()
|
||||
.getEntityManager()
|
||||
.createQuery(
|
||||
"FROM KmsSecret ks WHERE ks.revisionKey IN (SELECT MAX(revisionKey) FROM "
|
||||
+ "KmsSecret subKs WHERE subKs.secretName = :secretName)",
|
||||
KmsSecretRevision.class)
|
||||
.setParameter("secretName", secretName)
|
||||
.getResultStream()
|
||||
.findFirst();
|
||||
}
|
||||
}
|
|
@ -62,6 +62,7 @@
|
|||
<class>google.registry.model.registry.Registry</class>
|
||||
<class>google.registry.model.reporting.DomainTransactionRecord</class>
|
||||
<class>google.registry.model.reporting.Spec11ThreatMatch</class>
|
||||
<class>google.registry.model.server.KmsSecretRevision</class>
|
||||
<class>google.registry.model.smd.SignedMarkRevocationList</class>
|
||||
<class>google.registry.model.tmch.ClaimsListShard</class>
|
||||
<class>google.registry.persistence.transaction.TransactionEntity</class>
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
// 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.
|
||||
|
||||
package google.registry.model.server;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.model.ImmutableObjectSubject.assertAboutImmutableObjects;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
|
||||
import google.registry.persistence.transaction.JpaTestRules;
|
||||
import google.registry.persistence.transaction.JpaTestRules.JpaIntegrationWithCoverageExtension;
|
||||
import google.registry.testing.DatastoreEntityExtension;
|
||||
import google.registry.testing.FakeClock;
|
||||
import java.util.Optional;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
/** Tests for {@link google.registry.model.server.KmsSecretRevisionSqlDao}. */
|
||||
public class KmsSecretRevisionSqlDaoTest {
|
||||
|
||||
private final FakeClock fakeClock = new FakeClock();
|
||||
|
||||
@RegisterExtension
|
||||
@Order(value = 1)
|
||||
DatastoreEntityExtension datastoreEntityExtension = new DatastoreEntityExtension();
|
||||
|
||||
@RegisterExtension
|
||||
JpaIntegrationWithCoverageExtension jpa =
|
||||
new JpaTestRules.Builder().withClock(fakeClock).buildIntegrationWithCoverageExtension();
|
||||
|
||||
@Test
|
||||
void testSaveAndRetrieve() {
|
||||
KmsSecretRevision revision = createRevision();
|
||||
jpaTm().transact(() -> KmsSecretRevisionSqlDao.save(revision));
|
||||
Optional<KmsSecretRevision> fromSql =
|
||||
jpaTm().transact(() -> KmsSecretRevisionSqlDao.getLatestRevision("secretName"));
|
||||
assertThat(fromSql.isPresent()).isTrue();
|
||||
assertAboutImmutableObjects().that(revision).isEqualExceptFields(fromSql.get(), "creationTime");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMultipleRevisions() {
|
||||
KmsSecretRevision revision = createRevision();
|
||||
jpaTm().transact(() -> KmsSecretRevisionSqlDao.save(revision));
|
||||
|
||||
KmsSecretRevision secondRevision = createRevision();
|
||||
secondRevision.encryptedValue = "someOtherValue";
|
||||
jpaTm().transact(() -> KmsSecretRevisionSqlDao.save(secondRevision));
|
||||
|
||||
Optional<KmsSecretRevision> fromSql =
|
||||
jpaTm().transact(() -> KmsSecretRevisionSqlDao.getLatestRevision("secretName"));
|
||||
assertThat(fromSql.isPresent()).isTrue();
|
||||
assertThat(fromSql.get().getEncryptedValue()).isEqualTo("someOtherValue");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testNonexistent() {
|
||||
KmsSecretRevision revision = createRevision();
|
||||
jpaTm().transact(() -> KmsSecretRevisionSqlDao.save(revision));
|
||||
assertThat(
|
||||
jpaTm()
|
||||
.transact(() -> KmsSecretRevisionSqlDao.getLatestRevision("someOtherSecretName"))
|
||||
.isPresent())
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
private KmsSecretRevision createRevision() {
|
||||
return new KmsSecretRevision.Builder()
|
||||
.setEncryptedValue("encrypted")
|
||||
.setKmsCryptoKeyVersionName("version")
|
||||
.setParent("secretName")
|
||||
.build();
|
||||
}
|
||||
}
|
|
@ -29,6 +29,7 @@ import google.registry.model.registry.RegistryLockDaoTest;
|
|||
import google.registry.model.registry.RegistryTest;
|
||||
import google.registry.model.registry.label.ReservedListSqlDaoTest;
|
||||
import google.registry.model.reporting.Spec11ThreatMatchTest;
|
||||
import google.registry.model.server.KmsSecretRevisionSqlDaoTest;
|
||||
import google.registry.model.smd.SignedMarkRevocationListDaoTest;
|
||||
import google.registry.model.tmch.ClaimsListDaoTest;
|
||||
import google.registry.persistence.transaction.JpaEntityCoverageExtension;
|
||||
|
@ -85,6 +86,7 @@ import org.junit.runner.RunWith;
|
|||
DomainBaseSqlTest.class,
|
||||
DomainHistoryTest.class,
|
||||
HostHistoryTest.class,
|
||||
KmsSecretRevisionSqlDaoTest.class,
|
||||
LockDaoTest.class,
|
||||
PollMessageTest.class,
|
||||
PremiumListDaoTest.class,
|
||||
|
|
|
@ -261,19 +261,19 @@ td.section {
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="property_name">generated on</td>
|
||||
<td class="property_value">2020-10-30 20:47:04.047621</td>
|
||||
<td class="property_value">2020-10-30 21:56:22.867321</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="property_name">last flyway file</td>
|
||||
<td id="lastFlywayFile" class="property_value">V70__signed_mark_revocation_list.sql</td>
|
||||
<td id="lastFlywayFile" class="property_value">V71__create_kms_secret.sql</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
<svg viewbox="0.00 0.00 3524.79 2933.77" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="erDiagram" style="overflow: hidden; width: 100%; height: 800px"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2929.77)">
|
||||
<svg viewbox="0.00 0.00 3524.79 3018.77" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="erDiagram" style="overflow: hidden; width: 100%; height: 800px"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 3014.77)">
|
||||
<title>SchemaCrawler_Diagram</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-2929.77 3520.79,-2929.77 3520.79,4 -4,4" />
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-3014.77 3520.79,-3014.77 3520.79,4 -4,4" />
|
||||
<text text-anchor="start" x="3248.29" y="-29.8" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
generated by
|
||||
</text>
|
||||
|
@ -284,7 +284,7 @@ td.section {
|
|||
generated on
|
||||
</text>
|
||||
<text text-anchor="start" x="3331.29" y="-10.8" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
2020-10-30 20:47:04.047621
|
||||
2020-10-30 21:56:22.867321
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3243.79,-4 3243.79,-44 3508.79,-44 3508.79,-4 3243.79,-4" /> <!-- allocationtoken_a08ccbef -->
|
||||
<g id="node1" class="node">
|
||||
|
@ -521,7 +521,7 @@ td.section {
|
|||
fk_billing_cancellation_billing_recurrence_id
|
||||
</text>
|
||||
</g> <!-- registrar_6e1503e3 -->
|
||||
<g id="node25" class="node">
|
||||
<g id="node26" class="node">
|
||||
<title>registrar_6e1503e3</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="9.5,-1217.27 9.5,-1236.27 116.5,-1236.27 116.5,-1217.27 9.5,-1217.27" />
|
||||
<text text-anchor="start" x="11.5" y="-1224.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
|
@ -2182,484 +2182,512 @@ td.section {
|
|||
<text text-anchor="start" x="550.5" y="-395.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
fk3d09knnmxrt6iniwnp8j2ykga
|
||||
</text>
|
||||
</g> <!-- lock_f21d4861 -->
|
||||
</g> <!-- kmssecret_f3b28857 -->
|
||||
<g id="node21" class="node">
|
||||
<title>lock_f21d4861</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3258.5,-1949.27 3258.5,-1968.27 3371.5,-1968.27 3371.5,-1949.27 3258.5,-1949.27" />
|
||||
<text text-anchor="start" x="3260.5" y="-1956.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.Lock
|
||||
<title>kmssecret_f3b28857</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3255.5,-1949.27 3255.5,-1968.27 3374.5,-1968.27 3374.5,-1949.27 3255.5,-1949.27" />
|
||||
<text text-anchor="start" x="3257.5" y="-1956.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.KmsSecret
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3371.5,-1949.27 3371.5,-1968.27 3445.5,-1968.27 3445.5,-1949.27 3371.5,-1949.27" />
|
||||
<text text-anchor="start" x="3406.5" y="-1955.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3374.5,-1949.27 3374.5,-1968.27 3448.5,-1968.27 3448.5,-1949.27 3374.5,-1949.27" />
|
||||
<text text-anchor="start" x="3409.5" y="-1955.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3260.5" y="-1937.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
resource_name
|
||||
</text>
|
||||
<text text-anchor="start" x="3365.5" y="-1936.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3373.5" y="-1936.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3260.5" y="-1918.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
tld
|
||||
</text>
|
||||
<text text-anchor="start" x="3365.5" y="-1917.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3373.5" y="-1917.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3257,-1910.77 3257,-1969.77 3446,-1969.77 3446,-1910.77 3257,-1910.77" />
|
||||
</g> <!-- premiumentry_b0060b91 -->
|
||||
<g id="node22" class="node">
|
||||
<title>premiumentry_b0060b91</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3243.5,-2034.27 3243.5,-2053.27 3385.5,-2053.27 3385.5,-2034.27 3243.5,-2034.27" />
|
||||
<text text-anchor="start" x="3245.5" y="-2041.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.PremiumEntry
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3385.5,-2034.27 3385.5,-2053.27 3459.5,-2053.27 3459.5,-2034.27 3385.5,-2034.27" />
|
||||
<text text-anchor="start" x="3420.5" y="-2040.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3245.5" y="-2022.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3257.5" y="-1937.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
revision_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3358.5" y="-2021.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3354.5" y="-1936.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3387.5" y="-2021.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3376.5" y="-1936.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
int8 not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3245.5" y="-2003.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
domain_label
|
||||
<text text-anchor="start" x="3257.5" y="-1917.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
secret_name
|
||||
</text>
|
||||
<text text-anchor="start" x="3358.5" y="-2002.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3354.5" y="-1917.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3387.5" y="-2002.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3376.5" y="-1917.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3242.5,-1995.77 3242.5,-2054.77 3460.5,-2054.77 3460.5,-1995.77 3242.5,-1995.77" />
|
||||
</g> <!-- premiumlist_7c3ea68b -->
|
||||
<g id="node23" class="node">
|
||||
<title>premiumlist_7c3ea68b</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2656,-2033.27 2656,-2052.27 2787,-2052.27 2787,-2033.27 2656,-2033.27" />
|
||||
<text text-anchor="start" x="2658" y="-2040.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.PremiumList
|
||||
<polygon fill="none" stroke="#888888" points="3254,-1910.77 3254,-1969.77 3449,-1969.77 3449,-1910.77 3254,-1910.77" />
|
||||
</g> <!-- lock_f21d4861 -->
|
||||
<g id="node22" class="node">
|
||||
<title>lock_f21d4861</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3258.5,-2034.27 3258.5,-2053.27 3371.5,-2053.27 3371.5,-2034.27 3258.5,-2034.27" />
|
||||
<text text-anchor="start" x="3260.5" y="-2041.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.Lock
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2787,-2033.27 2787,-2052.27 2897,-2052.27 2897,-2033.27 2787,-2033.27" />
|
||||
<text text-anchor="start" x="2858" y="-2039.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3371.5,-2034.27 3371.5,-2053.27 3445.5,-2053.27 3445.5,-2034.27 3371.5,-2034.27" />
|
||||
<text text-anchor="start" x="3406.5" y="-2040.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="2658" y="-2021.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
revision_id
|
||||
<text text-anchor="start" x="3260.5" y="-2022.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
resource_name
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2020.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3365.5" y="-2021.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2789" y="-2020.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
bigserial not null
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2001.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2789" y="-2001.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
auto-incremented
|
||||
</text>
|
||||
<text text-anchor="start" x="2658" y="-1982.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
name
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-1982.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2789" y="-1982.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3373.5" y="-2021.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="2654.5,-1975.27 2654.5,-2053.27 2897.5,-2053.27 2897.5,-1975.27 2654.5,-1975.27" />
|
||||
<text text-anchor="start" x="3260.5" y="-2003.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
tld
|
||||
</text>
|
||||
<text text-anchor="start" x="3365.5" y="-2002.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3373.5" y="-2002.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3257,-1995.77 3257,-2054.77 3446,-2054.77 3446,-1995.77 3257,-1995.77" />
|
||||
</g> <!-- premiumentry_b0060b91 -->
|
||||
<g id="node23" class="node">
|
||||
<title>premiumentry_b0060b91</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3243.5,-2119.27 3243.5,-2138.27 3385.5,-2138.27 3385.5,-2119.27 3243.5,-2119.27" />
|
||||
<text text-anchor="start" x="3245.5" y="-2126.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.PremiumEntry
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3385.5,-2119.27 3385.5,-2138.27 3459.5,-2138.27 3459.5,-2119.27 3385.5,-2119.27" />
|
||||
<text text-anchor="start" x="3420.5" y="-2125.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3245.5" y="-2107.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
revision_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3358.5" y="-2106.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3387.5" y="-2106.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
int8 not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3245.5" y="-2088.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
domain_label
|
||||
</text>
|
||||
<text text-anchor="start" x="3358.5" y="-2087.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3387.5" y="-2087.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3242.5,-2080.77 3242.5,-2139.77 3460.5,-2139.77 3460.5,-2080.77 3242.5,-2080.77" />
|
||||
</g> <!-- premiumlist_7c3ea68b -->
|
||||
<g id="node24" class="node">
|
||||
<title>premiumlist_7c3ea68b</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2656,-2118.27 2656,-2137.27 2787,-2137.27 2787,-2118.27 2656,-2118.27" />
|
||||
<text text-anchor="start" x="2658" y="-2125.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.PremiumList
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2787,-2118.27 2787,-2137.27 2897,-2137.27 2897,-2118.27 2787,-2118.27" />
|
||||
<text text-anchor="start" x="2858" y="-2124.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="2658" y="-2106.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
revision_id
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2105.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2789" y="-2105.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
bigserial not null
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2086.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2789" y="-2086.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
auto-incremented
|
||||
</text>
|
||||
<text text-anchor="start" x="2658" y="-2067.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
name
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2067.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2789" y="-2067.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="2654.5,-2060.27 2654.5,-2138.27 2897.5,-2138.27 2897.5,-2060.27 2654.5,-2060.27" />
|
||||
</g> <!-- premiumentry_b0060b91->premiumlist_7c3ea68b -->
|
||||
<g id="edge40" class="edge">
|
||||
<title>premiumentry_b0060b91:w->premiumlist_7c3ea68b:e</title>
|
||||
<path fill="none" stroke="black" d="M3224.22,-2024.27C3089.29,-2024.27 3046.82,-2024.27 2908.15,-2024.27" />
|
||||
<polygon fill="black" stroke="black" points="3232.5,-2024.27 3242.5,-2028.77 3237.5,-2024.27 3242.5,-2024.27 3242.5,-2024.27 3242.5,-2024.27 3237.5,-2024.27 3242.5,-2019.77 3232.5,-2024.27 3232.5,-2024.27" />
|
||||
<ellipse fill="none" stroke="black" cx="3228.5" cy="-2024.27" rx="4" ry="4" />
|
||||
<polygon fill="black" stroke="black" points="2899,-2029.27 2899,-2019.27 2901,-2019.27 2901,-2029.27 2899,-2029.27" />
|
||||
<polyline fill="none" stroke="black" points="2898,-2024.27 2903,-2024.27 " />
|
||||
<polygon fill="black" stroke="black" points="2904,-2029.27 2904,-2019.27 2906,-2019.27 2906,-2029.27 2904,-2029.27" />
|
||||
<polyline fill="none" stroke="black" points="2903,-2024.27 2908,-2024.27 " />
|
||||
<text text-anchor="start" x="2976.5" y="-2028.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<path fill="none" stroke="black" d="M3224.22,-2109.27C3089.29,-2109.27 3046.82,-2109.27 2908.15,-2109.27" />
|
||||
<polygon fill="black" stroke="black" points="3232.5,-2109.27 3242.5,-2113.77 3237.5,-2109.27 3242.5,-2109.27 3242.5,-2109.27 3242.5,-2109.27 3237.5,-2109.27 3242.5,-2104.77 3232.5,-2109.27 3232.5,-2109.27" />
|
||||
<ellipse fill="none" stroke="black" cx="3228.5" cy="-2109.27" rx="4" ry="4" />
|
||||
<polygon fill="black" stroke="black" points="2899,-2114.27 2899,-2104.27 2901,-2104.27 2901,-2114.27 2899,-2114.27" />
|
||||
<polyline fill="none" stroke="black" points="2898,-2109.27 2903,-2109.27 " />
|
||||
<polygon fill="black" stroke="black" points="2904,-2114.27 2904,-2104.27 2906,-2104.27 2906,-2114.27 2904,-2114.27" />
|
||||
<polyline fill="none" stroke="black" points="2903,-2109.27 2908,-2109.27 " />
|
||||
<text text-anchor="start" x="2976.5" y="-2113.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
fko0gw90lpo1tuee56l0nb6y6g5
|
||||
</text>
|
||||
</g> <!-- rderevision_83396864 -->
|
||||
<g id="node24" class="node">
|
||||
<g id="node25" class="node">
|
||||
<title>rderevision_83396864</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3247.5,-2139.27 3247.5,-2158.27 3377.5,-2158.27 3377.5,-2139.27 3247.5,-2139.27" />
|
||||
<text text-anchor="start" x="3249.5" y="-2146.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3247.5,-2224.27 3247.5,-2243.27 3377.5,-2243.27 3377.5,-2224.27 3247.5,-2224.27" />
|
||||
<text text-anchor="start" x="3249.5" y="-2231.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.RdeRevision
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3377.5,-2139.27 3377.5,-2158.27 3455.5,-2158.27 3455.5,-2139.27 3377.5,-2139.27" />
|
||||
<text text-anchor="start" x="3416.5" y="-2145.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3377.5,-2224.27 3377.5,-2243.27 3455.5,-2243.27 3455.5,-2224.27 3377.5,-2224.27" />
|
||||
<text text-anchor="start" x="3416.5" y="-2230.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3249.5" y="-2127.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3249.5" y="-2212.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
tld
|
||||
</text>
|
||||
<text text-anchor="start" x="3333.5" y="-2126.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3333.5" y="-2211.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3379.5" y="-2126.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3379.5" y="-2211.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3249.5" y="-2108.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3249.5" y="-2193.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
mode
|
||||
</text>
|
||||
<text text-anchor="start" x="3333.5" y="-2107.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3333.5" y="-2192.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3379.5" y="-2107.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3379.5" y="-2192.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3249.5" y="-2089.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3249.5" y="-2174.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
"date"
|
||||
</text>
|
||||
<text text-anchor="start" x="3333.5" y="-2088.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3333.5" y="-2173.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3379.5" y="-2088.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3379.5" y="-2173.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
date not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3246.5,-2081.27 3246.5,-2159.27 3456.5,-2159.27 3456.5,-2081.27 3246.5,-2081.27" />
|
||||
<polygon fill="none" stroke="#888888" points="3246.5,-2166.27 3246.5,-2244.27 3456.5,-2244.27 3456.5,-2166.27 3246.5,-2166.27" />
|
||||
</g> <!-- registrarpoc_ab47054d -->
|
||||
<g id="node26" class="node">
|
||||
<g id="node27" class="node">
|
||||
<title>registrarpoc_ab47054d</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3248.5,-2243.27 3248.5,-2262.27 3380.5,-2262.27 3380.5,-2243.27 3248.5,-2243.27" />
|
||||
<text text-anchor="start" x="3250.5" y="-2250.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3248.5,-2328.27 3248.5,-2347.27 3380.5,-2347.27 3380.5,-2328.27 3248.5,-2328.27" />
|
||||
<text text-anchor="start" x="3250.5" y="-2335.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.RegistrarPoc
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3380.5,-2243.27 3380.5,-2262.27 3454.5,-2262.27 3454.5,-2243.27 3380.5,-2243.27" />
|
||||
<text text-anchor="start" x="3415.5" y="-2249.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3380.5,-2328.27 3380.5,-2347.27 3454.5,-2347.27 3454.5,-2328.27 3380.5,-2328.27" />
|
||||
<text text-anchor="start" x="3415.5" y="-2334.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3250.5" y="-2231.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3250.5" y="-2316.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
email_address
|
||||
</text>
|
||||
<text text-anchor="start" x="3361.5" y="-2230.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3361.5" y="-2315.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3382.5" y="-2230.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3382.5" y="-2315.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3250.5" y="-2211.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3250.5" y="-2296.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
gae_user_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3361.5" y="-2211.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3361.5" y="-2296.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3382.5" y="-2211.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3382.5" y="-2296.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text
|
||||
</text>
|
||||
<text text-anchor="start" x="3250.5" y="-2193.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3250.5" y="-2278.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
registrar_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3361.5" y="-2192.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3361.5" y="-2277.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3382.5" y="-2192.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3382.5" y="-2277.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3247.5,-2185.27 3247.5,-2263.27 3455.5,-2263.27 3455.5,-2185.27 3247.5,-2185.27" />
|
||||
<polygon fill="none" stroke="#888888" points="3247.5,-2270.27 3247.5,-2348.27 3455.5,-2348.27 3455.5,-2270.27 3247.5,-2270.27" />
|
||||
</g> <!-- registrylock_ac88663e -->
|
||||
<g id="node27" class="node">
|
||||
<g id="node28" class="node">
|
||||
<title>registrylock_ac88663e</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3229.5,-2404.27 3229.5,-2423.27 3363.5,-2423.27 3363.5,-2404.27 3229.5,-2404.27" />
|
||||
<text text-anchor="start" x="3231.5" y="-2411.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3229.5,-2489.27 3229.5,-2508.27 3363.5,-2508.27 3363.5,-2489.27 3229.5,-2489.27" />
|
||||
<text text-anchor="start" x="3231.5" y="-2496.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.RegistryLock
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3363.5,-2404.27 3363.5,-2423.27 3473.5,-2423.27 3473.5,-2404.27 3363.5,-2404.27" />
|
||||
<text text-anchor="start" x="3434.5" y="-2410.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3363.5,-2489.27 3363.5,-2508.27 3473.5,-2508.27 3473.5,-2489.27 3363.5,-2489.27" />
|
||||
<text text-anchor="start" x="3434.5" y="-2495.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3231.5" y="-2392.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3231.5" y="-2477.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
revision_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3350.5" y="-2391.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3350.5" y="-2476.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3365.5" y="-2391.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3365.5" y="-2476.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
bigserial not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3350.5" y="-2372.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3350.5" y="-2457.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3365.5" y="-2372.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3365.5" y="-2457.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
auto-incremented
|
||||
</text>
|
||||
<text text-anchor="start" x="3231.5" y="-2353.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3231.5" y="-2438.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
registrar_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3350.5" y="-2353.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3350.5" y="-2438.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3365.5" y="-2353.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3365.5" y="-2438.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3231.5" y="-2334.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3231.5" y="-2419.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
repo_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3350.5" y="-2334.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3350.5" y="-2419.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3365.5" y="-2334.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3365.5" y="-2419.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3231.5" y="-2315.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3231.5" y="-2400.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
verification_code
|
||||
</text>
|
||||
<text text-anchor="start" x="3350.5" y="-2315.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3350.5" y="-2400.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3365.5" y="-2315.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3365.5" y="-2400.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3231.5" y="-2296.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3231.5" y="-2381.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
relock_revision_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3350.5" y="-2296.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3350.5" y="-2381.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3365.5" y="-2296.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3365.5" y="-2381.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
int8
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3228.5,-2289.77 3228.5,-2424.77 3474.5,-2424.77 3474.5,-2289.77 3228.5,-2289.77" />
|
||||
<polygon fill="none" stroke="#888888" points="3228.5,-2374.77 3228.5,-2509.77 3474.5,-2509.77 3474.5,-2374.77 3228.5,-2374.77" />
|
||||
</g> <!-- registrylock_ac88663e->registrylock_ac88663e -->
|
||||
<g id="edge60" class="edge">
|
||||
<title>registrylock_ac88663e:w->registrylock_ac88663e:e</title>
|
||||
<path fill="none" stroke="black" d="M3213.75,-2308.27C3160.79,-2347.62 3175.25,-2446.77 3351.5,-2446.77 3534.5,-2446.77 3543.08,-2427.09 3482.87,-2399.41" />
|
||||
<polygon fill="black" stroke="black" points="3220.82,-2304.24 3231.73,-2303.18 3225.16,-2301.75 3229.5,-2299.27 3229.5,-2299.27 3229.5,-2299.27 3225.16,-2301.75 3227.27,-2295.37 3220.82,-2304.24 3220.82,-2304.24" />
|
||||
<ellipse fill="none" stroke="black" cx="3217.35" cy="-2306.22" rx="4" ry="4" />
|
||||
<polygon fill="black" stroke="black" points="3472.39,-2400.25 3476.44,-2391.1 3478.26,-2391.91 3474.22,-2401.06 3472.39,-2400.25" />
|
||||
<polyline fill="none" stroke="black" points="3473.5,-2395.27 3478.07,-2397.29 " />
|
||||
<polygon fill="black" stroke="black" points="3476.97,-2402.27 3481.01,-2393.12 3482.84,-2393.93 3478.8,-2403.08 3476.97,-2402.27" />
|
||||
<polyline fill="none" stroke="black" points="3478.07,-2397.29 3482.65,-2399.31 " />
|
||||
<text text-anchor="start" x="3270" y="-2450.57" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<path fill="none" stroke="black" d="M3213.75,-2393.27C3160.79,-2432.62 3175.25,-2531.77 3351.5,-2531.77 3534.5,-2531.77 3543.08,-2512.09 3482.87,-2484.41" />
|
||||
<polygon fill="black" stroke="black" points="3220.82,-2389.24 3231.73,-2388.18 3225.16,-2386.75 3229.5,-2384.27 3229.5,-2384.27 3229.5,-2384.27 3225.16,-2386.75 3227.27,-2380.37 3220.82,-2389.24 3220.82,-2389.24" />
|
||||
<ellipse fill="none" stroke="black" cx="3217.35" cy="-2391.22" rx="4" ry="4" />
|
||||
<polygon fill="black" stroke="black" points="3472.39,-2485.25 3476.44,-2476.1 3478.26,-2476.91 3474.22,-2486.06 3472.39,-2485.25" />
|
||||
<polyline fill="none" stroke="black" points="3473.5,-2480.27 3478.07,-2482.29 " />
|
||||
<polygon fill="black" stroke="black" points="3476.97,-2487.27 3481.01,-2478.12 3482.84,-2478.93 3478.8,-2488.08 3476.97,-2487.27" />
|
||||
<polyline fill="none" stroke="black" points="3478.07,-2482.29 3482.65,-2484.31 " />
|
||||
<text text-anchor="start" x="3270" y="-2535.57" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
fk2lhcwpxlnqijr96irylrh1707
|
||||
</text>
|
||||
</g> <!-- reservedentry_1a7b8520 -->
|
||||
<g id="node28" class="node">
|
||||
<g id="node29" class="node">
|
||||
<title>reservedentry_1a7b8520</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3243.5,-2522.27 3243.5,-2541.27 3386.5,-2541.27 3386.5,-2522.27 3243.5,-2522.27" />
|
||||
<text text-anchor="start" x="3245.5" y="-2529.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3243.5,-2607.27 3243.5,-2626.27 3386.5,-2626.27 3386.5,-2607.27 3243.5,-2607.27" />
|
||||
<text text-anchor="start" x="3245.5" y="-2614.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.ReservedEntry
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3386.5,-2522.27 3386.5,-2541.27 3460.5,-2541.27 3460.5,-2522.27 3386.5,-2522.27" />
|
||||
<text text-anchor="start" x="3421.5" y="-2528.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3386.5,-2607.27 3386.5,-2626.27 3460.5,-2626.27 3460.5,-2607.27 3386.5,-2607.27" />
|
||||
<text text-anchor="start" x="3421.5" y="-2613.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3245.5" y="-2510.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3245.5" y="-2595.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
revision_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3358.5" y="-2509.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3358.5" y="-2594.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3388.5" y="-2509.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3388.5" y="-2594.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
int8 not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3245.5" y="-2491.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3245.5" y="-2576.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
domain_label
|
||||
</text>
|
||||
<text text-anchor="start" x="3358.5" y="-2490.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3358.5" y="-2575.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3388.5" y="-2490.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3388.5" y="-2575.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3242,-2483.77 3242,-2542.77 3461,-2542.77 3461,-2483.77 3242,-2483.77" />
|
||||
<polygon fill="none" stroke="#888888" points="3242,-2568.77 3242,-2627.77 3461,-2627.77 3461,-2568.77 3242,-2568.77" />
|
||||
</g> <!-- reservedlist_b97c3f1c -->
|
||||
<g id="node29" class="node">
|
||||
<g id="node30" class="node">
|
||||
<title>reservedlist_b97c3f1c</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2655,-2521.27 2655,-2540.27 2788,-2540.27 2788,-2521.27 2655,-2521.27" />
|
||||
<text text-anchor="start" x="2657" y="-2528.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2655,-2606.27 2655,-2625.27 2788,-2625.27 2788,-2606.27 2655,-2606.27" />
|
||||
<text text-anchor="start" x="2657" y="-2613.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.ReservedList
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2788,-2521.27 2788,-2540.27 2898,-2540.27 2898,-2521.27 2788,-2521.27" />
|
||||
<text text-anchor="start" x="2859" y="-2527.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2788,-2606.27 2788,-2625.27 2898,-2625.27 2898,-2606.27 2788,-2606.27" />
|
||||
<text text-anchor="start" x="2859" y="-2612.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="2657" y="-2509.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="2657" y="-2594.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
revision_id
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2508.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2757" y="-2593.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2790" y="-2508.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2790" y="-2593.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
bigserial not null
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2489.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2757" y="-2574.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2790" y="-2489.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2790" y="-2574.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
auto-incremented
|
||||
</text>
|
||||
<text text-anchor="start" x="2657" y="-2470.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2657" y="-2555.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
name
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2470.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2757" y="-2555.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2790" y="-2470.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2790" y="-2555.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="2653.5,-2463.27 2653.5,-2541.27 2898.5,-2541.27 2898.5,-2463.27 2653.5,-2463.27" />
|
||||
<polygon fill="none" stroke="#888888" points="2653.5,-2548.27 2653.5,-2626.27 2898.5,-2626.27 2898.5,-2548.27 2653.5,-2548.27" />
|
||||
</g> <!-- reservedentry_1a7b8520->reservedlist_b97c3f1c -->
|
||||
<g id="edge61" class="edge">
|
||||
<title>reservedentry_1a7b8520:w->reservedlist_b97c3f1c:e</title>
|
||||
<path fill="none" stroke="black" d="M3224.28,-2512.27C3089.74,-2512.27 3047.38,-2512.27 2909.12,-2512.27" />
|
||||
<polygon fill="black" stroke="black" points="3232.5,-2512.27 3242.5,-2516.77 3237.5,-2512.27 3242.5,-2512.27 3242.5,-2512.27 3242.5,-2512.27 3237.5,-2512.27 3242.5,-2507.77 3232.5,-2512.27 3232.5,-2512.27" />
|
||||
<ellipse fill="none" stroke="black" cx="3228.5" cy="-2512.27" rx="4" ry="4" />
|
||||
<polygon fill="black" stroke="black" points="2900,-2517.27 2900,-2507.27 2902,-2507.27 2902,-2517.27 2900,-2517.27" />
|
||||
<polyline fill="none" stroke="black" points="2899,-2512.27 2904,-2512.27 " />
|
||||
<polygon fill="black" stroke="black" points="2905,-2517.27 2905,-2507.27 2907,-2507.27 2907,-2517.27 2905,-2517.27" />
|
||||
<polyline fill="none" stroke="black" points="2904,-2512.27 2909,-2512.27 " />
|
||||
<text text-anchor="start" x="2978" y="-2516.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<path fill="none" stroke="black" d="M3224.28,-2597.27C3089.74,-2597.27 3047.38,-2597.27 2909.12,-2597.27" />
|
||||
<polygon fill="black" stroke="black" points="3232.5,-2597.27 3242.5,-2601.77 3237.5,-2597.27 3242.5,-2597.27 3242.5,-2597.27 3242.5,-2597.27 3237.5,-2597.27 3242.5,-2592.77 3232.5,-2597.27 3232.5,-2597.27" />
|
||||
<ellipse fill="none" stroke="black" cx="3228.5" cy="-2597.27" rx="4" ry="4" />
|
||||
<polygon fill="black" stroke="black" points="2900,-2602.27 2900,-2592.27 2902,-2592.27 2902,-2602.27 2900,-2602.27" />
|
||||
<polyline fill="none" stroke="black" points="2899,-2597.27 2904,-2597.27 " />
|
||||
<polygon fill="black" stroke="black" points="2905,-2602.27 2905,-2592.27 2907,-2592.27 2907,-2602.27 2905,-2602.27" />
|
||||
<polyline fill="none" stroke="black" points="2904,-2597.27 2909,-2597.27 " />
|
||||
<text text-anchor="start" x="2978" y="-2601.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
fkgq03rk0bt1hb915dnyvd3vnfc
|
||||
</text>
|
||||
</g> <!-- signedmarkrevocationentry_99c39721 -->
|
||||
<g id="node30" class="node">
|
||||
<g id="node31" class="node">
|
||||
<title>signedmarkrevocationentry_99c39721</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3198.5,-2607.27 3198.5,-2626.27 3431.5,-2626.27 3431.5,-2607.27 3198.5,-2607.27" />
|
||||
<text text-anchor="start" x="3200.5" y="-2614.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3198.5,-2692.27 3198.5,-2711.27 3431.5,-2711.27 3431.5,-2692.27 3198.5,-2692.27" />
|
||||
<text text-anchor="start" x="3200.5" y="-2699.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.SignedMarkRevocationEntry
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3431.5,-2607.27 3431.5,-2626.27 3505.5,-2626.27 3505.5,-2607.27 3431.5,-2607.27" />
|
||||
<text text-anchor="start" x="3466.5" y="-2613.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3431.5,-2692.27 3431.5,-2711.27 3505.5,-2711.27 3505.5,-2692.27 3431.5,-2692.27" />
|
||||
<text text-anchor="start" x="3466.5" y="-2698.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3200.5" y="-2595.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3200.5" y="-2680.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
revision_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3350.5" y="-2594.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3350.5" y="-2679.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3433.5" y="-2594.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3433.5" y="-2679.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
int8 not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3200.5" y="-2576.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3200.5" y="-2661.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
smd_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3350.5" y="-2575.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3350.5" y="-2660.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3433.5" y="-2575.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3433.5" y="-2660.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3197,-2568.77 3197,-2627.77 3506,-2627.77 3506,-2568.77 3197,-2568.77" />
|
||||
<polygon fill="none" stroke="#888888" points="3197,-2653.77 3197,-2712.77 3506,-2712.77 3506,-2653.77 3197,-2653.77" />
|
||||
</g> <!-- signedmarkrevocationlist_c5d968fb -->
|
||||
<g id="node31" class="node">
|
||||
<g id="node32" class="node">
|
||||
<title>signedmarkrevocationlist_c5d968fb</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2610,-2607.27 2610,-2626.27 2832,-2626.27 2832,-2607.27 2610,-2607.27" />
|
||||
<text text-anchor="start" x="2612" y="-2614.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2610,-2692.27 2610,-2711.27 2832,-2711.27 2832,-2692.27 2610,-2692.27" />
|
||||
<text text-anchor="start" x="2612" y="-2699.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.SignedMarkRevocationList
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2832,-2607.27 2832,-2626.27 2942,-2626.27 2942,-2607.27 2832,-2607.27" />
|
||||
<text text-anchor="start" x="2903" y="-2613.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="2832,-2692.27 2832,-2711.27 2942,-2711.27 2942,-2692.27 2832,-2692.27" />
|
||||
<text text-anchor="start" x="2903" y="-2698.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="2612" y="-2595.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="2612" y="-2680.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
revision_id
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2594.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2757" y="-2679.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2834" y="-2594.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2834" y="-2679.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
bigserial not null
|
||||
</text>
|
||||
<text text-anchor="start" x="2757" y="-2575.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2757" y="-2660.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="2834" y="-2575.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="2834" y="-2660.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
auto-incremented
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="2609,-2568.77 2609,-2627.77 2943,-2627.77 2943,-2568.77 2609,-2568.77" />
|
||||
<polygon fill="none" stroke="#888888" points="2609,-2653.77 2609,-2712.77 2943,-2712.77 2943,-2653.77 2609,-2653.77" />
|
||||
</g> <!-- signedmarkrevocationentry_99c39721->signedmarkrevocationlist_c5d968fb -->
|
||||
<g id="edge62" class="edge">
|
||||
<title>signedmarkrevocationentry_99c39721:w->signedmarkrevocationlist_c5d968fb:e</title>
|
||||
<path fill="none" stroke="black" d="M3179.37,-2597.27C3084.15,-2597.27 3051.89,-2597.27 2953.1,-2597.27" />
|
||||
<polygon fill="black" stroke="black" points="3187.5,-2597.27 3197.5,-2601.77 3192.5,-2597.27 3197.5,-2597.27 3197.5,-2597.27 3197.5,-2597.27 3192.5,-2597.27 3197.5,-2592.77 3187.5,-2597.27 3187.5,-2597.27" />
|
||||
<ellipse fill="none" stroke="black" cx="3183.5" cy="-2597.27" rx="4" ry="4" />
|
||||
<polygon fill="black" stroke="black" points="2944,-2602.27 2944,-2592.27 2946,-2592.27 2946,-2602.27 2944,-2602.27" />
|
||||
<polyline fill="none" stroke="black" points="2943,-2597.27 2948,-2597.27 " />
|
||||
<polygon fill="black" stroke="black" points="2949,-2602.27 2949,-2592.27 2951,-2592.27 2951,-2602.27 2949,-2602.27" />
|
||||
<polyline fill="none" stroke="black" points="2948,-2597.27 2953,-2597.27 " />
|
||||
<text text-anchor="start" x="2987" y="-2601.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<path fill="none" stroke="black" d="M3179.37,-2682.27C3084.15,-2682.27 3051.89,-2682.27 2953.1,-2682.27" />
|
||||
<polygon fill="black" stroke="black" points="3187.5,-2682.27 3197.5,-2686.77 3192.5,-2682.27 3197.5,-2682.27 3197.5,-2682.27 3197.5,-2682.27 3192.5,-2682.27 3197.5,-2677.77 3187.5,-2682.27 3187.5,-2682.27" />
|
||||
<ellipse fill="none" stroke="black" cx="3183.5" cy="-2682.27" rx="4" ry="4" />
|
||||
<polygon fill="black" stroke="black" points="2944,-2687.27 2944,-2677.27 2946,-2677.27 2946,-2687.27 2944,-2687.27" />
|
||||
<polyline fill="none" stroke="black" points="2943,-2682.27 2948,-2682.27 " />
|
||||
<polygon fill="black" stroke="black" points="2949,-2687.27 2949,-2677.27 2951,-2677.27 2951,-2687.27 2949,-2687.27" />
|
||||
<polyline fill="none" stroke="black" points="2948,-2682.27 2953,-2682.27 " />
|
||||
<text text-anchor="start" x="2987" y="-2686.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
fk5ivlhvs3121yx2li5tqh54u4
|
||||
</text>
|
||||
</g> <!-- spec11threatmatch_a61228a6 -->
|
||||
<g id="node32" class="node">
|
||||
<g id="node33" class="node">
|
||||
<title>spec11threatmatch_a61228a6</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3208.5,-2750.27 3208.5,-2769.27 3384.5,-2769.27 3384.5,-2750.27 3208.5,-2750.27" />
|
||||
<text text-anchor="start" x="3210.5" y="-2757.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3208.5,-2835.27 3208.5,-2854.27 3384.5,-2854.27 3384.5,-2835.27 3208.5,-2835.27" />
|
||||
<text text-anchor="start" x="3210.5" y="-2842.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.Spec11ThreatMatch
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3384.5,-2750.27 3384.5,-2769.27 3494.5,-2769.27 3494.5,-2750.27 3384.5,-2750.27" />
|
||||
<text text-anchor="start" x="3455.5" y="-2756.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3384.5,-2835.27 3384.5,-2854.27 3494.5,-2854.27 3494.5,-2835.27 3384.5,-2835.27" />
|
||||
<text text-anchor="start" x="3455.5" y="-2841.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3210.5" y="-2738.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3210.5" y="-2823.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
id
|
||||
</text>
|
||||
<text text-anchor="start" x="3331.5" y="-2737.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3331.5" y="-2822.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3386.5" y="-2737.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3386.5" y="-2822.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
bigserial not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3331.5" y="-2718.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3331.5" y="-2803.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3386.5" y="-2718.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3386.5" y="-2803.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
auto-incremented
|
||||
</text>
|
||||
<text text-anchor="start" x="3210.5" y="-2699.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3210.5" y="-2784.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
check_date
|
||||
</text>
|
||||
<text text-anchor="start" x="3331.5" y="-2699.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3331.5" y="-2784.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3386.5" y="-2699.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3386.5" y="-2784.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
date not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3210.5" y="-2680.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3210.5" y="-2765.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
registrar_id
|
||||
</text>
|
||||
<text text-anchor="start" x="3331.5" y="-2680.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3331.5" y="-2765.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3386.5" y="-2680.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3386.5" y="-2765.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3210.5" y="-2661.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3210.5" y="-2746.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
tld
|
||||
</text>
|
||||
<text text-anchor="start" x="3331.5" y="-2661.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3331.5" y="-2746.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3386.5" y="-2661.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3386.5" y="-2746.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3207.5,-2654.27 3207.5,-2770.27 3495.5,-2770.27 3495.5,-2654.27 3207.5,-2654.27" />
|
||||
<polygon fill="none" stroke="#888888" points="3207.5,-2739.27 3207.5,-2855.27 3495.5,-2855.27 3495.5,-2739.27 3207.5,-2739.27" />
|
||||
</g> <!-- tld_f1fa57e2 -->
|
||||
<g id="node33" class="node">
|
||||
<g id="node34" class="node">
|
||||
<title>tld_f1fa57e2</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3278.5,-2816.27 3278.5,-2835.27 3351.5,-2835.27 3351.5,-2816.27 3278.5,-2816.27" />
|
||||
<text text-anchor="start" x="3280.5" y="-2823.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3278.5,-2901.27 3278.5,-2920.27 3351.5,-2920.27 3351.5,-2901.27 3278.5,-2901.27" />
|
||||
<text text-anchor="start" x="3280.5" y="-2908.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.Tld
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3351.5,-2816.27 3351.5,-2835.27 3425.5,-2835.27 3425.5,-2816.27 3351.5,-2816.27" />
|
||||
<text text-anchor="start" x="3386.5" y="-2822.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3351.5,-2901.27 3351.5,-2920.27 3425.5,-2920.27 3425.5,-2901.27 3351.5,-2901.27" />
|
||||
<text text-anchor="start" x="3386.5" y="-2907.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3280.5" y="-2804.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3280.5" y="-2889.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
tld_name
|
||||
</text>
|
||||
<text text-anchor="start" x="3345.5" y="-2803.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3345.5" y="-2888.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3353.5" y="-2803.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3353.5" y="-2888.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
text not null
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3277,-2796.27 3277,-2836.27 3426,-2836.27 3426,-2796.27 3277,-2796.27" />
|
||||
<polygon fill="none" stroke="#888888" points="3277,-2881.27 3277,-2921.27 3426,-2921.27 3426,-2881.27 3277,-2881.27" />
|
||||
</g> <!-- transaction_d50389d4 -->
|
||||
<g id="node34" class="node">
|
||||
<g id="node35" class="node">
|
||||
<title>transaction_d50389d4</title>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3234.5,-2901.27 3234.5,-2920.27 3359.5,-2920.27 3359.5,-2901.27 3234.5,-2901.27" />
|
||||
<text text-anchor="start" x="3236.5" y="-2908.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3234.5,-2986.27 3234.5,-3005.27 3359.5,-3005.27 3359.5,-2986.27 3234.5,-2986.27" />
|
||||
<text text-anchor="start" x="3236.5" y="-2993.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
public.Transaction
|
||||
</text>
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3359.5,-2901.27 3359.5,-2920.27 3469.5,-2920.27 3469.5,-2901.27 3359.5,-2901.27" />
|
||||
<text text-anchor="start" x="3430.5" y="-2907.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<polygon fill="#ebcef2" stroke="transparent" points="3359.5,-2986.27 3359.5,-3005.27 3469.5,-3005.27 3469.5,-2986.27 3359.5,-2986.27" />
|
||||
<text text-anchor="start" x="3430.5" y="-2992.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
[table]
|
||||
</text>
|
||||
<text text-anchor="start" x="3236.5" y="-2889.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
<text text-anchor="start" x="3236.5" y="-2974.07" font-family="Helvetica,sans-Serif" font-weight="bold" font-style="italic" font-size="14.00">
|
||||
id
|
||||
</text>
|
||||
<text text-anchor="start" x="3303.5" y="-2888.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3303.5" y="-2973.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3361.5" y="-2888.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3361.5" y="-2973.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
bigserial not null
|
||||
</text>
|
||||
<text text-anchor="start" x="3303.5" y="-2869.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3303.5" y="-2954.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
</text>
|
||||
<text text-anchor="start" x="3361.5" y="-2869.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
<text text-anchor="start" x="3361.5" y="-2954.07" font-family="Helvetica,sans-Serif" font-size="14.00">
|
||||
auto-incremented
|
||||
</text>
|
||||
<polygon fill="none" stroke="#888888" points="3233,-2862.77 3233,-2921.77 3470,-2921.77 3470,-2862.77 3233,-2862.77" />
|
||||
<polygon fill="none" stroke="#888888" points="3233,-2947.77 3233,-3006.77 3470,-3006.77 3470,-2947.77 3233,-2947.77" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
@ -4673,6 +4701,41 @@ td.section {
|
|||
</tbody>
|
||||
</table>
|
||||
<p> </p>
|
||||
<table>
|
||||
<caption style="background-color: #EBCEF2;"> <span id="kmssecret_f3b28857" class="caption_name">public.KmsSecret</span> <span class="caption_description">[table]</span>
|
||||
</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="spacer"></td>
|
||||
<td class="minwidth"><b><i>revision_id</i></b></td>
|
||||
<td class="minwidth">int8 not null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"></td>
|
||||
<td class="minwidth">secret_name</td>
|
||||
<td class="minwidth">text not null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" class="section">Primary Key</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="name">KmsSecret_pkey</td>
|
||||
<td class="description right">[primary key]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="spacer"></td>
|
||||
<td class="minwidth">revision_id</td>
|
||||
<td class="minwidth"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p> </p>
|
||||
<table>
|
||||
<caption style="background-color: #EBCEF2;"> <span id="lock_f21d4861" class="caption_name">public.Lock</span> <span class="caption_description">[table]</span>
|
||||
</caption>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -68,3 +68,4 @@ V67__grace_period_history_ids.sql
|
|||
V68__make_reserved_list_nullable_in_registry.sql
|
||||
V69__change_primary_key_and_add_history_table_for_delegation_signer.sql
|
||||
V70__signed_mark_revocation_list.sql
|
||||
V71__create_kms_secret.sql
|
||||
|
|
24
db/src/main/resources/sql/flyway/V71__create_kms_secret.sql
Normal file
24
db/src/main/resources/sql/flyway/V71__create_kms_secret.sql
Normal file
|
@ -0,0 +1,24 @@
|
|||
-- 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.
|
||||
|
||||
CREATE TABLE "KmsSecret" (
|
||||
revision_id int8 NOT NULL,
|
||||
creation_time timestamptz NOT NULL,
|
||||
encrypted_value text NOT NULL,
|
||||
crypto_key_version_name text NOT NULL,
|
||||
secret_name text NOT NULL,
|
||||
PRIMARY KEY (revision_id)
|
||||
);
|
||||
|
||||
CREATE INDEX IDXli9nil3s4t4p21i3xluvvilb7 ON "KmsSecret" (secret_name);
|
|
@ -452,6 +452,15 @@
|
|||
primary key (host_repo_id, history_revision_id)
|
||||
);
|
||||
|
||||
create table "KmsSecret" (
|
||||
revision_id int8 not null,
|
||||
creation_time timestamptz not null,
|
||||
encrypted_value text not null,
|
||||
crypto_key_version_name text not null,
|
||||
secret_name text not null,
|
||||
primary key (revision_id)
|
||||
);
|
||||
|
||||
create table "Lock" (
|
||||
resource_name text not null,
|
||||
tld text not null,
|
||||
|
@ -727,6 +736,7 @@ create index IDX1iy7njgb7wjmj9piml4l2g0qi on "HostHistory" (history_registrar_id
|
|||
create index IDXkkwbwcwvrdkkqothkiye4jiff on "HostHistory" (host_name);
|
||||
create index IDXknk8gmj7s47q56cwpa6rmpt5l on "HostHistory" (history_type);
|
||||
create index IDX67qwkjtlq5q8dv6egtrtnhqi7 on "HostHistory" (history_modification_time);
|
||||
create index IDXli9nil3s4t4p21i3xluvvilb7 on "KmsSecret" (secret_name);
|
||||
create index IDXe7wu46c7wpvfmfnj4565abibp on "PollMessage" (registrar_id);
|
||||
create index IDXaydgox62uno9qx8cjlj5lauye on "PollMessage" (event_time);
|
||||
create index premiumlist_name_idx on "PremiumList" (name);
|
||||
|
|
|
@ -590,6 +590,19 @@ CREATE TABLE public."HostHistory" (
|
|||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: KmsSecret; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public."KmsSecret" (
|
||||
revision_id bigint NOT NULL,
|
||||
creation_time timestamp with time zone NOT NULL,
|
||||
encrypted_value text NOT NULL,
|
||||
crypto_key_version_name text NOT NULL,
|
||||
secret_name text NOT NULL
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: Lock; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -1193,6 +1206,14 @@ ALTER TABLE ONLY public."Host"
|
|||
ADD CONSTRAINT "Host_pkey" PRIMARY KEY (repo_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: KmsSecret KmsSecret_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public."KmsSecret"
|
||||
ADD CONSTRAINT "KmsSecret_pkey" PRIMARY KEY (revision_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: Lock Lock_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -1538,6 +1559,13 @@ CREATE INDEX idxkjt9yaq92876dstimd93hwckh ON public."Domain" USING btree (curren
|
|||
CREATE INDEX idxknk8gmj7s47q56cwpa6rmpt5l ON public."HostHistory" USING btree (history_type);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idxli9nil3s4t4p21i3xluvvilb7; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX idxli9nil3s4t4p21i3xluvvilb7 ON public."KmsSecret" USING btree (secret_name);
|
||||
|
||||
|
||||
--
|
||||
-- Name: idxlrq7v63pc21uoh3auq6eybyhl; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue