diff options
Diffstat (limited to 'Jellyfin.Database/Jellyfin.Database.Providers.PgSql/PgSqlDatabaseProvider.cs')
| -rw-r--r-- | Jellyfin.Database/Jellyfin.Database.Providers.PgSql/PgSqlDatabaseProvider.cs | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/Jellyfin.Database/Jellyfin.Database.Providers.PgSql/PgSqlDatabaseProvider.cs b/Jellyfin.Database/Jellyfin.Database.Providers.PgSql/PgSqlDatabaseProvider.cs deleted file mode 100644 index ccaf38d2a..000000000 --- a/Jellyfin.Database/Jellyfin.Database.Providers.PgSql/PgSqlDatabaseProvider.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System; -using System.Diagnostics; -using System.Reflection; -using Jellyfin.Server.Implementations; -using Jellyfin.Server.Implementations.DatabaseConfiguration; -using MediaBrowser.Common.Configuration; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using Npgsql; - -namespace Jellyfin.Database.Providers.PgSql; - -/// <summary> -/// Configures jellyfin to use an Postgres database. -/// </summary> -[JellyfinDatabaseProviderKey("Jellyfin-PgSql")] -public sealed class PgSqlDatabaseProvider : IJellyfinDatabaseProvider -{ - private readonly IConfigurationManager _configurationManager; - private readonly ILogger<PgSqlDatabaseProvider> _logger; - - /// <summary> - /// Initializes a new instance of the <see cref="PgSqlDatabaseProvider"/> class. - /// </summary> - /// <param name="configurationManager">Configuration manager to get PgSQL connection data.</param> - /// <param name="logger">A logger.</param> - public PgSqlDatabaseProvider(IConfigurationManager configurationManager, ILogger<PgSqlDatabaseProvider> logger) - { - _configurationManager = configurationManager; - _logger = logger; - } - - /// <inheritdoc/> - public IDbContextFactory<JellyfinDbContext>? DbContextFactory { get; set; } - - /// <inheritdoc/> - public void Initialise(DbContextOptionsBuilder options) - { - var dbSettings = _configurationManager.GetConfiguration<DatabaseConfigurationOptions>("database"); - - if (dbSettings.PostgreSql is null) - { - throw new InvalidOperationException("Selected PgSQL as database provider but did not provide required configuration. Please see docs."); - } - - var connectionBuilder = new NpgsqlConnectionStringBuilder(); - connectionBuilder.ApplicationName = $"jellyfin+{FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly()!.Location).FileVersion}"; - connectionBuilder.CommandTimeout = dbSettings.PostgreSql.Timeout; - connectionBuilder.Database = dbSettings.PostgreSql.DatabaseName; - connectionBuilder.Username = dbSettings.PostgreSql.Username; - connectionBuilder.Password = dbSettings.PostgreSql.Password; - connectionBuilder.Host = dbSettings.PostgreSql.ServerName; - connectionBuilder.Port = dbSettings.PostgreSql.Port; - - var connectionString = connectionBuilder.ToString(); - - options - .UseNpgsql(connectionString, pgSqlOptions => pgSqlOptions.MigrationsAssembly(GetType().Assembly)); - } - - /// <inheritdoc/> - public Task RunScheduledOptimisation(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } - - /// <inheritdoc/> - public void OnModelCreating(ModelBuilder modelBuilder) - { - } - - /// <inheritdoc/> - public Task RunShutdownTask(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } -} |
