oslo_db.sqlalchemy.types
Module¶oslo_db.sqlalchemy.types.
JsonEncodedDict
(mysql_as_long=False, mysql_as_medium=False)¶Bases: oslo_db.sqlalchemy.types.JsonEncodedType
Represents dict serialized as json-encoded string in db.
Note that this type does NOT track mutations. If you want to update it, you have to assign existing value to a temporary variable, update, then assign back. See this page for more robust work around: http://docs.sqlalchemy.org/en/rel_1_0/orm/extensions/mutable.html
type
¶alias of dict
oslo_db.sqlalchemy.types.
JsonEncodedList
(mysql_as_long=False, mysql_as_medium=False)¶Bases: oslo_db.sqlalchemy.types.JsonEncodedType
Represents list serialized as json-encoded string in db.
Note that this type does NOT track mutations. If you want to update it, you have to assign existing value to a temporary variable, update, then assign back. See this page for more robust work around: http://docs.sqlalchemy.org/en/rel_1_0/orm/extensions/mutable.html
type
¶alias of list
oslo_db.sqlalchemy.types.
JsonEncodedType
(mysql_as_long=False, mysql_as_medium=False)¶Bases: sqlalchemy.sql.type_api.TypeDecorator
Base column type for data serialized as JSON-encoded string in db.
impl
¶alias of Text
process_bind_param
(value, dialect)¶process_result_value
(value, dialect)¶type
= None¶oslo_db.sqlalchemy.types.
SoftDeleteInteger
(*args, **kwargs)¶Bases: sqlalchemy.sql.type_api.TypeDecorator
Coerce a bound param to be a proper integer before passing it to DBAPI.
Some backends like PostgreSQL are very strict about types and do not
perform automatic type casts, e.g. when trying to INSERT a boolean value
like false
into an integer column. Coercing of the bound param in DB
layer by the means of a custom SQLAlchemy type decorator makes sure we
always pass a proper integer value to a DBAPI implementation.
This is not a general purpose boolean integer type as it specifically
allows for arbitrary positive integers outside of the boolean int range
(0, 1, False, True), so that it’s possible to have compound unique
constraints over multiple columns including deleted
(e.g. to
soft-delete flavors with the same name in Nova without triggering
a constraint violation): deleted
is set to be equal to a PK
int value on deletion, 0 denotes a non-deleted row.
impl
¶alias of Integer
process_bind_param
(value, dialect)¶Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.