Язык определения схемы¶
Этот раздел относится к SQLAlchemy schema metadata, комплексной системе описания и проверки схем баз данных.
Основу операций SQLAlchemy по созданию запросов и отображению объектов составляют метаданные базы данных, которые состоят из объектов Python, описывающих таблицы и другие объекты уровня схемы. Эти объекты лежат в основе трех основных типов операций - создание операторов CREATE и DROP (известных как DDL), построение SQL-запросов и выражение информации о структурах, уже существующих в базе данных.
Метаданные базы данных могут быть выражены путем явного именования различных компонентов и их свойств с помощью таких конструкций, как Table
, Column
, ForeignKey
и Sequence
, которые импортируются из пакета sqlalchemy.schema
. Он также может быть сгенерирован SQLAlchemy с помощью процесса, называемого отражение, что означает, что вы начинаете с одного объекта, такого как Table
, присваиваете ему имя, а затем инструктируете SQLAlchemy загрузить всю дополнительную информацию, связанную с этим именем, из определенного источника движка.
Ключевой особенностью конструкций метаданных базы данных SQLAlchemy является то, что они разработаны для использования в декларативном стиле, который очень похож на стиль реального DDL. Поэтому они наиболее интуитивно понятны тем, кто имеет некоторый опыт в создании реальных скриптов генерации схем.
- Описание баз данных с помощью метаданных
- Отражение объектов базы данных
- Колонки INSERT/UPDATE по умолчанию
- Скалярные значения по умолчанию
- Функции, исполняемые в Python
- Выражения SQL, вызываемые клиентом
- Выражения по умолчанию DDL-Explicit, вызываемые сервером
- Маркировка неявно генерируемых значений, временных меток и триггерных столбцов
- Определение последовательностей
- Вычисляемые столбцы (генерируются ВСЕГДА КАК)
- Колонки идентичности (генерируются { ВСЕГДА | ПО ОПРЕДЕЛЕНИЮ } КАК ИДЕНТИЧНОСТЬ)
- API объектов по умолчанию
- Определение ограничений и индексов
- Настройка DDL