Fix dhellmann's notes from April 18
removed the python 3 classifier. See notee4cfa6d39d (commitcomment-6058177)added W292 pep8 check. See note276f7570d7 (commitcomment-6058296)added usage examples. See notee4cfa6d39d (commitcomment-6058130)
This commit is contained in:
@@ -2,6 +2,66 @@
|
||||
Usage
|
||||
========
|
||||
|
||||
To use in a project::
|
||||
To use oslo.db in a project::
|
||||
|
||||
* Session Handling
|
||||
|
||||
.. code:: python
|
||||
|
||||
from oslo.db.sqlalchemy import session as db_session
|
||||
|
||||
_FACADE = None
|
||||
|
||||
def _create_facade_lazily():
|
||||
global _FACADE
|
||||
if _FACADE is None:
|
||||
_FACADE = db_session.EngineFacade.from_config(
|
||||
CONF.database.connection, CONF)
|
||||
return _FACADE
|
||||
|
||||
def get_engine():
|
||||
facade = _create_facade_lazily()
|
||||
return facade.get_engine()
|
||||
|
||||
def get_session(**kwargs):
|
||||
facade = _create_facade_lazily()
|
||||
return facade.get_session(**kwargs)
|
||||
|
||||
|
||||
* Base class for models usage
|
||||
|
||||
.. code:: python
|
||||
|
||||
from oslo.db import models
|
||||
|
||||
|
||||
class ProjectSomething(models.TimestampMixin,
|
||||
models.ModelBase):
|
||||
id = Column(Integer, primary_key=True)
|
||||
...
|
||||
|
||||
|
||||
* DB API backend support
|
||||
|
||||
.. code:: python
|
||||
|
||||
from oslo.config import cfg
|
||||
from oslo.db import api as db_api
|
||||
|
||||
CONF = cfg.CONF
|
||||
CONF.import_opt('backend', 'oslo.db.options', group='database')
|
||||
|
||||
_BACKEND_MAPPING = {'sqlalchemy': 'project.db.sqlalchemy.api'}
|
||||
|
||||
IMPL = db_api.DBAPI(CONF.database.backend, backend_mapping=_BACKEND_MAPPING)
|
||||
|
||||
def get_engine():
|
||||
return IMPL.get_engine()
|
||||
|
||||
def get_session():
|
||||
return IMPL.get_session()
|
||||
|
||||
# DB-API method
|
||||
def do_something(somethind_id):
|
||||
return IMPL.do_something(somethind_id)
|
||||
|
||||
import db
|
||||
Reference in New Issue
Block a user