Skip to content

Commit

Permalink
Fixed: Correctly handle Migration when PG Host has ".db"
Browse files Browse the repository at this point in the history
(cherry picked from commit 97ee24507f4306e3b62c3d00cd3ade6a09d1b957)
  • Loading branch information
Qstick authored and mynameisbogdan committed Dec 12, 2023
1 parent e1264d7 commit 4dbf5aa
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
16 changes: 8 additions & 8 deletions src/NzbDrone.Core/Datastore/DbFactory.cs
Expand Up @@ -68,15 +68,15 @@ public IDatabase Create(MigrationContext migrationContext)
case MigrationType.Main:
{
connectionInfo = _connectionStringFactory.MainDbConnection;
CreateMain(connectionInfo.ConnectionString, migrationContext);
CreateMain(connectionInfo.ConnectionString, migrationContext, connectionInfo.DatabaseType);

break;
}

case MigrationType.Log:
{
connectionInfo = _connectionStringFactory.LogDbConnection;
CreateLog(connectionInfo.ConnectionString, migrationContext);
CreateLog(connectionInfo.ConnectionString, migrationContext, connectionInfo.DatabaseType);

break;
}
Expand Down Expand Up @@ -108,12 +108,12 @@ public IDatabase Create(MigrationContext migrationContext)
return db;
}

private void CreateMain(string connectionString, MigrationContext migrationContext)
private void CreateMain(string connectionString, MigrationContext migrationContext, DatabaseType databaseType)
{
try
{
_restoreDatabaseService.Restore();
_migrationController.Migrate(connectionString, migrationContext);
_migrationController.Migrate(connectionString, migrationContext, databaseType);
}
catch (SQLiteException e)
{
Expand All @@ -140,7 +140,7 @@ private void CreateMain(string connectionString, MigrationContext migrationConte

try
{
_migrationController.Migrate(connectionString, migrationContext);
_migrationController.Migrate(connectionString, migrationContext, databaseType);
return;
}
catch (Exception ex)
Expand All @@ -165,11 +165,11 @@ private void CreateMain(string connectionString, MigrationContext migrationConte
}
}

private void CreateLog(string connectionString, MigrationContext migrationContext)
private void CreateLog(string connectionString, MigrationContext migrationContext, DatabaseType databaseType)
{
try
{
_migrationController.Migrate(connectionString, migrationContext);
_migrationController.Migrate(connectionString, migrationContext, databaseType);
}
catch (SQLiteException e)
{
Expand All @@ -189,7 +189,7 @@ private void CreateLog(string connectionString, MigrationContext migrationContex
Logger.Error("Unable to recreate logging database automatically. It will need to be removed manually.");
}

_migrationController.Migrate(connectionString, migrationContext);
_migrationController.Migrate(connectionString, migrationContext, databaseType);
}
catch (Exception e)
{
Expand Down
Expand Up @@ -14,7 +14,7 @@ namespace NzbDrone.Core.Datastore.Migration.Framework
{
public interface IMigrationController
{
void Migrate(string connectionString, MigrationContext migrationContext);
void Migrate(string connectionString, MigrationContext migrationContext, DatabaseType databaseType);
}

public class MigrationController : IMigrationController
Expand All @@ -29,15 +29,15 @@ public class MigrationController : IMigrationController
_migrationLoggerProvider = migrationLoggerProvider;
}

public void Migrate(string connectionString, MigrationContext migrationContext)
public void Migrate(string connectionString, MigrationContext migrationContext, DatabaseType databaseType)
{
var sw = Stopwatch.StartNew();

_logger.Info("*** Migrating {0} ***", connectionString);

ServiceProvider serviceProvider;

var db = connectionString.Contains(".db") ? "sqlite" : "postgres";
var db = databaseType == DatabaseType.SQLite ? "sqlite" : "postgres";

serviceProvider = new ServiceCollection()
.AddLogging(b => b.AddNLog())
Expand Down

0 comments on commit 4dbf5aa

Please sign in to comment.