summaryrefslogtreecommitdiff
path: root/repoze/bfg/paster_templates/routesalchemy
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2010-10-13 23:55:28 +0000
committerChris McDonough <chrism@agendaless.com>2010-10-13 23:55:28 +0000
commit3dbdfef11d770a5b79df08c01258e070ee8b7f70 (patch)
treecf8471ff18fa3378e03e23be5c100e63c9991791 /repoze/bfg/paster_templates/routesalchemy
parent5c7bdc471961fa6079d2b10330bd2d584cb6f35b (diff)
downloadpyramid-3dbdfef11d770a5b79df08c01258e070ee8b7f70.tar.gz
pyramid-3dbdfef11d770a5b79df08c01258e070ee8b7f70.tar.bz2
pyramid-3dbdfef11d770a5b79df08c01258e070ee8b7f70.zip
merge tutorialfix branch
Diffstat (limited to 'repoze/bfg/paster_templates/routesalchemy')
-rw-r--r--repoze/bfg/paster_templates/routesalchemy/+package+/models.py34
-rw-r--r--repoze/bfg/paster_templates/routesalchemy/+package+/run.py_tmpl4
-rw-r--r--repoze/bfg/paster_templates/routesalchemy/+package+/views.py_tmpl4
-rw-r--r--repoze/bfg/paster_templates/routesalchemy/+project+.ini_tmpl5
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