Represent the DOMAIN PostgreSQL type. A domain is essentially a data type with optional constraints that restrict the allowed set of values. E.g.:: PositiveInt = Domain( "pos_int", Integer, check="VALUE > 0", not_null=True ) UsPostalCode = Domain( "us_postal_code", Text, check="VALUE ~ '^\d{5}$' OR VALUE ~ '^\d{5}-\d{4}$'" ) See the `PostgreSQL documentation`__ for additional details __ https://www.postgresql.org/docs/current/sql-createdomain.html .. versionadded:: 2.0
Class Method | __test |
Undocumented |
Method | __init__ |
Construct a DOMAIN. |
Class Variable | __visit |
Undocumented |
Instance Variable | check |
Undocumented |
Instance Variable | collation |
Undocumented |
Instance Variable | constraint |
Undocumented |
Instance Variable | create |
Undocumented |
Instance Variable | data |
Undocumented |
Instance Variable | default |
Undocumented |
Instance Variable | not |
Undocumented |
Inherited from NamedType
:
Method | create |
Emit ``CREATE`` DDL for this type. |
Method | drop |
Emit ``DROP`` DDL for this type. |
Class Variable | __abstract__ |
Undocumented |
Class Variable |
|
Undocumented |
Class Variable |
|
Undocumented |
Method | _check |
Look in the 'ddl runner' for 'memos', then note our name in that collection. |
Method | _on |
Undocumented |
Method | _on |
Undocumented |
Method | _on |
Undocumented |
Method | _on |
Undocumented |
Inherited from TypeEngine
(via NamedType
):
Class |
|
Base class for custom comparison operations defined at the type level. See :attr:`.TypeEngine.comparator_factory`. |
Method | __repr__ |
Undocumented |
Method | __str__ |
Undocumented |
Method | adapt |
Produce an "adapted" form of this type, given an "impl" class to work with. |
Method | as |
Return an instance of the generic type corresponding to this type using heuristic rule. The method may be overridden if this heuristic rule is not sufficient. |
Method | bind |
Given a bind value (i.e. a :class:`.BindParameter` instance), return a SQL expression in its place. |
Method | bind |
Return a conversion function for processing bind values. |
Method | coerce |
Suggest a type for a 'coerced' Python value in an expression. |
Method | column |
Given a SELECT column expression, return a wrapping SQL expression. |
Method | compare |
Compare this type against the given backend type. |
Method | compare |
Compare two values for equality. |
Method | compile |
Produce a string-compiled form of this :class:`.TypeEngine`. |
Method | copy |
Undocumented |
Method | copy |
Undocumented |
Method | dialect |
Return a dialect-specific implementation for this :class:`.TypeEngine`. |
Method | evaluates |
Return a copy of this type which has the :attr:`.should_evaluate_none` flag set to True. |
Method | get |
Return the corresponding type object from the underlying DB-API, if any. |
Method | literal |
Return a conversion function for processing literal values that are to be rendered directly without using binds. |
Method | result |
Return a conversion function for processing result row values. |
Method | with |
Produce a copy of this type object that will utilize the given type when applied to the dialect of the given name. |
Class Variable | hashable |
Flag, if False, means values from this type aren't hashable. |
Class Variable | render |
Render bind casts for :attr:`.BindTyping.RENDER_CASTS` mode. |
Class Variable | render |
render casts when rendering a value as an inline literal, e.g. with :meth:`.TypeEngine.literal_processor`. |
Class Variable | should |
If True, the Python constant ``None`` is considered to be handled explicitly by this type. |
Class Variable | sort |
A sorting function that can be passed as the key to sorted. |
Property | python |
Return the Python type object expected to be returned by instances of this type, if known. |
Static Method | _to |
Undocumented |
Method | _cached |
Return a dialect-specific bind processor for this type. |
Method | _cached |
return a dialect-specific processing object for custom purposes. |
Method | _cached |
Return a dialect-specific literal processor for this type. |
Method | _cached |
Return a dialect-specific result processor for this type. |
Method | _compare |
Undocumented |
Method | _default |
Undocumented |
Method | _dialect |
Return a dialect-specific registry which caches a dialect-specific implementation, bind processing function, and one or more result processing functions. |
Method | _gen |
Undocumented |
Method | _resolve |
adjust this type given a literal Python value that will be stored in a bound parameter. |
Method | _resolve |
given a Python type (e.g. ``int``, ``str``, etc. ) return an instance of this :class:`.TypeEngine` that's appropriate for this type. |
Method | _unwrapped |
Return the 'unwrapped' dialect impl for this type. |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _isnull |
Undocumented |
Class Variable | _sqla |
Undocumented |
Property | _generic |
Undocumented |
Property | _has |
memoized boolean, check if bind_expression is implemented. |
Property | _has |
memoized boolean, check if column_expression is implemented. |
Property | _static |
Undocumented |
Property | _type |
Return a rudimental 'affinity' value expressing the general class of type. |
Inherited from Visitable
(via NamedType
, TypeEngine
):
Method | __class |
Undocumented |
Method | __init |
Undocumented |
Class Variable | __slots__ |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _compiler |
Undocumented |
Class Variable | _original |
Undocumented |
Inherited from SchemaType
(via NamedType
, TypeEngine
, Visitable
):
Instance Variable | dispatch |
Undocumented |
Instance Variable | inherit |
Undocumented |
Instance Variable | metadata |
Undocumented |
Instance Variable | name |
Undocumented |
Instance Variable | schema |
Undocumented |
Method | _is |
Undocumented |
Method | _set |
Associate with this SchemaEvent's parent object. |
Method | _set |
Undocumented |
Method | _variant |
Undocumented |
Class Variable | _use |
Undocumented |
Instance Variable | _create |
Undocumented |
Inherited from SchemaEventTarget
(via NamedType
, TypeEngine
, Visitable
, SchemaType
):
Method | _set |
Undocumented |
str
, data_type: _TypeEngineArgument[ Any]
, *, collation: Optional[ str]
= None, default: Optional[ Union[ str, elements.TextClause]]
= None, constraint_name: Optional[ str]
= None, not_null: Optional[ bool]
= None, check: Optional[ str]
= None, create_type: bool
= True, **kw: Any
):
(source)
¶
Construct a DOMAIN. :param name: the name of the domain :param data_type: The underlying data type of the domain. This can include array specifiers. :param collation: An optional collation for the domain. If no collation is specified, the underlying data type's default collation is used. The underlying type must be collatable if ``collation`` is specified. :param default: The DEFAULT clause specifies a default value for columns of the domain data type. The default should be a string or a :func:`_expression.text` value. If no default value is specified, then the default value is the null value. :param constraint_name: An optional name for a constraint. If not specified, the backend generates a name. :param not_null: Values of this domain are prevented from being null. By default domain are allowed to be null. If not specified no nullability clause will be emitted. :param check: CHECK clause specify integrity constraint or test which values of the domain must satisfy. A constraint must be an expression producing a Boolean result that can use the key word VALUE to refer to the value being tested. Differently from PostgreSQL, only a single check clause is currently allowed in SQLAlchemy. :param schema: optional schema name :param metadata: optional :class:`_schema.MetaData` object which this :class:`_postgresql.DOMAIN` will be directly associated :param create_type: Defaults to True. Indicates that ``CREATE TYPE`` should be emitted, after optionally checking for the presence of the type, when the parent table is being created; and additionally that ``DROP TYPE`` is called when the table is dropped.