내 데이터베이스는 MySQL입니다. SqlAlchemy ORM을 사용하여 정의하고 액세스합니다. 나는 마이그레이션을 위해 Alembic을 사용한다. 저는 영어 텍스트 (Ascii/latin-1)만을 사용하는 필드가있는 모델을 가지고 있습니다. 이제이 필드는 유니 코드 텍스트를 포함해야합니다. MySQL을위한 유니 코드를 지원하기 위해 내 모델을 변환하기 위해 나는 다음 클래스 수준의 속성을 추가해야합니다 mysql_character_set = 'UTF8'지금까지MySQL 테이블을 alembic을 사용하는 utf8 문자 세트로 변환하는 방법은 무엇입니까?
class MyModel(Base):
__tablename__ = 'mymodel'
mysql_character_set = 'utf8'
id = Column(Integer, primary_key=True)
name = Column(String(64), unique=True, nullable=False)
너무 좋아합니다. 이 속성을 Alembic 이주 스크립트의 일부로 추가하려고합니다. 나는 일반적으로 증류기의 우수한 자동으로 생성 명령을 사용
alembic revision --autogenerate
문제는이 명령은 모든 모델 변경을 캡처하지하고 mysql_character_set 속성, 특히하지를 추가 않는다는 것입니다.
이 속성을 수동으로 alembic 마이그레이션 스크립트에 추가하려면 어떻게합니까?
, 확실하지 않다. create_engine ("mysql + mysqldb : // 사용자 : pass @ host/dbname? charset = utf8 & use_unicode = 0") – Jisson