0

我想为我的Postgresql数据库使用Flask迁移工具创建表。如何在Flask迁移中定义Integer数组以创建新的表

我写我的烧瓶模型如下:

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列。

当我尝试执行“烧瓶DB升级”命令(执行初始化后,并迁移命令),我得到的错误如下:

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

请指导我如何能在瓶SQLAlchemy的模型中定义整型数组。

+2

当然,它应该是'db.Integer',就像你在其他地方使用过的那样? –

+0

我写了db.Integer(即使我也尝试过Integer),这两种情况都会得到相同的错误。 –

回答

2

这可能类似于这个bug

尝试sa.Integer()

+0

非常感谢@acv。 它的工作原理。 :) –

+0

太好了。你可以点击我的答案上的“接受”。 – ACV

相关问题