mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-08-13 04:44:19 +02:00
table.checks, table.column_checks, table.table_checks, closes #834
Refs #762
This commit is contained in:
parent
f726ea4a65
commit
3db0c57a3b
6 changed files with 775 additions and 1 deletions
|
|
@ -2480,6 +2480,43 @@ Almost all SQLite tables have a ``rowid`` column, but a table with no explicitly
|
|||
False
|
||||
|
||||
|
||||
.. _python_api_introspection_checks:
|
||||
|
||||
.checks
|
||||
-------
|
||||
|
||||
The ``.checks`` property returns the column-level and table-level ``CHECK`` constraints defined on a table, as a list of ``Check`` objects. Each object has ``check`` (the expression inside ``CHECK (...)``), ``name``, ``column`` and ``options`` attributes. ``column`` is an empty string for a table-level check. ``options`` contains a list of values only when a column check consists entirely of ``column IN (literal, ...)``. The original constraint fragment is available as ``sql``; ``start`` and ``end`` are its offsets within ``table.schema``.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
>>> db["scores"].checks
|
||||
[Check(check='score > 0', name='positive', column='score', options=None),
|
||||
Check(check='score <= maximum', name='within_maximum', column='', options=None)]
|
||||
|
||||
.. _python_api_introspection_column_checks:
|
||||
|
||||
.column_checks
|
||||
--------------
|
||||
|
||||
The ``.column_checks`` property returns the column-level checks grouped by column name:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
>>> db["scores"].column_checks
|
||||
{'score': [Check(check='score > 0', name='positive', column='score', options=None)]}
|
||||
|
||||
.. _python_api_introspection_table_checks:
|
||||
|
||||
.table_checks
|
||||
-------------
|
||||
|
||||
The ``.table_checks`` property returns only the table-level checks:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
>>> db["scores"].table_checks
|
||||
[Check(check='score <= maximum', name='within_maximum', column='', options=None)]
|
||||
|
||||
.. _python_api_introspection_foreign_keys:
|
||||
|
||||
.foreign_keys
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue