btcpayserver/BTCPayServer.Data/ApplicationDbContextFactory.cs

30 lines
1.1 KiB
C#
Raw Normal View History

using System;
using BTCPayServer.Abstractions.Contracts;
using BTCPayServer.Abstractions.Models;
2020-06-28 17:55:27 +09:00
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure;
2017-09-13 15:47:34 +09:00
namespace BTCPayServer.Data
{
public class ApplicationDbContextFactory : BaseDbContextFactory<ApplicationDbContext>
{
public ApplicationDbContextFactory(IOptions<DatabaseOptions> options, ILoggerFactory loggerFactory) : base(options, "")
2018-07-19 19:31:17 +09:00
{
LoggerFactory = loggerFactory;
2018-07-19 19:31:17 +09:00
}
public ILoggerFactory LoggerFactory { get; }
public override ApplicationDbContext CreateContext(Action<NpgsqlDbContextOptionsBuilder> npgsqlOptionsAction = null)
{
var builder = new DbContextOptionsBuilder<ApplicationDbContext>();
builder.UseLoggerFactory(LoggerFactory);
builder.AddInterceptors(MigrationInterceptor.Instance);
ConfigureBuilder(builder, npgsqlOptionsAction);
return new ApplicationDbContext(builder.Options);
}
}
2017-09-13 15:47:34 +09:00
}