KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm developing on heroku using their Postgres add-on with the Dev plan, which has a connection limit of 20 . I'm new to python and this may be trivial, but I find it difficult to abstract the database connection without causing OperationalError: (OperationalError) FATAL: too many connections for role . Currently I have databeam.py : import os from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy from settings import databaseSettings class Db(object): def __init__(self): self.app = Flask(__name__) self.app.config.from_object(__name__) self.app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DATABASE_URL', databaseSettings()) self.db = SQLAlchemy(self.app) db = Db() And when I'm creating a controller for a page, I do this: import databeam db = databeam.db locations = databeam.locations templateVars = db.db.session.query(locations).filter(locations.parent == 0).order_by(locations.order.asc()).all() This does produce what I want, but slowly and at times causes the error metioned above. Since I come from a php background I have a certain mindset of how to deal with DB connections (I.e. like the example above), but I fear it doesn't fit well with python . What is the proper way of abstracting the db connection in one place and then just using the same connection in all imports?
Tags (comma-separated)
Save Edits
Cancel