DDL

Because of some of the limitations in the SQLAlchemy API, it’s not possible to create tables using sqlalchemy.schema.Table.create() or sqlalchemy.schema.MetaData.create_all(). Luckily, SQLAlchemy provides an API that still makes it possible to create tables and perform other DDL operations.

Instead of:

users = Table("users", metadata,
    Column("id", Integer(), primary_key=True),
    Column("name", String()),
)

users.create(engine)

or

metadata.create_all()

You can use sqlalchemy.schema.CreateTable:

from sqlalchemy.schema import CreateTable

d = engine.execute(CreateTable(users))