mirror of
https://github.com/bugsink/bugsink.git
synced 2026-01-06 05:10:15 -06:00
Bugsink 2.0 upgraded to Django 5.2 (from 4.2) under the hood. However, Django 5.0 made it so that on MariaDB >= 10.7, UUIDFields are stored as native UUID fields, and special conversion steps are required. The Django 5.0 release notes suggest basically downgrading your existing UUIDs to CharField values and sticking with that forever, but that's not a workable solution for us for many reasons: * Bugsink is multi-DB-backend, and this change would affect them all. I don't want to force postgres-users to downgrade just for this. * Bugsink 2.0 is already out in the wild, and people who've deployed it on MariaDB >= 10.7 would already "be in the correct future" (have UUID columns). i.e. the "solution" would just create the inverse problem. * What with new models with new UUID fields? We'd run the rist of a "mix" with all the future complexity that comes with _that_. So I've decided to just bite the bullet and force an upgrade. The provided command allows users to upgrade their data. Just run: ``` bugsink-manage convert_mariadb_uuids ``` I have not (yet) provided this as a migration (it's always an option for the future)... mostly for lack of time but also because we "need this as a command anyway"... because people that would be on MariaDB < 10.7 still need this tool whenever they migrate to >= 10.7. Fix #226