LINUX.ORG.RU

добавить MetaData к существующей таблице (SQLAlchemy)

 ,


0

1

Существуют таблицы, они заполнены и используются. И, возникла необходимость в миграции. Выбрал alembic и он требует MetaData object.

Как можно добавить к существующей таблице объект MetaData?

Таблица создавалась средствами SQLAlchemy:


class ATable(Base):
    
    __tablename__ = 'atable'

    id = Column(Integer, primary_key=True)
    type = Column(String, nullable=False)
    name = Column(String, nullable=False)
    # ...
    def __init__(self, **kwa):
        self.__dict__.update(kwa)
    
    def __repr__(self):
        return str(self.__dict__)

# ...
from sqlalchemy import create_engine
from sqlalchemy import MetaData
    
engine = create_engine(dbsetting, echo=True)
metaData = MetaData(bind=engine)
metaData.create_all(tables=[ATable.__table__])

P.S. Хотя, может эти метаданные есть, но где их искать?

ERROR [alembic.util.messaging] Can't proceed with --autogenerate option; environment script /home/user/project/alembic/env.py does not provide a MetaData object or sequence of objects to the context.
  FAILED: Can't proceed with --autogenerate option; environment script /home/user/project/alembic/env.py does not provide a
  MetaData object or sequence of objects to the context.

Для того чтобы оставить комментарий войдите или зарегистрируйтесь.