Tipos de datos específicos de Flask-SQlalchemy Declarative y MySQL
-
21-12-2019 - |
Pregunta
Tengo una DB de MySQL ya existente con muchas columnas definidas con los tipos de columnas específicos de MySQL (Medioint, Tinyint para mencionar algunos), e incluso si el tipo de columna pertenece a un tipo de datos SQL estándar, a veces se declara como sin firmar.
Ahora estoy escribiendo una aplicación de matraz para proporcionar una API para acceder a DB de varias maneras. Uso de SQLALCHEMY PLANTE, IMPORTARÍA DEFINICIONES DE TIPOS DE DATOS ESPECÍFICOS DE SQLALCHEMY.DIALECTS.MYSQL, COMO:
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)
Pero me dijeron que usara Flask-Sqlalchemy, así que estoy declarando mis tablas como
from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer**(???)**, primary_key=True)
¿Cómo puedo decirle a Flask-SQlalchemy que la ID de la columna es una MEDIA MISQL y que no está firmada?¿Puedo pasar, como el primer argumento a "DB.Column", una definición de tipo de datos importó no de "db.something" sino de SQlalchemy.dialects.mysql, y esa sería una buena práctica (no me parece)?
Gracias;)
Solución
¿Con cuál es el problema?
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)