As expected, when RECORD VERSIONING is enabled, a db record deletion causes
the RECORD to be archived with all the record contents maintained rather
than being deleted.
And if the record is reactivated, all the record contents are restored
However, if the record has an upload field and autodelete=True is
specified, the ACTUAL FILE is deleted.
In my opinion this produces an inconsistent result. The archived db record
retains the path - but now to a non-existent file.
if delete() and record_delete() don't mean truly delete, then the
autodelete shouldn't either
with autodelete
Field('the_file', 'upload' , label=T('Audio File')
, writable=True
, autodelete=True
, default=None
,
uploadfolder=os.path.join(request.folder,'uploads/resources/audio')
),
and the result of a record delete is...
archive_x2m: archive base_table record = audios[10]
archive_x2m: uploaded audio file path =
/Applications/web2py_dev/applications/MFMCurrAssetMgr/uploads/resources/audio/audios.the_file.b96db9904e30d353.6131343035323731312e6d7033.mp3
archive_x2m: Does uploaded file exists BEFORE delete_record(), i.e.
os.path.exists(full_path)? - True
archive_x2m: >> execute "db(db.audios.id == record_id).delete()"
archive_x2m: Does uploaded file exist AFTER delete_record(), i.e.
os.path.exists(full_path)? - False
archive_x2m: Done !
the following without autodelete...
Field('the_file', 'upload' , label=T('Audio File')
, writable=True
, default=None
,
uploadfolder=os.path.join(request.folder,'uploads/resources/audio')
),
and the result
archive_x2m: archive base_table record = audios[30]
archive_x2m: uploaded audio file path =
/Applications/web2py_dev/applications/MFMCurrAssetMgr/uploads/resources/audio/audios.the_file.bd416488d5bffdf5.6131343035323733322e6d7033.mp3
archive_x2m: Does uploaded file exists BEFORE delete_record(), i.e.
os.path.exists(full_path)? - True
archive_x2m: >> execute "db(db.audios.id == record_id).delete()"
archive_x2m: Does uploaded file exist AFTER delete_record(), i.e.
os.path.exists(full_path)? - True
archive_x2m: Done !
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/web2py/00f6f338-2294-4878-b918-e15cc5e44888%40googlegroups.com.