aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/sql/open.py
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-20 12:39:15 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-20 12:45:40 +0100
commitb829595334e10454a6528bdac944d781f6102145 (patch)
tree718eee8f57d82633fc289ae16dfcfb5b8a77d375 /mediagoblin/db/sql/open.py
parent39fd817ab8c4745187e5e1992d2f2866de38e2c2 (diff)
downloadmediagoblin-b829595334e10454a6528bdac944d781f6102145.tar.lz
mediagoblin-b829595334e10454a6528bdac944d781f6102145.tar.xz
mediagoblin-b829595334e10454a6528bdac944d781f6102145.zip
Create load_models().
So all models are ready when connecting to the db and so our "db" object has all models listed on it, create a function to load all models from the media_types, etc. Call it in setup_database() Problem: This gives celery warnings, because celery is imported before being setup properly. No idea how to fix this now. So media-type loading is excluded from load_models for now.
Diffstat (limited to 'mediagoblin/db/sql/open.py')
-rw-r--r--mediagoblin/db/sql/open.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/mediagoblin/db/sql/open.py b/mediagoblin/db/sql/open.py
index 7362b1c5..2520bb49 100644
--- a/mediagoblin/db/sql/open.py
+++ b/mediagoblin/db/sql/open.py
@@ -20,6 +20,8 @@ import logging
from mediagoblin.db.sql.base import Base, Session
+_log = logging.getLogger(__name__)
+
class DatabaseMaster(object):
def __init__(self, engine):
@@ -40,6 +42,16 @@ class DatabaseMaster(object):
Session.remove()
+def load_models(app_config):
+ import mediagoblin.db.sql.models
+
+ # TODO/Fix: This breaks celery
+ if False:
+ for media_type in app_config['media_types']:
+ _log.debug("Loading %s.models", media_type)
+ __import__(media_type + ".models")
+
+
def setup_connection_and_db_from_config(app_config):
engine = create_engine(app_config['sql_engine'])
# logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)