Exemplo n.º 1
0
        public static DatabaseVersion GetLastExecutedVersion(Database database)
        {
            DatabaseVersion databaseVersion = new DatabaseVersion {
                ReleaseVersion = DatabaseVersion.NO_EXECUTED_RELEASE_VERSION
            };

            List <string> releaseVersions = new List <string>();

            SqlDatabaseManager databaseManager = new SqlDatabaseManager(database, true);
            IDataReader        reader          = databaseManager.ExecuteReader("SELECT DISTINCT RELEASE_VERSION FROM " + Constants.CHANGE_LOG_TABLE);

            while (reader.Read())
            {
                releaseVersions.Add((string)reader["RELEASE_VERSION"]);
            }

            reader.Close();

            if (releaseVersions.Count == 0)
            {
                databaseManager.CloseConnection();
                return(databaseVersion);
            }

            var latestReleaseVerion = ChangeReader.AllReleaseChanges.Where(x => releaseVersions.Contains(x.Name)).OrderByDescending(y => y.Sequence).First();

            databaseVersion.ReleaseVersion = latestReleaseVerion.Name;

            reader = databaseManager.ExecuteReader(@"SELECT MAX(CHANGE_VERSION) AS CHANGE_VERSION FROM " + Constants.CHANGE_LOG_TABLE + " WHERE RELEASE_VERSION = '" + databaseVersion.ReleaseVersion + "';");

            while (reader.Read())
            {
                databaseVersion.ChangeVersion = (int)reader["CHANGE_VERSION"];
            }

            reader.Close();

            databaseManager.CloseConnection();
            return(databaseVersion);
        }
Exemplo n.º 2
0
        public static int GetLastExecutedChangeVersion(Database database, string releaseVersion)
        {
            int changeVersion = 0;

            SqlDatabaseManager databaseManager = new SqlDatabaseManager(database, true);
            IDataReader        reader          = databaseManager.ExecuteReader(@"SELECT COALESCE(MAX(CHANGE_VERSION), 0) AS CHANGE_VERSION FROM " + Constants.CHANGE_LOG_TABLE + " WHERE RELEASE_VERSION = '" + releaseVersion + "';");

            while (reader.Read())
            {
                changeVersion = (int)reader["CHANGE_VERSION"];
            }

            reader.Close();

            databaseManager.CloseConnection();
            return(changeVersion);
        }