Majic Projects
Majic Ansible Roles
Go to the previous open issue
Go to the previous issue (open or closed)
star_faded.png
Please log in to bookmark issues
icon_project.png Majic Ansible Roles / Open Enhancement MAR-237 Switch to using utfmb4 encoding for database server
Go to the next issue (open or closed)
Go to the next open issue
Issue basics
  • Type of issue
    Enhancement
  • Category
    General
  • Targetted for
    9.0.0
  • Status
    New
  • Progress
  • Priority
    Must fix before next release
User pain
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
Affected by this issue (0)
There are no items
People involved
Times and dates
  • Posted at
  • Last updated
  • Estimated time
    4 hours
  • Time spent
    No time spent
    Click here to see time logged against this issue
Issue details
Attachments (0)
There is nothing attached to this issue
Duplicate issues (0)
This issue does not have any duplicates
Description

The database_server role installs and configures MariaDB database server, which can then be used as database storage by any application.

Amongst other items, the role takes care of configuring the default encoding, collation etc, trying to set sane defaults. At the moment this means using the legacy utf8 encoding. However, this encoding has long been considered deprecated since it cannot properly handle all the characters normally provided by modern Unicode (such as a bunch of different smileys etc).

In order to improve compatibility and allow wider range of Unicode characters to be used, a switch to utf8mb4 encoding (and related collation etc) are required.

Unfortunately, this will be a non-trivial operation, and might require manual process and downtime to ensure correctness during the upgrade.

The following should be done:

  • Update the database_server and database roles.
    • Switch from using utf8 to using the utf8mb encoding and collation.
  • Update role reference documentation.
    • Document the upgrade process for existing databases. Emphasize that the operation is non-trivial, and that it requires downtime.
  • Update usage instructions.
  • Update release notes.
Todos (0 / 0)
There are no comments