Perfect! Thank you so much for your help. I had been including fake_migrate in the definition of the tables as well, which is what caused the second error.
Thanks again! On Apr 24, 11:10 am, mdipierro <mdipie...@cs.depaul.edu> wrote: > Try follow my instructions above and fake_migrate goes here: > > db.define_table('performer', __performer, __audit,fake_migrate=True or > False) > db.define_table('performer_audit_trail', __performer, > __audit_trail,fake_migrate=True or False) > > On Apr 24, 10:07 am, Matthew <matthew.g.nor...@gmail.com> wrote: > > > Here are the relevant parts of the model. I didn't copy the > > boilerplate code like connection string, etc at the start of the db.py > > file: > > > # Common fields. > > ############################################################### > > > # Web data. > > __web_resource = db.Table(db, > > '__web_resource', > > Field('wikipedia_id'), > > Field('myspace_id'), > > Field('facebook_id')) > > > # All tables will inherit this simple audit. > > current_user_id = (auth.user and auth.user.id) or 1 > > > __audit = db.Table(db, > > '__audit', > > Field('created_on', 'datetime', > > default=request.now), > > Field('created_by', db.auth_user, > > default=current_user_id), > > Field('modified_on', 'datetime', > > default=request.now), > > Field('modified_by', db.auth_user, > > default=current_user_id)) > > > # Each table's corresponding *audit table will inherit this audit. > > __audit_trail = db.Table(db, > > '__audit_trail', > > Field('modified_on', 'datetime', > > default=request.now), > > Field('modified_by', db.auth_user, > > default=current_user_id)) > > > # Tables. > > ###################################################################### > > > # Performer > > __performer = db.Table(db, > > '__performer', > > Field('name'), > > Field('slug'), > > Field('twitter_id'), > > Field('musicbrainz_guid'), # the offending new > > field > > __web_resource) > > > db.define_table('performer', __performer, __audit) > > db.define_table('performer_audit_trail', __performer, __audit_trail) > > > On Apr 24, 10:46 am, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > > hmmm. I guess I need to the model then. fake_migrate was supported in > > > 1.76.5 > > > > Massimo > > > > On Apr 24, 9:37 am, Matthew <matthew.g.nor...@gmail.com> wrote: > > > > > 1.76.5 > > > > > On Apr 24, 10:35 am, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > > > > you must have a very old web2py version. > > > > > > On Apr 24, 9:25 am, Matthew <matthew.g.nor...@gmail.com> wrote: > > > > > > > I'm including previously-defined tables in other tables to reduce > > > > > > maintenance. For example, I have "__web_resource" table that has > > > > > > Wikipedia IDs, etc that I'm using in other tables. > > > > > > > When I tried your suggestion, I got the following error: > > > > > > > File "/home/matthew/dev/projects/webapp/src/app/applications/myapp/ > > > > > > models/db.py", line 114, in <module> > > > > > > __web_resource, fake_migrate=True) > > > > > > TypeError: __init__() got an unexpected keyword argument > > > > > > 'fake_migrate' > > > > > > > Is this due to the inclusion of other tables? > > > > > > > On Apr 23, 10:13 am, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > > > > > > Something went wrong with migration. Do this: > > > > > > > > 1) comment the field that gives you problem and set migrate to > > > > > > > fake: > > > > > > > > db.define_table('performer', > > > > > > > ... > > > > > > > # Field('musicbrainz_guid'....), > > > > > > > ..., > > > > > > > fake_migrate=True) # <<< > > > > > > > > 2) run appadmin once (it should work) > > > > > > > > 3) uncomment field and remove fake migrate > > > > > > > > db.define_table('performer', > > > > > > > ... > > > > > > > Field('musicbrainz_guid'....), > > > > > > > ...) > > > > > > > > 4) run appadmin again. If you get an error something is wrong in > > > > > > > your > > > > > > > model. > > > > > > > > On Apr 23, 6:19 am, Matthew <matthew.g.nor...@gmail.com> wrote: > > > > > > > > > >>> perf = db(db.performer.id > 0).first() > > > > > > > > > Traceback (most recent call last): > > > > > > > > File "<console>", line 1, in <module> > > > > > > > > AttributeError: 'Set' object has no attribute 'first'>>> perf = > > > > > > > > db(db.performer.id > 0).select().first() > > > > > > > > > Traceback (most recent call last): > > > > > > > > File "<console>", line 1, in <module> > > > > > > > > File > > > > > > > > "/home/matthew/dev/projects/webapp/src/app/gluon/sql.py", line > > > > > > > > 3056, in select > > > > > > > > rows = response(query) > > > > > > > > File > > > > > > > > "/home/matthew/dev/projects/webapp/src/app/gluon/sql.py", line > > > > > > > > 3051, in response > > > > > > > > db._execute(query) > > > > > > > > File > > > > > > > > "/home/matthew/dev/projects/webapp/src/app/gluon/sql.py", line > > > > > > > > 958, in <lambda> > > > > > > > > self._execute = lambda *a, **b: self._cursor.execute(*a, > > > > > > > > **b) > > > > > > > > ProgrammingError: column performer.musicbrainz_guid does not > > > > > > > > exist > > > > > > > > LINE 1: ..._id, performer.facebook_id, performer.twitter_id, > > > > > > > > performer.... > > > > > > > > > On Apr 22, 8:48 am, Kuba Kucharski <kuba.kuchar...@gmail.com> > > > > > > > > wrote: > > > > > > > > > > Can you show us the line with a query code? > > > > > > > > > > -- > > > > > > > > > Kuba > > > > > > > > > > -- > > > > > > > > > Subscription > > > > > > > > > settings:http://groups.google.com/group/web2py/subscribe?hl=en