I havent run the tutorial but I looked at it briefly and it seemed
correct (if you are modifying the files as suggested - not running the
commands in the shell which maybe what were are doing).

The only error I saw - without the benefit of trying it out is the
__repr__ method of Address which returns

self.name

name is an attribute of class Person not of class Address. It should
return attribute(s) from Address (e.g. address)

This is probably simply an artefact of cutting and pasting.

On Jun 7, 3:08 pm, afrotypa <[email protected]> wrote:
> I replied your email message but also posting my reply here for anyone
> else who might run into this.
>
> Short Version
> ==========
>
> The engine creation step is likely missing from the tutorial.
>
> Longer Version
> ===========
>
> For the purpose of this discussion say your project is called myapp
>
> In a fresh pylons install with SQLAlchemy selected, the engine is
> created when you run
>
> pylons setup-app development.ini
>
> setup-app is defined in myapp/myapp/websetup.py thus :-
>
> def setup_app(command, conf, vars):
>     """Place any commands to setup myapp here"""
>     # Don't reload the app if it was loaded under the testing
> environment
>     if not pylons.test.pylonsapp:
>         load_environment(conf.global_conf, conf.local_conf)
>
>     # Create the tables if they don't already exist
>     Base.metadata.create_all(bind=Session.bind)
>
> This in turn calls load_environment() which is defined in
>
> myapp/myapp/config/environment.py
>
> In this file an engine is created and init_model is then called using
> the engine. i.e.
>
>     # Setup the SQLAlchemy database engine
>     engine = engine_from_config(config, 'sqlalchemy.')
>     init_model(engine)
>
> That is the missing step.
>
> On Jun 5, 3:14 pm, afrotypa <[email protected]> wrote:
>
> > My guess is Session.bind has not been initialized?
>
> > Perhaps you need to call init_model which id defined in model/
> > __init__.py first? See its definition here :-
>
> > def init_model(engine):
> >     """Call me before using any of the tables or classes in the
> > model"""
> >     Session.configure(bind=engine)
>
> > On Jun 5, 11:58 am, Victor <[email protected]> wrote:
>
> > > I'm following the PylonsHQ Documentation on 
> > > models:http://pylonshq.com/docs/en/1.0/models/
>
> > > I have managed to follow the docs until the portion where I am trying
> > > to create the database. The code I add to websetup.py is as follows:
>
> > > from myapp.model.meta import Base, Session
> > > log.info("Creating tables")
> > > Base.metadata.drop_all(checkfirst=True, bind=Session.bind)
> > > Base.metadata.create_all(bind=Session.bind)
> > > log.info("Successfully setup")
>
> > > When I run "$ paster setup-app development.ini" command, I get the
> > > following error:
>
> > > sqlalchemy.exc.UnboundExecutionError: The MetaData is not bound to an
> > > Engine or Connection.  Execution can not proceed without a database to
> > > execute against.  Either execute with an explicit connection or assign
> > > the MetaData's .bind to enable implicit execution.
>
> > > I am using a MySQL server running on an Ubuntu machine to try out the
> > > example.
>
> > > Does anybody know why I am getting the error?

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to