H5W3
当前位置:H5W3 > 其他技术问题 > 正文

Flask-appbuilder继承已有的Model增加字段,但是数据库表中的字段并没有增加

最近在学习Flask-appbuilder,我写了两个Model,使用db.create_all()方法创建数据库表。
两个Model的代码如下

class Shit(Model):
    id = Column(Integer, primary_key=True)
    name = Column(String(50), unique=True, nullable=False)

    def __repr__(self):
        return self.name

class BigShit(Shit):
    big = Column(Boolean, default=False )

当我写完Shit(原谅,随便起的名字)之后,调用db.create_all(),数据库中对应的表就建好了;
当我写完BigShit之后,再次调用db.create_all(),因为数据库中已经有这个表了,所以字段就没有更新,还是原来的两个字段;
我将shit表从数据库中删除,再次运行,BigShit表的字段就全了。

我想请问一下,当我继承一个Model表来增加字段,如何在不删除原来的表的情况下,让F.A.B自动帮我在数据库中增加这些字段?
3q~

回答:

晓得了,需要使用db migrate技术才可以。


如果想把原来的表删除,然后再新建可以使用如下方法

Model.__table__.drop(db.engine)
db.create_all()

本文地址:H5W3 » Flask-appbuilder继承已有的Model增加字段,但是数据库表中的字段并没有增加

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址