How can I convert a MySQL table to utf8 character set using alembic?
My database is MySQL. I am using SqlAlchemy ORM to define and access it. I am using Alembic for migration. I have a model with a box that only used English text (Ascii / latin-1). This field should now contain Unicode text. To convert my model to Unicode support for MySQL I need to add the following class level attribute: mysql_character_set = 'utf8'
class MyModel(Base): __tablename__ = 'mymodel' mysql_character_set = 'utf8' id = Column(Integer, primary_key=True) name = Column(String(64), unique=True, nullable=False)
So far so good. I want to add this attribute as part of the Alembic migration script. I usually use Alembic's excellent automatic command:
alembic revision --autogenerate
The problem is that this command does not commit every change to the model, and in particular does not add the mysql_character_set attribute .
How do I add this attribute manually to alembic script migration?
source to share