From b894d26cbc549700fb363047e3a84529374e0786 Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Thu, 15 Feb 2024 14:03:55 -0400 Subject: [PATCH] SQLStore: New store without side-effects (#82657) --- pkg/services/sqlstore/sqlstore.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkg/services/sqlstore/sqlstore.go b/pkg/services/sqlstore/sqlstore.go index a99603c40ad..9cc3c1b51b8 100644 --- a/pkg/services/sqlstore/sqlstore.go +++ b/pkg/services/sqlstore/sqlstore.go @@ -95,6 +95,22 @@ func ProvideServiceForTests(t sqlutil.ITestDB, cfg *setting.Cfg, features featur return initTestDB(t, cfg, features, migrations, InitTestDBOpt{EnsureDefaultOrgAndUser: true}) } +// NewSQLStoreWithoutSideEffects creates a new *SQLStore without side-effects such as +// running database migrations and/or ensuring main org and admin user exists. +func NewSQLStoreWithoutSideEffects(cfg *setting.Cfg, + features featuremgmt.FeatureToggles, + bus bus.Bus, tracer tracing.Tracer) (*SQLStore, error) { + s, err := newSQLStore(cfg, nil, nil, bus, tracer) + if err != nil { + return nil, err + } + + s.features = features + s.tracer = tracer + + return s, nil +} + func newSQLStore(cfg *setting.Cfg, engine *xorm.Engine, migrations registry.DatabaseMigrator, bus bus.Bus, tracer tracing.Tracer, opts ...InitTestDBOpt) (*SQLStore, error) { ss := &SQLStore{