'Add a cell database to the fixture.
:param connection_str: An identifier used to represent the connection
string for this database. It should match the database_connection field
in the corresponding CellMapping.'

def add_cell_database(self, connection_str, default=False):

    ctxt_mgr = session.create_context_manager()
    self._ctxt_mgrs[connection_str] = ctxt_mgr
    self._last_ctxt_mgr = ctxt_mgr
    if ((self._default_ctxt_mgr is None) or default):
        self._default_ctxt_mgr = ctxt_mgr
    def get_context_manager(context):
        return ctxt_mgr
    with fixtures.MonkeyPatch('nova.db.sqlalchemy.api.get_context_manager', get_context_manager):
        self._cache_schema(connection_str)
        engine = ctxt_mgr.get_legacy_facade().get_engine()
        engine.dispose()
        conn = engine.connect()
        conn.connection.executescript(DB_SCHEMA['main'])
