On 10/14/06, Huy Do <[EMAIL PROTECTED]> wrote:
>
> Shannon -jj Behrens wrote:
> > On 10/13/06, Huy <[EMAIL PROTECTED]> wrote:
> >
> >> Shannon -jj Behrens wrote:
> >>
> >>> I've added my notes to the wiki after incorporating all of your feedback:
> >>>
> >>> Using SQLAlchemy with Pylons:
> >>> http://pylonshq.com/project/pylonshq/wiki/SqlAlchemyWithPylons
> >>>
> >>> If you update it, please send email to this list so that the rest of
> >>> us can benefit from your improvements.
> >>>
> >>> Best Regards,
> >>> -jj
> >>>
> >>>
> >>>
> >> Just wondering what is wrong with a simple database.py module
> >>
> >> where
> >>
> >> database.py
> >>
> >> # get appconfig from where every you want. I just have a simple python
> >> file for this, because
> >> # paste config doesn't suit my development/test environment
> >> psycopg = pool.manage(psycopg, pool_size=10)
> >> engine = create_engine(appconfig.dburi, default_ordering=True)
> >> meta = BoundMetaData(engine)
> >> ctx = SessionContext(create_session)
> >>
> >> table1 = Table('mytable', meta, ....)
> >>
> >> ....
> >> ....
> >>
> >> In your model.py/or model/__init__.py
> >>
> >> import database
> >>
> >> class MyModel...
> >> ....
> >>
> >> mapper(MyModel, database.table1)...
> >>
> >> Then in your controller
> >>
> >> just
> >>
> >> import model
> >> import database
> >>
> >> dbsession = databaes.ctx.current
> >>
> >> I have a few more convenience methods in database.py for example
> >>
> >> def select(myclass, *args):
> >>    return ctx.current.query(myclass).select(*args)
> >>
> >> use like in your controller:
> >>
> >> rs = database.select(model.MyModel)
> >>
> >> Isn't this more straight forward. You can then use this in your unit
> >> test or anywhere else for that matter (outside of pylons) by simply just
> >> importing database.py and model.py
> >>
> >> ......or am I missing something.
> >>
> >
> > I'm sorry.  It must be really late at night because I just don't
> > understand what you're getting at.  Which part are you trying to
> > simplify?  Can you summarize?
> >
> > You said, "get appconfig from where every you want. I just have a
> > simple python file for this, because paste config doesn't suit my
> > development/test environment."
> I'm sorry...I didn't understand what you were trying to achieve. I still
> don't really, but I do understand the requirement is more involved then
> what I need SA and pylons for. When I say "get appconfig from where
> ever", I mean you can call paste directly to load your config file and
> get the dsn from there (I just don't like the paste/pylons config).
>
>  I like using the python feature of modules only being initialised once
> for things like this, because then I can avoid calling init methods like
> init_model.
> > However, that's half the battle I'm
> > fighting.  Namely, I don't have app_conf on module load.  If you use a
> > Python module with globals, it simplifies the code a lot
> I had heaps of problems with application initialisation with Pylons. I
> use my SA model in many places, not just in Pylons. This is why I do not
> use the Pylons/Paste config, because it causes more headaches for *me*
> then it solves. Maybe I just misunderstand it or don't know how to use
> it properly, but the last time I tried, I gave up; because it only sort
> of worked.
> > , but it also
> > means you can't achieve Ben Bangert's dream of running multiple
> > applications in the same process configured with different .ini files.
> >
> I guess this is my biggest problem at the moment. I don't really
> understand what this dream is about ?
> Is it like the way multiple java servlet apps can be run in apache
> tomcat under different contexts ?
> > My requirements are thus:
> > * Use the .ini file specified on the command line.
> > * Use autoload=True, which requires that I have a database connection
> > when loading the schema.
> >
> we use SA and pylons in very different ways. I stick strictly to the
> static sa metadata declaration. I like having control of my data model.
>
> > How the various pieces of the model are laid out in different files
> > isn't something that I feel compelled to argue about since I think
> > it's okay if everyone does whatever they want.
> >
> >
> I agree. I really did want to understand why you were doing the things
> you were doing, because it seemed more complex then what I was doing,
> but I see that you have your reasons.
> > /me needs more coffee.

I agree that the way you're doing things works well for what you're
doing, and that the way I'm doing things is different because of
different requirements.  I think we're definitely on the same page
now.  Awesome!

Happy Hacking!
-jj

-- 
The one who gets the last laugh isn't the one who did the laughing,
but rather the one who did the writing.

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to