Document the db submodule a bit
Document the ideas behind the db submodule. And document what that actually means.
This commit is contained in:
parent
a86e66b5e0
commit
3f9d93407b
@ -13,3 +13,37 @@
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
"""
|
||||
Database Abstraction/Wrapper Layer
|
||||
==================================
|
||||
|
||||
This submodule is for most of the db specific stuff.
|
||||
|
||||
There are two main ideas here:
|
||||
|
||||
1. Open up a small possibility to replace mongo by another
|
||||
db. This means, that all direct mongo accesses should
|
||||
happen in the db submodule. While all the rest uses an
|
||||
API defined by this submodule.
|
||||
|
||||
Currently this API happens to be basicly mongo.
|
||||
Which means, that the abstraction/wrapper layer is
|
||||
extremely thin.
|
||||
|
||||
2. Give the rest of the app a simple and easy way to get most of
|
||||
their db needs. Which often means some simple import
|
||||
from db.util.
|
||||
|
||||
What does that mean?
|
||||
|
||||
* Never import mongo directly outside of this submodule.
|
||||
|
||||
* Inside this submodule you can do whatever is needed. The
|
||||
API border is exactly at the submodule layer. Nowhere
|
||||
else.
|
||||
|
||||
* helper functions can be moved in here. They become part
|
||||
of the db.* API
|
||||
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user