Opened 10 months ago

Last modified 9 months ago

#35015 closed Cleanup/optimization

Update MySQL migration documentation for Mysql 8 — at Version 1

Reported by: Nicolas Lupien Owned by: nobody
Component: Documentation Version: 5.0
Severity: Normal Keywords: mysql
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Nicolas Lupien)

Now that Django dropped support for MySQL 5.7, I think the documentation is no longer valid.

MySQL lacks support for transactions around schema alteration operations, meaning that if a migration fails to apply you will have to manually unpick the changes in order to try again (it’s impossible to roll back to an earlier point).

In addition, MySQL will fully rewrite tables for almost every schema operation and generally takes a time proportional to the number of rows in the table to add or remove columns. On slower hardware this can be worse than a minute per million rows - adding a few columns to a table with just a few million rows could lock your site up for over ten minutes.

Finally, MySQL has relatively small limits on name lengths for columns, tables and indexes, as well as a limit on the combined size of all columns an index covers. This means that indexes that are possible on other backends will fail to be created under MySQL.

https://docs.djangoproject.com/en/5.0/topics/migrations/#mysql

Change History (1)

comment:1 by Nicolas Lupien, 10 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top