Types de données spécifiques du FLASK-SQLALCHYMY et MYSQL
-
21-12-2019 - |
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;)
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)