Я использую SQLAlchemy ORM Framework из проекта Flask.Я хотел добавить еще одну колонку к одной из моих моделей.После этого я использовал db.session.drop_all()
, чтобы удалить все текущие записи в базе данных, а затем попытался воссоздать новый экземпляр с новым полем.
Всякий раз, когда я пытался, я получаю эту ошибку
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no
such table: user
[SQL: SELECT user.id AS user_id, user.username AS user_username, user.email AS user_email, user.password AS user_password, user.image_file AS user_image_file
FROM user]
Я думаю, что мне может понадобиться каким-то образом восстановить базу данных, но я не уверен, как.Я просмотрел документацию, но не смог найти ничего полезного.
__ init __. Py
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
models.py
class User(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(40), unique=True, nullable=False) #newly added field
password = db.Column(db.String(60), nullable=False)
image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
messages = db.relationship('Message', backref='user', lazy=True)