擅长:python、mysql、java
<p>值得注意的是,如果这样做,您可能希望在迁移过程中冻结orm模型<em>的副本,如下所示:</p>
<pre><code>class MyType(Base):
__tablename__ = 'existing_table'
__table_args__ = {'extend_existing': True}
id = Column(Integer, ...)
..
def upgrade():
Base.metadata.bind = op.get_bind()
for item in Session.query(MyType).all():
...
</code></pre>
<p>否则,您将不可避免地陷入orm模型更改和以前的迁移<em>不再工作</em>的情况。</p>
<p>特别要注意的是,您希望扩展基类型,而不是基类型本身(app.models.MyType),因为您的类型可能会在某个时候消失,而且您的迁移将再次失败。</p>