관리-도구
편집 파일: schema.cpython-311.pyc
� �܋fT� � �� � d Z ddlmZ ddlZddlZddlZddlmZ ddlmZ ddlm Z ddl mZ dd l mZ dd l m Z ddl mZ ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ej d� � Z ej dd� � Z d� Z!d� Z"ej# G d� d ee j$ � � � � Z% G d!� d"e e%e� � Z& G d#� d$e e%e� � Z' G d%� d&e e%� � Z( G d'� d(e)� � Z* G d)� d*e*e%� � Z+ G d+� d,e+� � Z, G d-� d.e)� � Z- G d/� d0e-e+� � Z.ej# G d1� d2e*e� � � � Z/ G d3� d4e/� � Z0 ej1 d5d6� � G d7� d8e0� � � � Z2 G d9� d:e e%� � Z3d;� Z4d<� Z5 G d=� d>e)� � Z6 G d?� d@e6e3� � Z7 G dA� dBe7� � Z8 G dC� dDe7� � Z9 G dE� dFe7� � Z: G dG� dHe7� � Z; G dI� dJe e6e%� � Z< ej= dKdLi� � Z> G dM� dNe%� � Z? G dO� dPe?� � Z@ G dQ� dRe)� � ZA eAd� � ZBeAjC ZC G dS� dTe/e%� � ZDdS )Ua/ The schema module provides the building blocks for database metadata. Each element within this module describes a database entity which can be created and dropped, or is otherwise part of such an entity. Examples include tables, columns, sequences, and indexes. All entities are subclasses of :class:`~sqlalchemy.schema.SchemaItem`, and as defined in this module they are intended to be agnostic of any vendor-specific constructs. A collection of entities are grouped into a unit called :class:`~sqlalchemy.schema.MetaData`. MetaData serves as a logical grouping of schema elements, and can also be associated with an actual database connection such that operations involving the contained elements can contact the database as needed. Two of the elements here also build upon their "syntactic" counterparts, which are defined in :class:`~sqlalchemy.sql.expression.`, specifically :class:`~sqlalchemy.schema.Table` and :class:`~sqlalchemy.schema.Column`. Since these objects are part of the SQL expression language, they are usable as components in SQL expressions. � )�absolute_importN� )�ddl)�type_api)�visitors)�_bind_or_error)�ColumnCollection)� DialectKWArgs)�SchemaEventTarget)� _as_truncated)�_document_text_coercion)�_literal_as_text)� ClauseElement)�ColumnClause)� ColumnElement)�quoted_name)� TextClause)�TableClause� ��event)�exc)� inspection)�util� retain_schema�blank_schemaz�Symbol indicating that a :class:`_schema.Table` or :class:`.Sequence` should have 'None' for its schema, even if the parent :class:`_schema.MetaData` has specified a schema. .. versionadded:: 1.0.14 c � � |�| S |dz | z S )N�.� )�name�schemas �L/opt/cloudlinux/venv/lib64/python3.11/site-packages/sqlalchemy/sql/schema.py�_get_table_keyr# I s � � �~�����|�d�"�"� c �J ��� ����| S ��fd�}t j | i |� � S )Nc � �� t | t � � r)| j �u r | j �j v r�j | j S d S �N)� isinstance�Column�table�key�c)�col�source_table�target_tables ��r"