Python 声明的模型未应用于Flask中的现有数据库

Python 声明的模型未应用于Flask中的现有数据库,python,flask,Python,Flask,我已经在我的models.py文件中创建了一个名为User的模型,我也在我的Flask应用程序中按比例添加了followers功能,但是当我在models.py文件中添加followers表时,在存储数据库的site.db文件中没有反映或应用该功能。我得到一个错误sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)没有这样的表:followers 这是我的models.py文件 followers = db.Table('follo

我已经在我的models.py文件中创建了一个名为
User
的模型,我也在我的Flask应用程序中按比例添加了followers功能,但是当我在models.py文件中添加followers表时,在存储数据库的site.db文件中没有反映或应用该功能。我得到一个错误
sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)没有这样的表:followers

这是我的models.py文件

followers = db.Table('followers',
    db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
)

class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
    password = db.Column(db.String(60), nullable=False)
    posts = db.relationship('Post', backref='author', lazy=True)

    followed = db.relationship(
        'User', secondary=followers,
        primaryjoin=(followers.c.follower_id == id),
        secondaryjoin=(followers.c.followed_id == id),
        backref=db.backref('followers', lazy='dynamic'), lazy='dynamic')
我也使用了命令
flaskdb-migrate
flaskdb-upgrade
,但它仍然抛出该错误


如何在数据库中应用这些更改?

您应该首先为
追随者初始化/创建表。请阅读:

这样的系统需要一个模式来告诉他们如何存储这些信息。因此,在第一次启动服务器之前,创建该模式非常重要

下面是Flask使用模式SQL脚本创建数据库、表等的示例:

sqlite3 /tmp/flaskr.db < schema.sql
sqlite3/tmp/flaskr.db
您应该首先为
追随者初始化/创建表。请阅读:

这样的系统需要一个模式来告诉他们如何存储这些信息。因此,在第一次启动服务器之前,创建该模式非常重要

下面是Flask使用模式SQL脚本创建数据库、表等的示例:

sqlite3 /tmp/flaskr.db < schema.sql
sqlite3/tmp/flaskr.db