Domanda

Ho un DB MySQL già esistente con molte colonne definite con i tipi di colonna specifici di MySQL (mediumTint, Tinyint per citarne alcuni), e anche se il tipo di colonna appartiene a un tipo di dati SQL standard, a volte è dichiarato non firmato. .

Ora sto scrivendo un'app di pallone per fornire un'API per accedere a DB in vari modi. Usando Plain SQLalchemy, importerei specifiche tipi di dati definizioni da sqlalchemy.Dialects.mysql, come:

from sqlalchemy import Column
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.dialects.mysql import MEDIUMINT, TINYINT

Base = declarative_base()

class User(Base):
    id = Column(MEDIUMINT(unsigned=True), primary_key=True)
.

Ma mi è stato detto di usare Flask-SQLalchemy, quindi sto dichiarando i miei tavoli come

from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer**(???)**, primary_key=True)
.

Come posso dire a Flask-SQLalchemy che l'ID della colonna è un MySQL mediumTint e che non è firmato?Posso passare, come il primo argomento a "db.Column" una definizione di tipo di dati importata non da "db.something" ma da sqlalchemy.Dialects.mysql, e questa sarebbe una buona pratica (non mi sembra)?

Grazie;)

È stato utile?

Soluzione

Qual è il problema con?

from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy import Column
from sqlalchemy.dialects.mysql import MEDIUMINT, TINYINT

db = SQLAlchemy(app)

class User(db.Model):
    id = Column(MEDIUMINT(unsigned=True), primary_key=True)
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top