feat: add RegisteredTableNames helper to db package

This commit is contained in:
kolaente
2026-03-04 15:27:01 +01:00
parent 3dd2ba4aa4
commit 0a8534ded9

View File

@@ -21,6 +21,7 @@ import (
"net/url"
"os"
"path/filepath"
"reflect"
"runtime"
"strconv"
"strings"
@@ -56,6 +57,18 @@ func RegisterTables(tables []interface{}) {
registeredTables = append(registeredTables, tables...)
}
// RegisteredTableNames returns the table names of all registered Vikunja tables.
func RegisteredTableNames() []string {
mapper := x.GetTableMapper()
names := make([]string, 0, len(registeredTables)+1)
for _, bean := range registeredTables {
names = append(names, mapper.Obj2Table(reflect.Indirect(reflect.ValueOf(bean)).Type().Name()))
}
// The xormigrate migration tracking table is not registered via GetTables()
names = append(names, "migration")
return names
}
// CreateDBEngine initializes a db engine from the config
func CreateDBEngine() (engine *xorm.Engine, err error) {