#nullable enable using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; namespace West.TelegramBot.Reputation.Data; public class ReputationContextFactory : IDesignTimeDbContextFactory { public ReputationContext CreateDbContext(string[] args) { var optionsBuilder = new DbContextOptionsBuilder(); if (args.Length != 1) { throw new InvalidDataException("You should pass DSN as CLI argument in order to use this."); } var dsn = args[0]; optionsBuilder.UseMySql(dsn, ServerVersion.AutoDetect(dsn)); return new ReputationContext(optionsBuilder.Options); } }