Thanks! Now fixing it in trunk.
On 10 Lug, 21:57, John Heenan <johnmhee...@gmail.com> wrote: > If you want to import foreign integer keys directly into sqlite > without web2py but rely on the schema produced by web2py then a change > is required to the sqlite schema produced by web2py. > > The easiest solution is simply to modify the following lines in gluon > \dal.py and in the legacy gluon\sql.py for sqlite by adding the single > word INTEGER so as > 'reference': 'REFERENCES %(foreign_key)s ON DELETE % > (on_delete_action)s', > becomes > 'reference': 'INTEGER REFERENCES %(foreign_key)s ON DELETE % > (on_delete_action)s', > and then restarting we2py. > > This change ensures that any keys imported into sqlite by sqlite > directly have a sqlite dynamic typing storage class of 'integer; and > not of 'text'. > > This should not effect the way web2py works internally. In fact web2py > uses integer keys. The fact that web2py works correctly without > 'INTEGER' added is accidental. > > To understand why web2py will not work with external imported data > without the change, a relevant discussion of dynamic typing issues of > sqlite can be viewed in my recent post 'Subtle data integrity bug with > web2p' > athttp://groups.google.com/group/web2py/browse_thread/thread/310ca5f727... > > John Heenan