我有一个已经存在的MySQL数据库,其中有许多列是用MySQL特定的列类型定义的(MEDIUMINT、TINYINT等等),即使该列类型属于标准SQL数据类型,有时也会声明为unsigned。
现在我正在编写一个Flask应用程序来提供一个API,以各种方式访问DB。
使用普通的SQLAlchemy,我将从SQLAlchemy.diactals.mysql导入特定的数据类型定义,如: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)
但是我被告知要使用Flask SQLAlchemy,所以我声明我的表如下from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer**(???)**, primary_key=True)
我怎样才能告诉Flask SQLAlchemy列id是MySQL MEDIUMINT,而它是无符号的?作为“db.Column”的第一个参数,我是否可以传递一个不是从“db.Something”导入的数据类型定义,而是从sqlalchemy.diactals.mysql导入的,这是一个很好的实践(在我看来不是这样的)?
谢谢;)