From 6cf6613540cb8a3f7876a51ee6edaa7afee69905 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 28 Mar 2023 22:55:51 +0200 Subject: [PATCH] [bugfix] Remove unique constraint on public_key (#1653) --- ...630_chore_refactoring.go => 20230328203024_migration_fix.go} | 2 +- internal/gtsmodel/account.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename internal/db/bundb/migrations/{20230328105630_chore_refactoring.go => 20230328203024_migration_fix.go} (97%) diff --git a/internal/db/bundb/migrations/20230328105630_chore_refactoring.go b/internal/db/bundb/migrations/20230328203024_migration_fix.go similarity index 97% rename from internal/db/bundb/migrations/20230328105630_chore_refactoring.go rename to internal/db/bundb/migrations/20230328203024_migration_fix.go index 3bf9d59e..4890255c 100644 --- a/internal/db/bundb/migrations/20230328105630_chore_refactoring.go +++ b/internal/db/bundb/migrations/20230328203024_migration_fix.go @@ -26,7 +26,7 @@ import ( func init() { up := func(ctx context.Context, db *bun.DB) error { - // To update unique constraint on public key, we need to migrate accounts into a new table. + // To update not null constraint on public key, we need to migrate accounts into a new table. // See section 7 here: https://www.sqlite.org/lang_altertable.html return db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error { diff --git a/internal/gtsmodel/account.go b/internal/gtsmodel/account.go index 42e4f5ea..2cf7dc9f 100644 --- a/internal/gtsmodel/account.go +++ b/internal/gtsmodel/account.go @@ -72,7 +72,7 @@ type Account struct { FeaturedCollectionURI string `validate:"required_without=Domain,omitempty,url" bun:",nullzero,unique"` // URL for getting the featured collection list of this account ActorType string `validate:"oneof=Application Group Organization Person Service" bun:",nullzero,notnull"` // What type of activitypub actor is this account? PrivateKey *rsa.PrivateKey `validate:"required_without=Domain" bun:""` // Privatekey for validating activitypub requests, will only be defined for local accounts - PublicKey *rsa.PublicKey `validate:"required" bun:",notnull,unique"` // Publickey for encoding activitypub requests, will be defined for both local and remote accounts + PublicKey *rsa.PublicKey `validate:"required" bun:",notnull"` // Publickey for encoding activitypub requests, will be defined for both local and remote accounts PublicKeyURI string `validate:"required,url" bun:",nullzero,notnull,unique"` // Web-reachable location of this account's public key SensitizedAt time.Time `validate:"-" bun:"type:timestamptz,nullzero"` // When was this account set to have all its media shown as sensitive? SilencedAt time.Time `validate:"-" bun:"type:timestamptz,nullzero"` // When was this account silenced (eg., statuses only visible to followers, not public)?