【发布时间】:2020-04-26 15:31:50
【问题描述】:
这是我的第一个模型:
class Userauth(db.Model):
__tablename__ = 'userauth'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(50), unique = True, nullable = False)
password = db.Column(db.String(50), nullable = False)
在我的数据库中创建表后,我正在尝试注册或创建新用户,但出现此错误:
"Something went wrong: (psycopg2.errors.StringDataRightTruncation) value too long for type character varying(50)"
我意识到我对密码进行了编码,使其超过 50 个字符,所以我从
更改了我的密码password = db.Column(db.String(50), nullable = False)
到
password = db.Column(db.String(150), nullable = False)
但我仍然遇到同样的错误。当我检查我的数据库时,我的表没有将 char 值从 50 更改为 150。我已经使用 python manage.py db migrate 和 upgrade 迁移和升级了我的数据库,并且没有错误但是为什么我的表没有改变?有什么简单的方法可以更改或更新我们在 Flask 中的表格吗? (我也使用 flask-sqlalchemy),谢谢。
【问题讨论】:
-
显然您正在使用适用于 django 的迁移命令,但您使用的是烧瓶,应首先检查如何在烧瓶中迁移
-
我在 manage.py 文件中使用了来自
flask_migrate的Migrate, MigrateCommand
标签: python sql flask flask-sqlalchemy