Skip to main content

db wrapper for mysql

Project description

mydb

mydb is a simple db wrapper for mysql.

Install

pip install mydb

Usage

Single Connection

from mydb.connection import Connection

db = Connection("mysql://youngking@localhost:13306/mydatabase")
for article in db.query("SELECT * FROM articles"):
    print article.title

Multiple Connection Like Master/Slave

from mydb.router import ConnectionRouter
from mydb.proxy import DBProxy
router = ConnectionRouter(["myapp.somewhere.MasterSlaveRouter"])
db = DBProxy(router)

for article in db.query("SELECT * FROM articles"):
    print article.title

Database routers

A database Router is a class that provides up to two methods:

db_for_read(statement, **hints)

Suggest the database that should be used for read operations for ``SELECT`` statement.

If a database operation is able to provide any additional information that might assist in selecting a database, it will be provided in the hints dictionary. Details on valid hints are provided below.

Returns None if there is no suggestion.

db_for_write(model, **hints)

Suggest the database that should be used for writes of statements except ``SELECT``.

If a database operation is able to provide any additional information that might assist in selecting a database, it will be provided in the hints dictionary. Details on valid hints are provided below.

There is an example in tests/test_router.py.

A router doesn’t have to provide all these methods – it may omit one or more of them. If one of the methods is omitted, mydb will skip that router when performing the relevant check.

In mydb.router there are some default routers, where you can inherit from and overwriten them.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mydb-0.1.2.tar.gz (17.6 kB view details)

Uploaded Source

File details

Details for the file mydb-0.1.2.tar.gz.

File metadata

  • Download URL: mydb-0.1.2.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mydb-0.1.2.tar.gz
Algorithm Hash digest
SHA256 73b8d0ba5460f626990519db99846419f200925c2f178af873c81f156a591fa5
MD5 1d21a46b16496fc41ce81c357802eb8d
BLAKE2b-256 2b37dde5ab43c033222c86c78676437c948c2330b148cf719bfc8850d9ab180d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page