Thanks! Adding the field as invisible works. But I prefer to dump - drop - create - restore approach. After fiddling around I have two questions about that though
1) Why can I see the db object with corresponding tables in shell, but not access the database behind it? (ProgrammingError: Cannot operate on a closed database.) I assume either my admin or my application is locking it. But why would it do that if no transactions are going on? 2) In added tot the end of db.py: for table in db.tables: db[table].drop() The sql.log shows that most of the tables are indeed dropped (and recreated in next request ). But two of my tables are not dropped and no mention is made in sql.log. (no other error messages either) db.tables in shell shows which tables remained: ['auth_group', 'auth_permission', 'participant', 'svo_answer'] So my question becomes how do I get rid of the 'participant' and 'svo_answer' tables using web2py (both shell and application)? Thanks again. Sven On Mar 23, 7:39 am, mdipierro <mdipie...@cs.depaul.edu> wrote: > Because you used sqlite and your made the field "type" as > notnull=True. sqlite does not support ALTER TABLE DROP COLUMN so the > field is still there. I suggest you dump the dump the db, recerate it > and restore the dump or add the field again as invisible (not sure if > this will work, give it a try): > > Field('type',default='',writable=False,readable=False) > > On Mar 23, 6:16 am, Sven <svenstrin...@gmail.com> wrote: > > > > > Hi, > > > I am new to web2py and really like it so far. I just ran into trouble > > though, and can't find the solution myself. > > > The error message is: > > "IntegrityError: participant.type may not be NULL" > > > as a result of calling: > > "db.participant.insert(unique_ref=ref, batch_type=session.batch_type, > > batch_name=session.batch_name)" > > > I have defined a table 'participants' and 'type' used to be one of its > > fields. However, I changed the definition and the field is now called > > 'batch_type'. Since there is currently no 'participant.type' in my > > code, why does it show up in the error message? > > > I hope someone has a suggestion. > > > Thanks . > > > Sven -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.