diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2012-03-20 12:39:15 +0100 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2012-03-20 12:45:40 +0100 |
commit | b829595334e10454a6528bdac944d781f6102145 (patch) | |
tree | 718eee8f57d82633fc289ae16dfcfb5b8a77d375 /mediagoblin/db/sql/open.py | |
parent | 39fd817ab8c4745187e5e1992d2f2866de38e2c2 (diff) | |
download | mediagoblin-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.py | 12 |
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) |