Changeset 186:57220a7d9a3c
- 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:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r170
|
r186
|
|
| 87 | 87 | import shakespeare |
| 88 | 88 | if line == 'clean': |
| 89 | | model.metadata.drop_all() |
| | 89 | model.metadata.drop_all(bind=model.meta.engine) |
| 90 | 90 | elif line == 'create': |
| 91 | | model.metadata.create_all() |
| | 91 | model.metadata.create_all(bind=model.meta.engine) |
| 92 | 92 | elif line == 'rebuild': |
| 93 | 93 | model.metadata.drop_all() |
-
|
r166
|
r186
|
|
| 9 | 9 | import shakespeare.lib.helpers |
| 10 | 10 | from shakespeare.config.routing import make_map |
| | 11 | from shakespeare.model import init_model |
| 11 | 12 | |
| 12 | 13 | def load_environment(global_conf, app_conf): |
| … |
… |
|
| 51 | 52 | # CONFIGURATION OPTIONS HERE (note: all config options will override |
| 52 | 53 | # 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 | |
-
|
r98
|
r186
|
|
| | 1 | '''The application's domain model objects''' |
| | 2 | import sqlalchemy |
| | 3 | from sqlalchemy import orm |
| | 4 | |
| | 5 | import meta |
| 1 | 6 | from dm import * |
| | 7 | |
| | 8 | def 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 | |
-
|
r161
|
r186
|
|
| 2 | 2 | Domain model |
| 3 | 3 | """ |
| 4 | | from pylons import config |
| 5 | 4 | from sqlalchemy import Column, MetaData, Table, types, ForeignKey |
| 6 | 5 | from sqlalchemy import orm |
| 7 | 6 | from sqlalchemy.orm import relation, backref |
| 8 | 7 | |
| 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 | | )) |
| | 8 | from meta import * |
| 19 | 9 | |
| 20 | 10 | import shakespeare |
-
|
r113
|
r186
|
|
| 15 | 15 | from shakespeare import model |
| 16 | 16 | log.info('Creating tables') |
| 17 | | model.metadata.create_all(bind=config['pylons.g'].sa_engine) |
| | 17 | model.metadata.create_all(bind=model.meta.engine) |
| 18 | 18 | log.info('Creating tables: SUCCESS') |
| 19 | 19 | |