sqlmeta.adapters.sqlalchemy

SQLAlchemy integration for sqlmeta.

This module provides functions to convert between sqlmeta objects and SQLAlchemy Table objects.

Example

>>> from sqlmeta import Table, SqlColumn
>>> from sqlmeta.adapters.sqlalchemy import to_sqlalchemy
>>> from sqlalchemy import MetaData
>>>
>>> table = Table("users", columns=[...])
>>> metadata = MetaData()
>>> sa_table = to_sqlalchemy(table, metadata)

Functions

from_sqlalchemy(sa_table)

Convert SQLAlchemy Table to sqlmeta Table.

get_create_ddl(table[, dialect])

Get CREATE TABLE DDL for a sqlmeta Table.

to_sqlalchemy(table[, metadata])

Convert sqlmeta Table to SQLAlchemy Table.

sqlmeta.adapters.sqlalchemy.to_sqlalchemy(table: Table, metadata: MetaData | None = None) Table[source]

Convert sqlmeta Table to SQLAlchemy Table.

Parameters:
  • table – sqlmeta Table object

  • metadata – SQLAlchemy MetaData instance (optional)

Returns:

SQLAlchemy Table object

Example

>>> from sqlmeta import Table, SqlColumn
>>> from sqlalchemy import MetaData
>>>
>>> table = Table("users", columns=[
...     SqlColumn("id", "INTEGER", is_primary_key=True),
...     SqlColumn("email", "VARCHAR(255)", is_nullable=False),
... ])
>>>
>>> metadata = MetaData()
>>> sa_table = to_sqlalchemy(table, metadata)
sqlmeta.adapters.sqlalchemy.from_sqlalchemy(sa_table: Table) Table[source]

Convert SQLAlchemy Table to sqlmeta Table.

Parameters:

sa_table – SQLAlchemy Table object

Returns:

sqlmeta Table object

sqlmeta.adapters.sqlalchemy.get_create_ddl(table: Table, dialect: str = 'postgresql') str[source]

Get CREATE TABLE DDL for a sqlmeta Table.

Parameters:
  • table – sqlmeta Table object

  • dialect – SQL dialect name

Returns:

CREATE TABLE DDL string