oceanbase中,mysql源数据迁移完成后,show create table_name;不同客户端显示的结果不一致?

问题背景:
falsk-sqlalchemy==2.5.1
sqlalchemy==1.3.18
mysql源数据库整库导入OceanBase后,测试迁移后是否和使用mysql一致,当我更新了数据库新模型后,使用flask-sqlalchemy ORM migrate 时发现,由于索引问题导致(其实已连接的数据库中已存在对应的索引,但是sqlalchemy无法读取到)无法upgrade。
migrate 日志如下:
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_role_permissions_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_role_permissions_perm_id (perm_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_role_permissions_role_id (role_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_project_settings_project_id (project_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_project_settings_seq (seq) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_menus_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_menus_seq (seq) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_menus_parent_id (parent_id) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_roles_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_roles_seq (seq) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_roles_name (name) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_accesss_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_accesss_access_key (access_key) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_accesss_seq (seq) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_accesss_access_secret_hash (access_secret_hash) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_project_groups_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_project_groups_project_group_name (project_group_name) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_project_groups_seq (seq) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_access_permissions_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_access_permissions_access_id (access_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_access_permissions_perm_id (perm_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_access_permissions_seq (seq) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_operation_records_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_operation_records_seq (seq) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_operation_records_username (username) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_operation_records_endpoint (endpoint) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_feedbacks_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_feedbacks_seq (seq) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_feedbacks_title (title) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_feedbacks_feedback_person (feedback_person) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_permissions_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_permissions_method_type (method_type) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_permissions_seq (seq) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_permissions_name (name) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_project_notify_settings_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_project_notify_settings_notify_type (notify_type) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_project_notify_settings_project_id (project_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_project_notify_settings_seq (seq) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_user_roles_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_user_roles_role_id (role_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_user_roles_seq (seq) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_user_roles_user_id (user_id) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_role_menus_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_role_menus_menu_id (menu_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_role_menus_role_id (role_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_role_menus_seq (seq) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_pg_projects_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_pg_projects_pg_id (pg_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_pg_projects_project_id (project_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_pg_projects_seq (seq) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_users_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_users_username (username) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_users_department (department) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_users_seq (seq) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_users_superuser (superuser) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_users_tel (tel) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ UNIQUE KEY ix_mg_pg_project_users_id (id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_pg_project_users_pg_p_id (pg_p_id) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_pg_project_users_seq (seq) BLOCK_SIZE 16384 LOCAL,’
util.warn(“Unknown schema content: %r” % line)
D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\dialects\mysql\reflection.py:62: SAWarning: Unknown schema content: ’ KEY ix_mg_pg_project_users_user_id (user_id) BLOCK_SIZE 16384 LOCAL’
util.warn(“Unknown schema content: %r” % line)
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_access_permissions_access_id’ on ‘[‘access_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_access_permissions_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_access_permissions_perm_id’ on ‘[‘perm_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_access_permissions_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_accesss_access_key’ on ‘[‘access_key’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_accesss_access_secret_hash’ on ‘[‘access_secret_hash’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_accesss_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_accesss_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_config_map_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_config_map_name’ on ‘[‘name’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_config_map_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_feedbacks_feedback_person’ on ‘[‘feedback_person’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_feedbacks_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_feedbacks_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_feedbacks_title’ on ‘[‘title’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_menus_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_menus_parent_id’ on ‘[‘parent_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_menus_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added column ‘mg_operation_records.data01’
INFO [alembic.autogenerate.compare] Detected added column ‘mg_operation_records.endpoint01’
INFO [alembic.autogenerate.compare] Detected added column ‘mg_operation_records.status01’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_operation_records_endpoint’ on ‘[‘endpoint’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_operation_records_endpoint01’ on ‘[‘endpoint01’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_operation_records_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_operation_records_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_operation_records_username’ on ‘[‘username’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_permissions_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_permissions_method_type’ on ‘[‘method_type’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_permissions_name’ on ‘[‘name’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_permissions_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_pg_project_users_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_pg_project_users_pg_p_id’ on ‘[‘pg_p_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_pg_project_users_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_pg_project_users_user_id’ on ‘[‘user_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_pg_projects_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_pg_projects_pg_id’ on ‘[‘pg_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_pg_projects_project_id’ on ‘[‘project_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_pg_projects_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_groups_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_groups_project_group_name’ on ‘[‘project_group_name’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_groups_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_notify_settings_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_notify_settings_notify_type’ on ‘[‘notify_type’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_notify_settings_project_id’ on ‘[‘project_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_notify_settings_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_settings_alert_hub_uid’ on ‘[‘alert_hub_uid’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_settings_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_settings_project_id’ on ‘[‘project_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_project_settings_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_projects_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_projects_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_role_menus_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_role_menus_menu_id’ on ‘[‘menu_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_role_menus_role_id’ on ‘[‘role_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_role_menus_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_role_permissions_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_role_permissions_perm_id’ on ‘[‘perm_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_role_permissions_role_id’ on ‘[‘role_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_role_permissions_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_roles_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_roles_name’ on ‘[‘name’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_roles_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_user_roles_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_user_roles_role_id’ on ‘[‘role_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_user_roles_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_user_roles_user_id’ on ‘[‘user_id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_users_department’ on ‘[‘department’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_users_id’ on ‘[‘id’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_users_seq’ on ‘[‘seq’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_users_superuser’ on ‘[‘superuser’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_users_tel’ on ‘[‘tel’]’
INFO [alembic.autogenerate.compare] Detected added index ‘ix_mg_users_username’ on ‘[‘username’]’
Generating D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\migrations\versions\40628a2c6806_.py … done

upgrade 错误日志:
The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\manage.py”, line 29, in
manager.run()
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\flask_script_init_.py”, line 417, in run
result = self.handle(argv[0], argv[1:])
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\flask_script_init_.py”, line 386, in handle
res = handle(*args, **config)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\flask_script\commands.py”, line 216, in call
return self.run(*args, **kwargs)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\flask_migrate_init_.py”, line 96, in wrapped
f(*args, **kwargs)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\flask_migrate_init_.py”, line 271, in upgrade
command.upgrade(config, revision, sql=sql, tag=tag)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\command.py”, line 298, in upgrade
script.run_env()
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\script\base.py”, line 489, in run_env
util.load_python_file(self.dir, “env.py”)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\util\pyfiles.py”, line 98, in load_python_file
module = load_module_py(module_id, path)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\util\compat.py”, line 184, in load_module_py
spec.loader.exec_module(module)
File “”, line 883, in exec_module
File “”, line 241, in call_with_frames_removed
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\migrations\env.py”, line 96, in
run_migrations_online()
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\migrations\env.py”, line 90, in run_migrations_online
context.run_migrations()
File “”, line 8, in run_migrations
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\runtime\environment.py”, line 846, in run_migrations
self.get_context().run_migrations(**kw)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\runtime\migration.py”, line 520, in run_migrations
step.migration_fn(**kw)
File "D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\migrations\versions\40628a2c6806
.py", line 21, in upgrade
op.create_index(op.f(‘ix_mg_access_permissions_access_id’), ‘mg_access_permissions’, [‘access_id’], unique=False)
File “”, line 8, in create_index
File “”, line 3, in create_index
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\operations\ops.py”, line 979, in create_index
return operations.invoke(op)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\operations\base.py”, line 374, in invoke
return fn(self, operation)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\operations\toimpl.py”, line 88, in create_index
operations.impl.create_index(idx)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\ddl\impl.py”, line 282, in create_index
self._exec(schema.CreateIndex(index))
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\alembic\ddl\impl.py”, line 140, in _exec
return conn.execute(construct, *multiparams, **params)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\engine\base.py”, line 1014, in execute
return meth(self, multiparams, params)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\sql\ddl.py”, line 72, in _execute_on_connection
return connection._execute_ddl(self, multiparams, params)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\engine\base.py”, line 1071, in _execute_ddl
ret = self._execute_context(
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\engine\base.py”, line 1317, in _execute_context
self.handle_dbapi_exception(
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\engine\base.py”, line 1511, in handle_dbapi_exception
util.raise
(
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\util\compat.py”, line 178, in raise

raise exception
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\engine\base.py”, line 1277, in _execute_context
self.dialect.do_execute(
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\sqlalchemy\engine\default.py”, line 593, in do_execute
cursor.execute(statement, parameters)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\pymysql\cursors.py”, line 170, in execute
result = self._query(query)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\pymysql\cursors.py”, line 328, in _query
conn.query(q)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\pymysql\connections.py”, line 517, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\pymysql\connections.py”, line 732, in _read_query_result
result.read()
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\pymysql\connections.py”, line 1075, in read
first_packet = self.connection._read_packet()
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\pymysql\connections.py”, line 684, in _read_packet
packet.check_error()
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\pymysql\protocol.py”, line 220, in check_error
err.raise_mysql_exception(self._data)
File “D:\MyPythonProjects\pycharm-projects\datatea-admin-backend\venv\lib\site-packages\pymysql\err.py”, line 109, in raise_mysql_exception
raise errorclass(errno, errval)
sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1061, “Duplicate key name ‘ix_mg_access_permissions_access_id’”)
[SQL: CREATE INDEX ix_mg_access_permissions_access_id ON mg_access_permissions (access_id)]
(Background on this error at: http://sqlalche.me/e/13/2j85)

查找根因:
由于CREATE SQL 中的索引和mysql数据库中的SQL不一致导致,参考截图如下:
mySQL客户端CREATE_SQL:


OceanBase客户端CREATE_SQL:

flask-sqlalchemy 中过滤索引的Reflection无法获取到,导致flask-sqlalchemy 认为数据库中没有对应的索引,在migrate时添加了索引,导致重复添加。
问题:为什么show create sql ,不同的客户端为什么返回结果不一致?使用HeidiSQL连接时,显示是正常(和原mysql数据库一致)的,使用sqlalchemy连接时显示的为OceanBase创建SQL。
SQLalchemy 连接URI:

SQLalchemy通过正则表达式匹配索引,目前看缺少KEY_BLOCK_SIZE