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
|
# 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/>.
|
# 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