Example #1
0
 def create(self, context):
     session = db_session.get_session()
     with session.begin():
         try:
             session.add(self)
         except db_exc.DBDuplicateEntry as e:
             self.__class__._duplicate_object(e, self)
Example #2
0
 def create(self, context):
     session = db_session.get_session(mysql_traditional_mode=True)
     try:
         with session.begin():
             session.add(self)
     except (db_exc.DBDuplicateEntry) as e:
         self.__class__._raise_duplicate_object(e, self)
Example #3
0
def get_manager():
    # Our CONF object is not the same as the db one so make sure the
    # database.connection is made know to the oslo DB layer.
    session.set_defaults(sql_connection=CONF.database.connection, sqlite_db='')
    session.get_session(mysql_traditional_mode=True)
    alembic_path = os.path.join(os.path.dirname(__file__), '..', 'objects',
                                'sqlalchemy', 'migration', 'alembic.ini')
    migrate_path = os.path.join(os.path.dirname(__file__), '..', 'objects',
                                'sqlalchemy', 'migration',
                                'alembic_migrations')
    migration_config = {
        'alembic_ini_path': alembic_path,
        'migration_repo_path': migrate_path,
        'alembic_repo_path': migrate_path
    }
    return migration_manager.MigrationManager(migration_config)
Example #4
0
 def get_by_id(cls, context, item_id):
     query = db_session.get_session(
         mysql_traditional_mode=True).query(cls).filter_by(id=item_id)
     result = query.first()
     if not result:
         cls._raise_not_found(item_id)
     return result
Example #5
0
 def create(self, context):
     session = db_session.get_session()
     with session.begin():
         try:
             session.add(self)
         except db_exc.DBDuplicateEntry as e:
             self.__class__._duplicate_object(e, self)
Example #6
0
    def save(self, context):
        if objects.transition_schema():
            self.add_forward_schema_changes()

        session = db_session.get_session(mysql_traditional_mode=True)
        with session.begin():
            session.merge(self)
Example #7
0
def get_manager():
    CONF.import_opt('connection',
                    'solum.openstack.common.db.sqlalchemy.session',
                    group='database')
    session.set_defaults(sql_connection=CONF.database.connection,
                         sqlite_db='')
    session.get_session(mysql_traditional_mode=True)
    alembic_path = os.path.join(os.path.dirname(__file__),
                                '..', 'objects', 'sqlalchemy',
                                'migration', 'alembic.ini')
    migrate_path = os.path.join(os.path.dirname(__file__),
                                '..', 'objects', 'sqlalchemy',
                                'migration', 'alembic_migrations')
    migration_config = {'alembic_ini_path': alembic_path,
                        'migration_repo_path': migrate_path,
                        'alembic_repo_path': migrate_path}
    return migration_manager.MigrationManager(migration_config)
Example #8
0
def get_manager():
    CONF.import_opt('connection',
                    'solum.openstack.common.db.sqlalchemy.session',
                    group='database')
    session.set_defaults(sql_connection=CONF.database.connection, sqlite_db='')
    session.get_session(mysql_traditional_mode=True)
    alembic_path = os.path.join(os.path.dirname(__file__), '..', 'objects',
                                'sqlalchemy', 'migration', 'alembic.ini')
    migrate_path = os.path.join(os.path.dirname(__file__), '..', 'objects',
                                'sqlalchemy', 'migration',
                                'alembic_migrations')
    migration_config = {
        'alembic_ini_path': alembic_path,
        'migration_repo_path': migrate_path,
        'alembic_repo_path': migrate_path
    }
    return manager.MigrationManager(migration_config)
Example #9
0
def model_query(context, model, *args, **kwargs):
    """Query helper.

    :param context: context to query under
    :param session: if present, the session to use
    """

    session = kwargs.get('session') or db_session.get_session()
    query = session.query(model, *args)
    return query
Example #10
0
def model_query(context, model, *args, **kwargs):
    """Query helper.

    :param context: context to query under
    :param session: if present, the session to use
    """

    session = kwargs.get("session") or db_session.get_session()
    query = session.query(model, *args)
    return query
Example #11
0
File: models.py Project: alex/solum
def model_query(context, model, *args, **kwargs):
    """Query helper.

    :param context: context to query under
    :param session: if present, the session to use
    """

    session = kwargs.get('session') or db_session.get_session(
        mysql_traditional_mode=True)

    query = session.query(model, *args)
    return query
Example #12
0
def run_migrations_online():
    """Run migrations in 'online' mode.

    In this scenario we need to create an Engine
    and associate a connection with the context.

    """
    engine = sqlalchemy_session.get_session().get_bind()

    with engine.connect() as connection:
        context.configure(connection=connection,
                          target_metadata=target_metadata)
        with context.begin_transaction():
            context.run_migrations()
Example #13
0
File: env.py Project: alex/solum
def run_migrations_online():
    """Run migrations in 'online' mode.

    In this scenario we need to create an Engine
    and associate a connection with the context.

    """
    engine = sqlalchemy_session.get_session().get_bind()

    with engine.connect() as connection:
        context.configure(connection=connection,
                          target_metadata=target_metadata)
        with context.begin_transaction():
            context.run_migrations()
Example #14
0
 def save(self, session=None):
     """Save this object."""
     if not session:
         session = sa.get_session()
     # NOTE(boris-42): This part of code should be look like:
     #                       session.add(self)
     #                       session.flush()
     #                 But there is a bug in sqlalchemy and eventlet that
     #                 raises NoneType exception if there is no running
     #                 transaction and rollback is called. As long as
     #                 sqlalchemy has this bug we have to create transaction
     #                 explicitly.
     with session.begin(subtransactions=True):
         session.add(self)
         session.flush()
Example #15
0
 def save(self, session=None):
     """Save this object."""
     if not session:
         session = sa.get_session()
     # NOTE(boris-42): This part of code should be look like:
     #                       sesssion.add(self)
     #                       session.flush()
     #                 But there is a bug in sqlalchemy and eventlet that
     #                 raises NoneType exception if there is no running
     #                 transaction and rollback is called. As long as
     #                 sqlalchemy has this bug we have to create transaction
     #                 explicity.
     with session.begin(subtransactions=True):
         session.add(self)
         session.flush()
Example #16
0
 def get_by_id(cls, context, item_id):
     query = db_session.get_session().query(cls).filter_by(id=item_id)
     result = query.first()
     if not result:
         cls._not_found(item_id)
     return result
Example #17
0
def get_dummy_session():
    return session.get_session()
Example #18
0
def get_dummy_session():
    return session.get_session()
Example #19
0
 def get_by_uuid(cls, context, item_uuid):
     query = db_session.get_session().query(cls).filter_by(uuid=item_uuid)
     result = query.first()
     if not result:
         cls._raise_not_found(item_uuid)
     return result
Example #20
0
 def get_by_uuid(cls, context, item_uuid):
     try:
         return db_session.get_session().query(cls).filter_by(
             uuid=item_uuid).one()
     except sqlalchemy.orm.exc.NoResultFound:
         cls._raise_not_found(item_uuid)
Example #21
0
 def get_session(cls):
     return db_session.get_session(mysql_traditional_mode=True)
Example #22
0
 def destroy(self, context):
     session = db_session.get_session()
     with session.begin():
         session.query(self.__class__).\
             filter_by(id=self.id).\
             delete()
Example #23
0
 def destroy(self, context):
     session = db_session.get_session()
     with session.begin():
         session.query(self.__class__).filter_by(id=self.id).delete()
Example #24
0
 def destroy(self, context):
     session = db_session.get_session(mysql_traditional_mode=True)
     with session.begin():
         session.query(self.__class__).\
             filter_by(id=self.id).\
             delete()
Example #25
0
 def get_session(cls):
     return db_session.get_session(mysql_traditional_mode=True)