如何将列添加到现有表中?Flask炼金术

2024-06-16 15:31:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为User:

class User(db.Model):
    id = db.Column(db.INTEGER, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)

我现在已经编辑并添加了这一行favCol = db.Column(db.String(12))

当我添加新用户时,如何更新表以使其能够识别这个新列? 当我创建一个像User(username="bob",favCol="red")这样的用户时 这给了我一个错误:

TypeError: 'favCol' is an invalid keyword argument for User

我听说过使用Migrate的解决方案,但如果可能的话,我更喜欢使用更简单的解决方案


Tags: key用户idtruedbstringmodelusername
1条回答
网友
1楼 · 发布于 2024-06-16 15:31:22

如果您不关心数据库中的数据被删除。 您可以执行以下操作:

从终点站 如果“py”不能启动python,请尝试“python”。 在每个命令后按enter键

py
from projectdirectory import db
db.drop_all()
db.create_all()

如果您关心现有数据,则需要使用类似flask_migrate的东西,它使用alembic来帮助您在维护数据的同时进行数据库迁移

相关问题 更多 >