Fix migration of MySQL data when InnoDB is not being used (#72893)

Fixes #72883
This commit is contained in:
J. Nick Koston 2022-06-02 02:01:06 -10:00 committed by GitHub
parent 219200b340
commit cd590c79e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -715,14 +715,13 @@ def _apply_update( # noqa: C901
if engine.dialect.name == SupportedDialect.MYSQL:
# Ensure the row format is dynamic or the index
# unique will be too large
with session_scope(session=session_maker()) as session:
connection = session.connection()
# This is safe to run multiple times and fast since the table is small
connection.execute(
text(
"ALTER TABLE statistics_meta ENGINE=InnoDB, ROW_FORMAT=DYNAMIC"
with contextlib.suppress(SQLAlchemyError):
with session_scope(session=session_maker()) as session:
connection = session.connection()
# This is safe to run multiple times and fast since the table is small
connection.execute(
text("ALTER TABLE statistics_meta ROW_FORMAT=DYNAMIC")
)
)
try:
_create_index(
session_maker, "statistics_meta", "ix_statistics_meta_statistic_id"