Mysql
 sql >> Database >  >> RDS >> Mysql

Come definire un intero senza segno in SQLAlchemy

Tipi SQLAlchemy (come Intero ) sembrano cercare di rispettare i tipi di dati SQL standard. Poiché un "intero senza segno" non è un tipo di dati standard, non vedrai qualcosa come un UnsignedInteger o Integer(unsigned=True) .

In casi come questi (in cui un database come MySQL ha un tipo di dati che di per sé non è un tipo di dati standard o ha opzioni che non sono standard) è possibile accedere a questi tipi/opzioni ottenendo tipi specifici del dialetto. Per MySQL, puoi accedere a questi tipi tramite sqlalchemy.dialects.mysql modulo , così...

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