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

¿Fue útil?

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)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top