public static void clear() {
        final Set<DataSource> dataSources = LOCAL_DATA_SOURCES.get();
        if (dataSources != null) {
            for (final DataSource dataSource : dataSources) {
                // Clear the database.
                LOGGER.info("Clearing all tables in DB {}", THREAD_LOCAL_SHARED_DB_NAME.get());
                try (final Connection connection = dataSource.getConnection()) {
                    DbTestUtil.clearAllTables(connection);
                } catch (final SQLException e) {
                    throw new RuntimeException(e.getMessage(), e);
                }
            }
        }
    }
@param dbConfig         The config to use
@param name             The name of the datasource, i.e. the module name
@param unique           True if we want our own dedicated connection pool
@param isSharedDatabase True if we want to re-use the DB between tests. We normally do
                        to save on the cost of running migrations, but not for
                        migration tests as for those we want a blank db.
stroom-test-common/src/main/java/stroom/test/common/util/db/DbTestUtil.java