如何在Flask Migration中定义Integer数组以创建新表

时间:2017-01-05 14:07:31

标签: python postgresql sqlalchemy flask-sqlalchemy flask-migrate

我想使用Flask Migration工具为Postgresql数据库创建Table。

我写了我的烧瓶模型如下:

from flask.ext.security import Security, SQLAlchemyUserDatastore, UserMixin, RoleMixin, utils
class AdminUser(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    allow_center_list = db.Column(db.ARRAY(db.Integer))
    admin_profile_id = db.Column(db.Integer, db.ForeignKey('admin_profile.id'))
    created = db.Column(db.DateTime(), default=datetime.now)
    modified = db.Column(db.DateTime(), default=datetime.now)

    user = db.relationship("User", back_populates="admin_user")
    admin_profile = db.relationship("AdminProfile", back_populates="admin_user")

我想为allow_center_list列使用整数数组。

当我尝试执行“flask db upgrade”命令时(执行init和migrate命令后),我收到如下错误:

sa.Column('allow_center_list', sa.ARRAY(Integer()), nullable=True),NameError: name 'Integer' is not defined

请指导我如何在Flask SQLAlchemy模型中定义Integer数组。

1 个答案:

答案 0 :(得分:2)

这可能与此bug类似。

请尝试sa.Integer()