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

Reply via email to