iro.model.schema.__tables__ is available under Base.metadata.sorted_tables devel
authorSandro Knauß <knauss@netzguerilla.net>
Sat, 10 Mar 2012 19:00:12 +0100
branchdevel
changeset 219 4e9d79c35088
parent 218 91f87ad13540
child 220 602720314930
iro.model.schema.__tables__ is available under Base.metadata.sorted_tables
iro/model/schema.py
tests/dbtestcase.py
--- a/iro/model/schema.py	Mon Mar 05 23:52:29 2012 +0100
+++ b/iro/model/schema.py	Sat Mar 10 19:00:12 2012 +0100
@@ -16,8 +16,6 @@
 
 Base = declarative_base()
 
-__tables__=["User", "Job", "Message", "Offer", "Userright"]
-
 class Userright(Base):
     """Über welche Routen darf ein Benutzer Daten verschicken und welches sind die Standardrouten (<em>default!=None</em>) für den Benuter. Geordnert werden die Standardrouten nach default."""
     __tablename__ = 'userright'
--- a/tests/dbtestcase.py	Mon Mar 05 23:52:29 2012 +0100
+++ b/tests/dbtestcase.py	Sat Mar 10 19:00:12 2012 +0100
@@ -7,7 +7,7 @@
 import atexit 
 from ngdatabase.mysql import Server, createConfig, Database
 
-from iro.model import schema, setEngine, setPool
+from iro.model import setEngine, setPool
 from iro.model.utils import WithSession
 from iro.model.schema import Base
 
@@ -33,8 +33,8 @@
     def __cleanDB(self):
         '''cleaning database'''
         with self.session() as session:
-            for table in schema.__tables__:
-                session.query(getattr(schema,table)).delete()
+            for table in reversed(Base.metadata.sorted_tables):
+                session.execute(table.delete())
 
 
 class SampleDatabase(Database):
@@ -55,12 +55,13 @@
         self.tdir = mkdtemp(prefix='iro-mysql-')
         self.server = Server('%s/my.cnf'%self.tdir)
         self.db = SampleDatabase("test","test",'%s/my.cnf'%self.tdir)
-        self.engine = create_engine('mysql://test:test@localhost/test?unix_socket=%s/socket'%self.tdir, 
+        self.dburl = 'mysql://test:test@localhost/test?unix_socket=%s/socket'%self.tdir
+        self.engine = create_engine(self.dburl, 
                 poolclass = pool.SingletonThreadPool,  pool_size=dbPool.maxthreads, )#echo=True)
-        self.vaild = False
+        self.valid = False
 
     def setUp(self):
-        if not self.vaild:
+        if not self.valid:
             with open('%s/my.cnf'%self.tdir,'w') as cnf:
                 cnf.write(createConfig(self.tdir))
             self.server.create()
@@ -69,7 +70,7 @@
             Base.metadata.create_all(self.engine)
             setEngine(self.engine)
             setPool(dbPool)
-            self.vaild = True
+            self.valid = True
     
 
 md=ModuleData()