diff options
Diffstat (limited to 'internal/db/bundb/migrations/20210816411877_struct_validation.go')
-rw-r--r-- | internal/db/bundb/migrations/20210816411877_struct_validation.go | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/internal/db/bundb/migrations/20210816411877_struct_validation.go b/internal/db/bundb/migrations/20210816411877_struct_validation.go index 660d94517..15d2d7659 100644 --- a/internal/db/bundb/migrations/20210816411877_struct_validation.go +++ b/internal/db/bundb/migrations/20210816411877_struct_validation.go @@ -21,16 +21,45 @@ package migrations import ( "context" - "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + gtsmodel "github.com/superseriousbusiness/gotosocial/internal/db/bundb/migrations/20210816411877_struct_validation" "github.com/uptrace/bun" ) func init() { + + var models []interface{} = []interface{}{ + >smodel.Account{}, + >smodel.Application{}, + >smodel.Block{}, + >smodel.DomainBlock{}, + >smodel.EmailDomainBlock{}, + >smodel.Follow{}, + >smodel.FollowRequest{}, + >smodel.MediaAttachment{}, + >smodel.Mention{}, + >smodel.Status{}, + >smodel.StatusToEmoji{}, + >smodel.StatusToTag{}, + >smodel.StatusFave{}, + >smodel.StatusBookmark{}, + >smodel.StatusMute{}, + >smodel.Tag{}, + >smodel.User{}, + >smodel.Emoji{}, + >smodel.Instance{}, + >smodel.Notification{}, + >smodel.RouterSession{}, + >smodel.Token{}, + >smodel.Client{}, + } + up := func(ctx context.Context, db *bun.DB) error { return db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error { - _, err := tx.NewCreateTable().Model(>smodel.Account{}).IfNotExists().Exec(ctx) - if err != nil { - return err + for _, m := range models { + _, err := tx.NewCreateTable().Model(m).IfNotExists().Exec(ctx) + if err != nil { + return err + } } return nil |