First of all, CRUD is the hell of a productivity tool. Some findings: 1. Definiton of the archive table like given in the book:
db.define_table('mytable_arcvhive', Field('current_record',db.mytable), db.mytable) breaks deletion of records in db.mytable. The foreign key constraint in db.mytable_archive prevents a deletion. Untested workaround proposal: db.define_table('mytable_arcvhive', Field('current_record', integer), db.mytable) 2. Any unique constraint on db.mytable breaks archiving on modifying the record without changing the unique constraint column. Unique constraints have to be manually removed from db.mytable_archive currently. Any plans to automate? 3. In the documentation the archive table is defined like db.define_table('mytable_history', Field('current_record',db.mytable), db.mytable) while in the current version it is defined like db.define_table('mytable_arcvhive', Field('current_record',db.mytable), db.mytable) Just a typo correction needed in the documentation. Regards, Andreas balo...@gmail.com