### 1.11.14.1 Driver Objects

`driver`( | driver, environment, **params)

  Used to return a `Driver` object.

  driver
    The type of driver being used. Currently only `'database'` is allowed

  environment
    The name of the environment being used. In the case of the database driver this is the string prepended to all the tables used in the environment so that multiple environments can share the same database.

  **params
    Any parameters to be specified in the format name=value which are needed by the driver specified by driver

class `Driver`

  `Driver` objects have a number of methods which driver implementers must implement. These are documented in the source code. The following public methods are used to setup the environment.

  `completeSessionEnvironment`( | )

    Returns `True` if the environment is correctly setup, `False` otherwise. In the case of the database driver this method simply checks that all the necessary tables exist.

  `createSessionEnvironment`( | )

    Creates the necessary environment. In the case of the database driver this method creates all the required tables. If any of the tables already exist a `SessionError` is raised.

  `removeSessionEnvironment`( | [ignoreErrors=False])

    Removes the environment. In the case of the database driver this method drops all the tables. If any of the tables are not present a `SessionError` is raised unless ignoreErrors is `True`.