РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
306 of 711 menu

Метод tometadata класса Table

Метод tometadata класса Table создает новый объект таблицы, который является копией исходной таблицы, но привязан к другой коллекции MetaData. Первым параметром метод принимает целевую коллекцию MetaData, в которую будет перенесена таблица. Вторым необязательным параметром передается словарь schema для переопределения схемы. Метод возвращает новый объект Table, а исходная таблица остается без изменений.

Синтаксис

Table.tometadata(metadata, [schema])

Пример

Давайте создадим таблицу в одной коллекции MetaData и перенесем ее в другую:

from sqlalchemy import MetaData, Table, Column, Integer, String metadata1 = MetaData() metadata2 = MetaData() table1 = Table( 'articles', metadata1, Column('id', Integer, primary_key=True), Column('title', String), ) table2 = table1.tometadata(metadata2) print(table1.metadata is metadata1) print(table2.metadata is metadata2) print(table1 is table2)

Результат выполнения кода:

True True False

Пример

Давайте убедимся, что новая таблица содержит те же колонки, что и исходная:

from sqlalchemy import MetaData, Table, Column, Integer, String metadata1 = MetaData() metadata2 = MetaData() table1 = Table( 'articles', metadata1, Column('id', Integer, primary_key=True), Column('title', String), Column('text', String), ) table2 = table1.tometadata(metadata2) print([col.name for col in table2.columns]) print(table2.name)

Результат выполнения кода:

['id', 'title', 'text'] "articles"

Пример

Давайте переопределим схему при переносе таблицы с помощью параметра schema:

from sqlalchemy import MetaData, Table, Column, Integer, String metadata1 = MetaData() metadata2 = MetaData() table1 = Table( 'articles', metadata1, Column('id', Integer, primary_key=True), Column('title', String), ) table2 = table1.tometadata(metadata2, schema='archive') print(table1.schema) print(table2.schema) print(table2.fullname)

Результат выполнения кода:

None "archive" "archive.articles"

Смотрите также

  • класс Table,
    который представляет таблицу базы данных
  • метод create,
    который создает таблицу в базе данных
  • атрибут schema,
    который хранит имя схемы таблицы
  • атрибут fullname,
    который возвращает полное имя таблицы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить