title: Can't create MySQL Boolean Field Using flask-sqlalchemy & flask-migrate
body: <p>I have a working flask app with few models. The <code>User</code> model is as follow...</p>
  
  <pre><code>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')
  </code></pre>
  
  <p>Now I want to add a new boolean column to the model. I'm utilizing MySQL as a database. I have tried the following...</p>
  
  <pre><code>invited = db.Column(db.Boolean, default=0)
  </code></pre>
  
  <p>but when I runt <code>flask db migrate</code> I get the following...</p>
  
  <pre><code>INFO  [alembic.runtime.migration] Context impl MySQLImpl.
  </code></pre>
  
  <p>I also tried</p>
  
  <pre><code>from sqlalchemy import BOOLEAN # also with Boolean
  ...
  invited = db.Column(BOOLEAN, default=0) # also with Boolean
  </code></pre>
  
  <p>but get the same error. Reading MySQL documentation found out that MySQL doesn't have boolean type rather <code>TINYINT</code>. But reading this <a href="https://github.com/mitsuhiko/flask-sqlalchemy/issues/277" rel="nofollow noreferrer">Github</a> thread I understand that the Boolean class will turn into <code>TINYINT</code> based on the dialect. So I did the following...</p>
  
  <pre><code>from sqlalchemy.dialect.mysql import BOOLEAN
  </code></pre>
  
  <p>and still I get the same error when <code>flask run migrate</code>. Seems like Alembic can't see the changes in the model.</p>
  
  <p>Is there a way to create a boolean field in <code>mysql</code> utilizing <code>flask-migrate</code> and <code>flask-sqlalchemy</code>?</p>