SQLStore: New store without side-effects (#82657)

This commit is contained in:
Marcus Efraimsson 2024-02-15 14:03:55 -04:00 committed by GitHub
parent 23a3fddca4
commit b894d26cbc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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{