我alembic
用来维护我的桌子。同时,我使用声明方式更新我的模型。
这是 alembic 的一张桌子:
op.create_table(
'groups',
Column('id', Integer, Sequence('group_id_seq'), primary_key=True),
Column('name', Unicode(50)),
Column('description', Unicode(250)),
)
模型如下:
class Group(Base):
__tablename__ = 'groups'
id = Column(Integer, Sequence('group_id_seq'), primary_key=True)
name = Column(Unicode(50))
description = Column(Unicode(250))
def __init__(self, name, description):
self.description = description
self.name = name
您可以看到,我Sequence
在 alembic 迁移和声明性模型中都使用了 。
但我注意到,当使用 PostgreSQL (v9.1) 时,alembic 不会创建任何序列,因此模型无法创建实例,因为它们将使用该nextval(<sequence name>)
子句。
那么,如何创建我的 alembic 迁移,以便在 postgresql 中真正生成序列?