Changeset 186:57220a7d9a3c

Show
Ignore:
Timestamp:
07/17/09 20:13:03 (14 months ago)
Author:
rgrp
Branch:
default
convert_revision:
svn:0ead1229-0713-0410-96cd-f668dbfad531/trunk@272
Message:

[model][s]: refactor to have standard seperate meta.py file + init_model(engine) function called from outside of model/ (in config/environment.py).

Location:
shakespeare
Files:
1 added
5 modified

Legend:

Unmodified
Added
Removed
  • shakespeare/cli.py

    r170 r186  
    8787        import shakespeare 
    8888        if line == 'clean': 
    89             model.metadata.drop_all() 
     89            model.metadata.drop_all(bind=model.meta.engine) 
    9090        elif line == 'create': 
    91             model.metadata.create_all() 
     91            model.metadata.create_all(bind=model.meta.engine) 
    9292        elif line == 'rebuild': 
    9393            model.metadata.drop_all() 
  • shakespeare/config/environment.py

    r166 r186  
    99import shakespeare.lib.helpers 
    1010from shakespeare.config.routing import make_map 
     11from shakespeare.model import init_model 
    1112 
    1213def load_environment(global_conf, app_conf): 
     
    5152    # CONFIGURATION OPTIONS HERE (note: all config options will override 
    5253    # any Pylons config options) 
    53     config['pylons.g'].sa_engine = engine_from_config(config, 'sqlalchemy.') 
     54 
     55    # Setup the SQLAlchemy database engine 
     56    engine = engine_from_config(config, 'sqlalchemy.') 
     57    init_model(engine) 
     58 
  • shakespeare/model/__init__.py

    r98 r186  
     1'''The application's domain model objects''' 
     2import sqlalchemy 
     3from sqlalchemy import orm 
     4 
     5import meta 
    16from dm import * 
     7 
     8def init_model(engine): 
     9    '''Call me before using any of the tables or classes in the model''' 
     10    meta.Session.configure(bind=engine) 
     11    meta.engine = engine 
     12 
  • shakespeare/model/dm.py

    r161 r186  
    22Domain model 
    33""" 
    4 from pylons import config 
    54from sqlalchemy import Column, MetaData, Table, types, ForeignKey 
    65from sqlalchemy import orm 
    76from sqlalchemy.orm import relation, backref 
    87 
    9 # make sure config is registered 
    10 import shakespeare 
    11 shakespeare.conf() 
    12  
    13 metadata = MetaData(bind=config['pylons.g'].sa_engine) 
    14 Session = orm.scoped_session(orm.sessionmaker( 
    15     autoflush=True, 
    16     transactional=False, 
    17     bind=config['pylons.g'].sa_engine 
    18 )) 
     8from meta import * 
    199 
    2010import shakespeare 
  • shakespeare/websetup.py

    r113 r186  
    1515    from shakespeare import model 
    1616    log.info('Creating tables') 
    17     model.metadata.create_all(bind=config['pylons.g'].sa_engine) 
     17    model.metadata.create_all(bind=model.meta.engine) 
    1818    log.info('Creating tables: SUCCESS') 
    1919