SQLAlchemy-typen (zoals Integer
) lijken te proberen zich te houden aan de standaard SQL-gegevenstypen. Aangezien een "unsigned integer" geen standaard gegevenstype is, ziet u niet zoiets als een UnsignedInteger
of Integer(unsigned=True)
.
In dergelijke gevallen (waar een database zoals MySQL een datatype heeft dat zelf geen standaard datatype is of opties heeft die niet standaard zijn) kun je toegang krijgen tot deze typen/opties door dialectspecifieke typen te krijgen. Voor MySQL hebt u toegang tot deze typen via de sqlalchemy.dialects.mysql
module
, vind ik leuk...
from sqlalchemy.dialects.mysql import INTEGER
class Users(db.Model):
id = db.Column(INTEGER(unsigned=True), 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))