У меня есть работающее колба с несколькими моделями. Модель User
выглядит следующим образом ...
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), index=True, unique=True)
email = db.Column(db.String(128), index=True, unique=True)
password_hash = db.Column(db.String(128))
first_name = db.Column(db.String(32))
last_name = db.Column(db.String(32))
bio = db.Column(db.String(255))
patterns = db.relationship('Pattern', backref='user', lazy='dynamic')
Теперь я хочу добавить новый логический столбец в модель. Я использую MySQL в качестве базы данных. Я пробовал следующее ...
invited = db.Column(db.Boolean, default=0)
но когда я прогуливаюсь flask db migrate
я получаю следующее ...
INFO [alembic.runtime.migration] Context impl MySQLImpl.
Я тоже пытался
from sqlalchemy import BOOLEAN # also with Boolean
...
invited = db.Column(BOOLEAN, default=0) # also with Boolean
но получите ту же ошибку. Читая документацию по MySQL, выяснил, что MySQL не имеет логического типа, а TINYINT
. Но читая этот поток Github , я понимаю, что логический класс превратится в TINYINT
в зависимости от диалекта. Итак, я сделал следующее ...
from sqlalchemy.dialect.mysql import BOOLEAN
и все равно я получаю ту же ошибку, когда flask run migrate
. Похоже, Alembic не видит изменений в модели.
Есть ли способ создать логическое поле в mysql
, используя flask-migrate
и flask-sqlalchemy
?