[Checkins] SVN: grokapps/rdbexample/trunk/src/rdbexample/app.py Introduce simpler way to set up database.

Martijn Faassen faassen at infrae.com
Fri Aug 15 16:57:51 EDT 2008


Log message for revision 89894:
  Introduce simpler way to set up database.
  

Changed:
  U   grokapps/rdbexample/trunk/src/rdbexample/app.py

-=-
Modified: grokapps/rdbexample/trunk/src/rdbexample/app.py
===================================================================
--- grokapps/rdbexample/trunk/src/rdbexample/app.py	2008-08-15 20:50:19 UTC (rev 89893)
+++ grokapps/rdbexample/trunk/src/rdbexample/app.py	2008-08-15 20:57:51 UTC (rev 89894)
@@ -5,11 +5,8 @@
 from sqlalchemy.types import Integer, String
 from sqlalchemy.orm import relation
 
-from zope.app.publication.interfaces import IBeforeTraverseEvent
-from zope import component
-
 from z3c.saconfig import EngineFactory, GloballyScopedSession
-from z3c.saconfig.interfaces import IEngineFactory
+from z3c.saconfig.interfaces import IEngineFactory, IEngineCreatedEvent
 
 TEST_DSN = 'sqlite:///:memory:'
   
@@ -30,13 +27,9 @@
         session = rdb.Session()
         return session.query(Faculty).get(key)
 
- at grok.subscribe(RDBExample, IBeforeTraverseEvent)
-def setUpDatabase(obj, event):
-    # XXX
-    # hack: set up database if it hasn't been set up before 
-    engine_factory = component.getUtility(IEngineFactory)
-    engine = engine_factory()
-    metadata.create_all(engine)
+ at grok.subscribe(IEngineCreatedEvent)
+def setUpDatabase(event):
+    rdb.setupDatabase(metadata)
 
 class FacultyList(grok.View):
     grok.name('index')



More information about the Checkins mailing list