Question

J'ai un DB MySQL déjà existant avec de nombreuses colonnes définies avec des types de colonne spécifiques MySQL (MioriMint, Tinyint en mentionnant quelques-uns), et même si le type de colonne appartient à un type de données SQL standard, est parfois déclaré non signé.

Maintenant, j'écris une application de flacon pour fournir une API d'accéder à DB de différentes manières. Utilisation de SQLALCHÉMYIMY, j'importerais des types de types de données spécifiques de SQLALCHEMY.DIALECTS.MYSQL, comme:

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)

Mais on m'a dit d'utiliser le flacon Sqlalchemy, alors je déclare mes tables comme

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

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

Comment puis-je dire au flacon SQLALCHEMY que l'ID de colonne est une MySQL MioriMint et qui n'est pas signé?Puis-je passer, comme premier argument à "db.column" une définition de type de données importé non de "DB.Quelque chose" mais de sqlalchemy.dialects.mysql, et ce serait une bonne pratique (ne me semble pas une bonne pratique

merci;)

Était-ce utile?

La solution

Quel est le problème avec?

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)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top