One possibility (I think) is to do it in phases:
remove the original computed field from the table definition.
Run 'python web2py -M -N -S <yourapp>'
and check that the new definition is active (without the removed field).
Make sure that the field was dropped in postgresql. If not, drop the field using pgadmin3 or psql..
Then add the correct definition of the field to your table definition and run a small script function to update the computed field.
I use something like this:
rows = db(db.sabinet_artikels).select(
db.sabinet_artikels.id,
db.sabinet_artikels.ti)
for row in rows:
row.update_record(ltitle = db.sabinet_artikels.ltitle.compute(row))
Regards
Johann
--