我正在用Flask SQLAlchemy(MySQL)将门户迁移到Flask。下面是我用于为现有门户创建数据库的代码:
Users = """CREATE TABLE Users(
id INT UNSIGNED AUTO_INCREMENT NOT NULL,
UserName VARCHAR(40) NOT NULL,
FirstName VARCHAR(40) NOT NULL,
LastName VARCHAR(40) NOT NULL,
EmailAddress VARCHAR(255) NOT NULL,
Password VARCHAR(40) NOT NULL,
PRIMARY KEY (id)
) """
下面是我在SQLAlchemy中使用它的方法:
class Users(db.Model):
id = db.Column(db.Integer, primary_key=True)
UserName = db.Column(db.String(40))
FirstName = db.Column(db.String(40))
LastName = db.Column(db.String(40))
EmailAddress = db.Column(db.String(255))
Password = db.Column(db.String(40))
我的问题是,如何将SQLAlchemy模型指定为无符号整数?
可能已经很晚了,但是如果您希望您的模型类能够管理多个数据库引擎,比如MySQL和SqlLite(例如在单元测试期间)。你能做的是:
在声明模型中:
SQLAlchemy类型(例如Integer)似乎试图遵守标准的SQL数据类型。由于“unsigned integer”不是标准数据类型,因此您不会看到类似
UnsignedInteger
或Integer(unsigned=True)
的内容。在这种情况下(例如MySQL这样的数据库本身不是标准数据类型或具有非标准选项的数据类型),可以通过获取特定于方言的类型来访问这些类型/选项。对于MySQL,您可以通过^{} module 访问这些类型,就像这样。。。
相关问题 更多 >
编程相关推荐