Help needed in report property

I bet that the property code raises at some point an AttributeError which lead Python to consider that the recovery attribute does not exist. It is a weird behavior of Python which is discussed at Issue 1615: PyObject_GenericGetAttr suppresses AttributeErrors in descriptors - Python tracker
To debug it, you can remove the property decorator and call the method. You will get the traceback of the AttributeError inside the function.

By the way, such issue does not require to update the database. Database update is only needed when you are changing the schema of the database.