sql >> Base de Datos >  >> RDS >> Mysql

Cómo definir un entero sin signo en SQLAlchemy

Tipos de SQLAlchemy (como Integer ) parecen tratar de cumplir con los tipos de datos SQL estándar. Dado que un "entero sin signo" no es un tipo de datos estándar, no verá algo como un UnsignedInteger o Integer(unsigned=True) .

En casos como estos (donde una base de datos como MySQL tiene un tipo de datos que en sí mismo no es un tipo de datos estándar o tiene opciones que no son estándar) puede acceder a estos tipos/opciones obteniendo tipos específicos del dialecto. Para MySQL, puede acceder a estos tipos a través de sqlalchemy.dialects.mysql módulo , así...

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))