Thursday, 15 July 2010

Changing MySQL Column collation with Alembic upgrade() script -



Changing MySQL Column collation with Alembic upgrade() script -

would alter column collation utf8mb4_unicode_ci utf8mb4_bin

its updated sqlalchemy model is

col_name = column(varchar(10, collation='utf8mb4_bin'), nullable=true)

i have tried

from alembic import op import sqlalchemy sa import sqlalchemy.types ty def upgrade(): op.alter_column('table_name', sa.column('col_name', ty.varchar(10, collation='utf8mb4_bin') ) )

but upgrade keeps mysql collation of column original utf8mb4_unicode_ci

found out right syntax, i.e.:

from alembic import op import sqlalchemy.types ty def upgrade(): op.alter_column('table_name','col_name', type_=ty.varchar(10, collation='utf8mb4_bin'))

alembic

No comments:

Post a Comment