sqlalchemy orm在创建

时间:2017-06-30 16:59:18

标签: python sqlalchemy

当我尝试创建数据库中已存在的表时,如何在sqlalchemy orm中避免此异常:

  

sqlalchemy.exc.InvalidRequestError:已为此MetaData实例定义了表'col1'。指定'extend_existing = True'以重新定义现有Table对象上的选项和列。

Base = automap_base()
Base.prepare(engine, reflect=True)

class Col1(Base):
    __tablename__ = 'col1'
    id = Column(Integer(), primary_key=True)
    name = Column(String())

Base.metadata.create_all(engine)

1 个答案:

答案 0 :(得分:3)

我需要添加{' useexisting':True}

class Col1(Base):
    __tablename__ = 'col1'
    __table_args__ = {'useexisting': True}
    id = Column(Integer(), primary_key=True)
    name = Column(String())