diff options
| author | Chris McDonough <chrism@agendaless.com> | 2010-10-13 23:55:28 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2010-10-13 23:55:28 +0000 |
| commit | 3dbdfef11d770a5b79df08c01258e070ee8b7f70 (patch) | |
| tree | cf8471ff18fa3378e03e23be5c100e63c9991791 /repoze/bfg/paster_templates/routesalchemy | |
| parent | 5c7bdc471961fa6079d2b10330bd2d584cb6f35b (diff) | |
| download | pyramid-3dbdfef11d770a5b79df08c01258e070ee8b7f70.tar.gz pyramid-3dbdfef11d770a5b79df08c01258e070ee8b7f70.tar.bz2 pyramid-3dbdfef11d770a5b79df08c01258e070ee8b7f70.zip | |
merge tutorialfix branch
Diffstat (limited to 'repoze/bfg/paster_templates/routesalchemy')
4 files changed, 22 insertions, 25 deletions
diff --git a/repoze/bfg/paster_templates/routesalchemy/+package+/models.py b/repoze/bfg/paster_templates/routesalchemy/+package+/models.py index 63496583e..a1726ebf4 100644 --- a/repoze/bfg/paster_templates/routesalchemy/+package+/models.py +++ b/repoze/bfg/paster_templates/routesalchemy/+package+/models.py @@ -3,47 +3,41 @@ import transaction from sqlalchemy import create_engine from sqlalchemy import Column from sqlalchemy import Integer -from sqlalchemy import MetaData -from sqlalchemy import Table from sqlalchemy import Unicode from sqlalchemy.exc import IntegrityError +from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import scoped_session from sqlalchemy.orm import sessionmaker -from sqlalchemy.orm import mapper from zope.sqlalchemy import ZopeTransactionExtension DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension())) +Base = declarative_base() -metadata = MetaData() +class MyModel(Base): + __tablename__ = 'models' + id = Column(Integer, primary_key=True) + name = Column(Unicode(255), unique=True) + value = Column(Integer) -class Model(object): - def __init__(self, name=''): + def __init__(self, name, value): self.name = name - -models_table = Table( - 'models', - metadata, - Column('id', Integer, primary_key=True), - Column('name', Unicode(255), unique=True), - ) - -models_mapper = mapper(Model, models_table) + self.value = value def populate(): session = DBSession() - model = Model(name=u'root') + model = MyModel(name=u'root',value=55) session.add(model) session.flush() transaction.commit() -def initialize_sql(db_string, echo=False): - engine = create_engine(db_string, echo=echo) +def initialize_sql(db_string, db_echo=False): + engine = create_engine(db_string, echo=db_echo) DBSession.configure(bind=engine) - metadata.bind = engine - metadata.create_all(engine) + Base.metadata.bind = engine + Base.metadata.create_all(engine) try: populate() except IntegrityError: diff --git a/repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl b/repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl index 61cc461cb..b85f57556 100644 --- a/repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl +++ b/repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl @@ -1,4 +1,5 @@ from repoze.bfg.configuration import Configurator +from paste.deploy.converters import asbool from {{package}}.models import initialize_sql @@ -12,7 +13,8 @@ def app(global_config, **settings): db_string = settings.get('db_string') if db_string is None: raise ValueError("No 'db_string' value in application configuration.") - initialize_sql(db_string) + db_echo = settings.get('db_echo', 'false') + initialize_sql(db_string, asbool(db_echo)) config = Configurator(settings=settings) config.begin() config.load_zcml(zcml_file) diff --git a/repoze/bfg/paster_templates/routesalchemy/+package+/views.py_tmpl b/repoze/bfg/paster_templates/routesalchemy/+package+/views.py_tmpl index 24cfd349b..86cc02e41 100644 --- a/repoze/bfg/paster_templates/routesalchemy/+package+/views.py_tmpl +++ b/repoze/bfg/paster_templates/routesalchemy/+package+/views.py_tmpl @@ -1,7 +1,7 @@ from {{package}}.models import DBSession -from {{package}}.models import Model +from {{package}}.models import MyModel def my_view(request): dbsession = DBSession() - root = dbsession.query(Model).filter(Model.name==u'root').first() + root = dbsession.query(MyModel).filter(MyModel.name==u'root').first() return {'root':root, 'project':'{{project}}'} diff --git a/repoze/bfg/paster_templates/routesalchemy/+project+.ini_tmpl b/repoze/bfg/paster_templates/routesalchemy/+project+.ini_tmpl index 4f9fd0b00..8260104d5 100644 --- a/repoze/bfg/paster_templates/routesalchemy/+project+.ini_tmpl +++ b/repoze/bfg/paster_templates/routesalchemy/+project+.ini_tmpl @@ -1,7 +1,7 @@ [DEFAULT] debug = true -[app:sql] +[app:sqlalchemy] use = egg:{{package}}#app reload_templates = true debug_authorization = false @@ -9,11 +9,12 @@ debug_notfound = false debug_templates = true default_locale_name = en db_string = sqlite:///%(here)s/{{package}}.db +db_echo = false [pipeline:main] pipeline = egg:repoze.tm2#tm - sql + sqlalchemy [server:main] use = egg:Paste#http |
