fix: set repo_id for migrated attachment (#12357)

Was not required until ce0a376723 added extra checks which did require `repo_id` of the attachment to be set correctly.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/12357
Reviewed-by: Mathieu Fenniak <mfenniak@noreply.codeberg.org>
This commit is contained in:
Gusted 2026-05-01 01:24:32 +02:00 committed by Gusted
parent 3e74c5224f
commit 75cfa31af5
2 changed files with 4 additions and 0 deletions

View file

@ -608,6 +608,7 @@ func InsertReleases(ctx context.Context, rels ...*Release) error {
if len(rel.Attachments) > 0 { if len(rel.Attachments) > 0 {
for i := range rel.Attachments { for i := range rel.Attachments {
rel.Attachments[i].ReleaseID = rel.ID rel.Attachments[i].ReleaseID = rel.ID
rel.Attachments[i].RepoID = rel.RepoID
} }
if _, err := sess.NoAutoTime().Insert(rel.Attachments); err != nil { if _, err := sess.NoAutoTime().Insert(rel.Attachments); err != nil {

View file

@ -20,11 +20,14 @@ func TestMigrate_InsertReleases(t *testing.T) {
UUID: "a0eebc91-9c0c-4ef7-bb6e-6bb9bd380a12", UUID: "a0eebc91-9c0c-4ef7-bb6e-6bb9bd380a12",
} }
r := &Release{ r := &Release{
RepoID: 1001,
Attachments: []*Attachment{a}, Attachments: []*Attachment{a},
} }
err := InsertReleases(db.DefaultContext, r) err := InsertReleases(db.DefaultContext, r)
require.NoError(t, err) require.NoError(t, err)
assert.EqualValues(t, 1001, unittest.AssertExistsAndLoadBean(t, &Attachment{UUID: "a0eebc91-9c0c-4ef7-bb6e-6bb9bd380a12"}).RepoID)
} }
func TestReleaseLoadRepo(t *testing.T) { func TestReleaseLoadRepo(t *testing.T) {