Return persistence errors
Allow None as a schema ID. Rename id variable to oid to avoid name conflict