public override void Process(DeleteSchemaExpression expression)
        {
            this.ExecuteCodeBlockUntilNoExeception(() =>
            {
                if (!SchemaExists(expression.SchemaName))
                {
                    return;
                }

                var stopwatch = new StopWatch();
                Logger.LogSay($"Dropping Postgres schema '{expression.SchemaName}'...");
                stopwatch.Time(() => Process(ExtendedGeneratorField.Generate(expression)));
                Logger.LogSay($"Dropped Postgres schema '{expression.SchemaName}'...");
                Logger.LogElapsedTime(stopwatch.ElapsedTime());

                Process(new DeleteUserExpression(expression));
                PostgresDatabaseCreator.DropDatabase(
                    DbMigrationConfig,
                    () =>
                {
                    stopwatch.Start();
                    Logger.LogSay($"Dropping Postgres database '{DbMigrationConfig.DatabaseName.ToLower()}'...");
                },
                    sql =>
                {
                    stopwatch.Stop();
                    Logger.LogSql(sql);
                    Logger.LogSay($"Dropped Postgres database '{DbMigrationConfig.DatabaseName.ToLower()}'...");
                    Logger.LogElapsedTime(stopwatch.ElapsedTime());
                });
            },
                                                   ex => Logger.LogError(ex, $"Dropping Postgres schema(user) '{expression.SchemaName}' failed with exception :-("));
        }
        public override void Process(DeleteSchemaExpression expression)
        {
            this.ExecuteCodeBlockUntilNoExeception(() =>
            {
                if (!SchemaExists(expression.SchemaName))
                {
                    return;
                }

                Logger.LogSay($"Dropping Postgres schema(user) '{expression.SchemaName}'...");
                Process(ExtendedGeneratorField.Generate(expression));
                Logger.LogSay($"Dropped Postgres schema(user) '{expression.SchemaName}'...");

                Process(new DeleteUserExpression(expression));
                PostgresDatabaseCreator.DropDatabase(DbConfig);
            },
                                                   ex => Logger.LogError(ex, $"Dropping Postgres schema(user) '{expression.SchemaName}' failed with exception :-("));
        }