1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-09-30 19:22:11 +00:00

feat: multi db support

This commit is contained in:
haras 2025-09-14 08:50:42 +02:00
parent 10b2b36895
commit fe6c000897
25 changed files with 2612 additions and 1433 deletions

View file

@ -168,7 +168,13 @@ func Parse() {
printErrorAndExit(fmt.Errorf("unable to generate javascript bundle: %v", err))
}
kind, err := database.DetectKind(config.Opts.DatabaseURL())
if err != nil {
printErrorAndExit(fmt.Errorf("unable to parse database kind: %v", err))
}
db, err := database.NewConnectionPool(
kind,
config.Opts.DatabaseURL(),
config.Opts.DatabaseMinConns(),
config.Opts.DatabaseMaxConns(),
@ -179,14 +185,14 @@ func Parse() {
}
defer db.Close()
store := storage.NewStorage(db)
store := storage.NewStorage(kind, db)
if err := store.Ping(); err != nil {
printErrorAndExit(err)
}
if flagMigrate {
if err := database.Migrate(db); err != nil {
if err := database.Migrate(kind, db); err != nil {
printErrorAndExit(err)
}
return
@ -228,12 +234,12 @@ func Parse() {
// Run migrations and start the daemon.
if config.Opts.RunMigrations() {
if err := database.Migrate(db); err != nil {
if err := database.Migrate(kind, db); err != nil {
printErrorAndExit(err)
}
}
if err := database.IsSchemaUpToDate(db); err != nil {
if err := database.IsSchemaUpToDate(kind, db); err != nil {
printErrorAndExit(err)
}