Sqlalchemy Alembic迁移:如何删除多态标识
我有以下设置Sqlalchemy Alembic迁移:如何删除多态标识,sqlalchemy,alembic,Sqlalchemy,Alembic,我有以下设置 class Content(Base): """Content object""" __tablename__ = "content" id = Column(Integer, primary_key=True) name = Column(Unicode(255),unique=True, nullable=False) title = Column(Unicode(255)) body = Column(UnicodeText)
class Content(Base):
"""Content object"""
__tablename__ = "content"
id = Column(Integer, primary_key=True)
name = Column(Unicode(255),unique=True, nullable=False)
title = Column(Unicode(255))
body = Column(UnicodeText)
created = Column(DateTime, default=func.now())
modified = Column(DateTime, onupdate=func.now())
type = Column(String(20))
__mapper_args__ = {
'polymorphic_on':type,
'polymorphic_identity':'content',
'with_polymorphic':'*'
}
class Locality(Content):
__tablename__ = "local"
id = Column(Integer, ForeignKey('content.id'),primary_key=True)
city_name = Column(Unicode(80))
__mapper_args__ = {'polymorphic_identity':'city'}
现在,我使用alembic删除了Location表。
每次查询内容时,我都会得到
AssertionError: No such polymorphic_identity 'city' is defined
我如何删除这个多态性标识我通过MySQL控制台对内容应用MySQL“delete from”命令,找到类型为“city”的内容,从而克服了这个问题
delete from content where content.type='city';