Hello,
I have a legacy MS SQL db with a User table with lots of old data:
db3.define_table('People',
Field('People_ID', 'id'),
Field('LastName', length=50),
Field('FirstName', length=50),
........
migrate = False
)
custom_auth_table = db3['People']
# tell Auth to use this table
auth.settings.table_user = custom_auth_table
# have Auth create the group, membership etc. tables
auth.define_tables()
I can view tables, including the legacy People via Admin - the new auth
tables don't contain any data - and create a new group in auth_group no
problem.
When I try to insert a new auth_membership:
/appadmin/insert/db3/auth_membership
CPU utilization goes to 100% for a couple of seconds and I get an error:
File "\web2py\gluon\dal.py", line 5648, in __getitem__
return dict.__getitem__(self, key)
KeyError: 'id'
Variables self <Row {'auth_event': <gluon.dal.Set object at
0x0...lete_record': <function <lambda> at 0x08A866B0>}> dict.__getitem__
<method
'__getitem__' of 'dict' objects> builtindict <type 'dict'> key 'id'
I suspect the error has something to do with the 'id' field of the User
table ('People') being 'People_ID' instead of 'id'.
However looking at the db auth_membership table definition, the 'user_id'
column seems correct - a Foreign Key pointing to 'People' / 'People_ID'.
I'm stumped.
Any ideas?
Thanks,
Jerry.