diff options
Diffstat (limited to 'repoze')
7 files changed, 32 insertions, 36 deletions
diff --git a/repoze/bfg/paster_templates/alchemy/+package+/models.py b/repoze/bfg/paster_templates/alchemy/+package+/models.py index 7d973c628..336613cf9 100755 --- a/repoze/bfg/paster_templates/alchemy/+package+/models.py +++ b/repoze/bfg/paster_templates/alchemy/+package+/models.py @@ -19,7 +19,7 @@ DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension())) Base = declarative_base() class MyModel(Base): - __tablename__ = 'mymodel' + __tablename__ = 'models' id = Column(Integer, primary_key=True) name = Column(Unicode(255), unique=True) value = Column(Integer) @@ -73,7 +73,7 @@ def populate(): session.flush() transaction.commit() -def initialize_sql(db_string, db_echo): +def initialize_sql(db_string, db_echo=False): engine = create_engine(db_string, echo=db_echo) DBSession.configure(bind=engine) Base.metadata.bind = engine @@ -83,6 +83,6 @@ def initialize_sql(db_string, db_echo): except IntegrityError: pass -def appmaker(db_string, db_echo): +def appmaker(db_string, db_echo=False): initialize_sql(db_string, db_echo) return default_get_root diff --git a/repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl b/repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl index 3c2711028..026505f3a 100644 --- a/repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl +++ b/repoze/bfg/paster_templates/alchemy/+package+/run.py_tmpl @@ -1,4 +1,5 @@ from repoze.bfg.configuration import Configurator +from paste.deploy.converters import asbool from {{package}}.models import appmaker @@ -11,11 +12,9 @@ def app(global_config, **settings): zcml_file = settings.get('configure_zcml', 'configure.zcml') db_string = settings.get('db_string') if db_string is None: - raise ValueError("No 'db_string' in application configuration.") - db_echo = settings.get('db_echo') - if db_echo is None: - db_echo = True - get_root = appmaker(db_string, db_echo) + raise ValueError("No 'db_string' value in application configuration.") + db_echo = settings.get('db_echo', 'false') + get_root = appmaker(db_string, asbool(db_echo)) config = Configurator(settings=settings, root_factory=get_root) config.begin() config.load_zcml(zcml_file) diff --git a/repoze/bfg/paster_templates/alchemy/+project+.ini_tmpl b/repoze/bfg/paster_templates/alchemy/+project+.ini_tmpl index 1fa0609e0..8260104d5 100644 --- a/repoze/bfg/paster_templates/alchemy/+project+.ini_tmpl +++ b/repoze/bfg/paster_templates/alchemy/+project+.ini_tmpl @@ -1,8 +1,8 @@ [DEFAULT] debug = true -[app:alchemy] -use = egg:{{project}}#app +[app:sqlalchemy] +use = egg:{{package}}#app reload_templates = true debug_authorization = false debug_notfound = false @@ -14,7 +14,7 @@ db_echo = false [pipeline:main] pipeline = egg:repoze.tm2#tm - alchemy + sqlalchemy [server:main] use = egg:Paste#http 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 |
