def __call__(self, skipCommit=False):
        if not self.canUpgrade():
            return self.version
        # is a major schema update needed?
        if self.version.major < self.Version.major:
            # we can perform the major schema update
            toVer = self._dbVersion(self.Version.major)
            self.version = self.__migrate(toVer, self.migrate, skipCommit)
        assert(self.version.major == self.Version.major)

        # perform minor version upgrades, if needed
        while self.version.minor < self.Version.minor:
            nextmin = self.version.minor + 1
            toVer = self._dbVersion((self.version.major, nextmin))
            func = getattr(self, "migrate%d" % (nextmin,))
            self.version = self.__migrate(toVer, func, skipCommit)
        self.message("")
        # all done migrating
        return self.version
dataset/ETHPy150Open sassoftware/conary/conary/dbstore/migration.py/SchemaMigration.__call__/original