SQL: mongokit like interface
[mediagoblin.git] / mediagoblin / db / sql / open.py
1 from sqlalchemy import create_engine
2
3 from mediagoblin.db.sql.base import Session
4 from mediagoblin.db.sql.models import Base
5
6
7 class DatabaseMaster(object):
8 def __init__(self, engine):
9 self.engine = engine
10
11 for k,v in Base._decl_class_registry.iteritems():
12 setattr(self, k, v)
13
14 def commit(self):
15 Session.commit()
16
17 def save(self, obj):
18 Session.add(obj)
19 Session.flush()
20
21 def reset_after_request(self):
22 Session.remove()
23
24
25 def setup_connection_and_db_from_config(app_config):
26 engine = create_engine(app_config['sql_engine'], echo=True)
27 Session.configure(bind=engine)
28
29 return "dummy conn", DatabaseMaster(engine)