No formal documentation that I know of, but you can put a list of the fields and their types into the clipboard with code like:
Code:
property pstrDBPath : "~/Library/Caches/com.omnigroup.OmniFocus/OmniFocusDatabase2"
property plstResults : {}
on run
set text item delimiters to return
set str to ""
set lstTables to ({"Task", "ProjectInfo", "Context", "Folder"})
repeat with oTable in lstTables
set strSQL to "PRAGMA TABLE_INFO(" & oTable & ");"
RunSQL(strSQL)
set str to str & oTable & return & return & (plstResults as string) & return & return & return
end repeat
set text item delimiters to space
set the clipboard to str
end run
on RunSQL(strSQL)
set strCmd to "sqlite3 " & pstrDBPath & space & quoted form of strSQL
set plstResults to (paragraphs of (do shell script strCmd))
end RunSQL
(Probably important to bear in mind that the schema can change, unannounced, between builds, and that reading the cache has been described on this forum as "at the deep end of not officially supported").