/
uzer_007
/
Rixea
Обзор
Документация
Войти
/
uzer_007
/
Rixea
Код
Запросы
0
Задачи
Вики
Пакеты
5
Релизы
2
CI/CD
Аналитика
Безопасность
master
models/db/engine_init.go
53 строки
1 KB
uzer_007
feat: первая версия Rixea
02 авг 2026, 22:16
02 авг 2026, 22:16
d4f7504
Код
Авторство
О чём код?
// Copyright 2026 Uzer_007. All rights reserved. // SPDX-License-Identifier: MIT package db import ( "context" "fmt" "gitverse.ru/uzer_007/Rixea/modules/setting" ) // InitEngine initializes the configured Reindexer client. func InitEngine(ctx context.Context) error { if !setting.Database.Type.IsReindexer() { return fmt.Errorf("database type %q is not supported: this build requires Reindexer 5.15 or newer", setting.Database.Type) } if err := initReindexerEngine(ctx); err != nil { return fmt.Errorf("failed to init Reindexer engine: %w", err) } return nil } // UnsetDefaultEngine closes the Reindexer client. func UnsetDefaultEngine() { if reindexerEngine != nil { _ = reindexerEngine.Close() reindexerEngine = nil } } // InitEngineWithMigration initializes Reindexer, reconciles all namespaces, // and runs registered document migrations. func InitEngineWithMigration(ctx context.Context) error { if err := InitEngine(ctx); err != nil { return err } if err := reindexerEngine.Migrate(ctx); err != nil { return fmt.Errorf("migrate Reindexer: %w", err) } if err := syncReindexerModels(ctx); err != nil { return fmt.Errorf("sync Reindexer models: %w", err) } if err := runReindexerDataMigrations(ctx); err != nil { return fmt.Errorf("migrate Reindexer data: %w", err) } for _, initFunc := range registeredInitFuncs { if err := initFunc(); err != nil { return fmt.Errorf("database init callback failed: %w", err) } } return nil }