Upgrading to version 3

Version 3.0.0 introduces breaking changes. Please review the migration guide below before upgrading. If you’re new to django-auditlog, you can ignore this part.

The major change in the version is that we’re finally storing changes as json instead of json-text. To convert the existing records, this version has a database migration that does just that. However, this migration will take a long time if you have a huge amount of records, causing your database and application to be out of sync until the migration is complete.

To avoid this, follow these steps:

  1. Before upgrading the package, add these two variables to settings.py:

    • AUDITLOG_TWO_STEP_MIGRATION = True

    • AUDITLOG_USE_TEXT_CHANGES_IF_JSON_IS_NOT_PRESENT = True

  2. Upgrade the package. Your app will now start storing new records as JSON, but the old records will accessible via LogEntry.changes_text.

  3. Use the newly added auditlogmigratejson command to migrate your records. Run django-admin auditlogmigratejson --help to get more information.

  4. Once all records are migrated, remove the variables listed above, or set their values to False.