From a9c19a89f2e680e49e58de76a3fb96480773f38a Mon Sep 17 00:00:00 2001 From: Gavin Mogan Date: Fri, 12 Jan 2024 03:28:25 -0800 Subject: [PATCH] Fixed: Database type when PG host contains ".db" (#4435) Previously was looking for a ".db" in the connection string, which is the typical sqlite filename. The problem is if your connection string has a .db anywhere in it, such as postgres.db.internal it'll think its a sqlite file Solution borrowed from sonarr: https://github.com/Sonarr/Sonarr/blob/develop/src/NzbDrone.Core/Datastore/Database.cs#L43 --- src/NzbDrone.Core/Datastore/Database.cs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/NzbDrone.Core/Datastore/Database.cs b/src/NzbDrone.Core/Datastore/Database.cs index e36241ef07..b743fba13f 100644 --- a/src/NzbDrone.Core/Datastore/Database.cs +++ b/src/NzbDrone.Core/Datastore/Database.cs @@ -1,5 +1,6 @@ -using System; +using System; using System.Data; +using System.Data.SQLite; using System.Text.RegularExpressions; using Dapper; using NLog; @@ -40,14 +41,7 @@ public DatabaseType DatabaseType { using (var db = _datamapperFactory()) { - if (db.ConnectionString.Contains(".db")) - { - return DatabaseType.SQLite; - } - else - { - return DatabaseType.PostgreSQL; - } + return db is SQLiteConnection ? DatabaseType.SQLite : DatabaseType.PostgreSQL; } } }