public void CompletelyRemoveAll() { using (var connection = new ManagedConnection(_factory, CommandRunnerMode.Transactional)) { var schemaTables = _schema.DbObjects.SchemaTables(); schemaTables .Each(tableName => { connection.Execute($"DROP TABLE IF EXISTS {tableName} CASCADE;"); }); var drops = connection.GetStringList(DropAllFunctionSql, new object[] { _schema.AllSchemaNames() }); drops.Each(drop => connection.Execute(drop)); connection.Commit(); _schema.ResetSchemaExistenceChecks(); _schema.RebuildSystemFunctions(); } }