Given persistence methods to classes with this annotation.

    All this really does is add some functions that forward to the mapped
    database class.

def DatabaseEnabled(cls):
    """Given persistence methods to classes with this annotation.

    All this really does is add some functions that forward to the mapped
    database class.
    """
    if not issubclass(cls, Storable):
        raise ValueError(
            "%s is not a subclass of gludb.datab.Storage" % repr(cls)
        )

    cls.ensure_table = classmethod(_ensure_table)
    cls.find_one = classmethod(_find_one)
    cls.find_all = classmethod(_find_all)
    cls.find_by_index = classmethod(_find_by_index)
    cls.save = _save
    cls.delete = _delete

    return cls