public static Version GetVersionFromDatabase(DiscoveredDatabase database)
        {
            var tbl = database.ExpectTable(MasterDatabaseScriptExecutor.RoundhouseVersionTable,
                                           MasterDatabaseScriptExecutor.GetRoundhouseSchemaName(database));

            //versions in the database (should only be 1)
            var versions = tbl.GetDataTable().Rows.Cast <DataRow>().Select(r =>
                                                                           r["version"] == DBNull.Value ? new Version(0, 0, 0, 0) : new Version(r["version"].ToString()))
                           .ToArray();

            if (versions.Length == 0)
            {
                return(new Version(0, 0, 0, 0));
            }

            return(versions.Max());
        }