private static async Task GenerateImpl()
        {
            await using var connectionController = new DbConnectionControllerMySql(connectionString);
            var repo = new UsersRepoMySql(connectionController, new NullLogger <UsersRepoMySql>());

            await OpenConnection(connectionController);

            for (var idxFrom = 0; idxFrom < count; idxFrom += step)
            {
                var idxTo = idxFrom + step < count
                    ? idxFrom + step
                    : count;
                var testUsers = new Faker <User>(/*"ru"*/)
                                .RuleFor(u => u.Id, (f, u) => 0)
                                .RuleFor(u => u.GivenName, (f, u) => f.Name.FirstName())
                                .RuleFor(u => u.FamilyName, (f, u) => f.Name.LastName())
                                .RuleFor(u => u.Email, (f, u) => f.Internet.Email(u.GivenName, u.FamilyName, null, f.UniqueIndex.ToString()))
                                .RuleFor(u => u.Password, (f, u) => hasher.HashPassword("123"))
                                .RuleFor(u => u.Age, (f, u) => f.Random.Byte(5, 80))
                                .RuleFor(u => u.City, f => f.Address.City())
                                .RuleFor(u => u.IsActive, f => true);

                var users = testUsers.Generate(idxTo - idxFrom);
                foreach (var user in users)
                {
                    await repo.AddUser(user);

                    Interlocked.Increment(ref generated);
                }

                logger.LogInformation($"{generated} have been generated.");
            }
        }
        private static async Task <bool> IsGenerationNeeded()
        {
            if (!onlyIfDbEmpty)
            {
                return(true);
            }

            await using var connectionController = new DbConnectionControllerMySql(connectionString);
            var repo = new UsersRepoMySql(connectionController, new NullLogger <UsersRepoMySql>());

            await OpenConnection(connectionController);

            var totalCount = await repo.GetUsersCount(new GetUsersQuery());

            return(totalCount == 0);
        }