Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como definir um inteiro não assinado no SQLAlchemy


Tipos SQLAlchemy (como Integer ) parecem tentar respeitar os tipos de dados SQL padrão. Como um "inteiro não assinado" não é um tipo de dados padrão, você não verá algo como um UnsignedInteger ou Integer(unsigned=True) .

Em casos como esses (onde um banco de dados como o MySQL tem um tipo de dados que não é um tipo de dados padrão ou tem opções que não são padrão), você pode acessar esses tipos/opções obtendo tipos específicos de dialeto. Para MySQL, você pode acessar esses tipos através do sqlalchemy.dialects.mysql módulo , igual a...
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))