Mercurial > p > roundup > code
comparison roundup/configuration.py @ 7860:8b31893f5930
issue2551115/issue2551282 - utf8mb4 support in roundup
Fix issues with utf8 support in Roundup. By default using:
utf8mb4 charset
utf8mb4_unicode_ci collation (case insensitive)
utf8mb4_0900_ci collation (case sensitive)
which are settable from config.ini. Sadly I couldn't come up with a way
to mange these from one parameter. Doing a compatibility lookup table
would have increased the maintenance burden and have me chasing MySQL
changes. So I opted for the easy path and have the admins (with more
MySQL experience) make the choices.
Conversion directions added to upgrading.txt. I don't have any good
testing for this. I was able to generate utf8/utf8mb3 tables and load
a little data and convert. However this is a poor substitute for a
conversion on a working tracker 8-(.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 06 Apr 2024 22:47:25 -0400 |
| parents | 0c71ac9cdcd0 |
| children | 82093eb944d6 |
comparison
equal
deleted
inserted
replaced
| 7859:9a74dfeb8620 | 7860:8b31893f5930 |
|---|---|
| 1493 "Only used in MySQL connections."), | 1493 "Only used in MySQL connections."), |
| 1494 (NullableOption, 'read_default_group', 'roundup', | 1494 (NullableOption, 'read_default_group', 'roundup', |
| 1495 "Name of the group to use in the MySQL defaults file (.my.cnf).\n" | 1495 "Name of the group to use in the MySQL defaults file (.my.cnf).\n" |
| 1496 "Only used in MySQL connections."), | 1496 "Only used in MySQL connections."), |
| 1497 (Option, 'mysql_charset', 'utf8mb4', | 1497 (Option, 'mysql_charset', 'utf8mb4', |
| 1498 "Charset to use for mysql connection,\n" | 1498 "Charset to use for mysql connection and databases.\n" |
| 1499 "use 'default' for the mysql default, no charset option\n" | 1499 "If set to 'default', no charset option is used when\n" |
| 1500 "is used when creating the connection in that case.\n" | 1500 "creating the db connection and utf8mb4 is used for the\n" |
| 1501 "database charset.\n" | |
| 1501 "Otherwise any permissible mysql charset is allowed here.\n" | 1502 "Otherwise any permissible mysql charset is allowed here.\n" |
| 1502 "Only used in MySQL connections."), | 1503 "Only used in MySQL connections."), |
| 1504 (Option, 'mysql_collation', 'utf8mb4_unicode_ci', | |
| 1505 "Comparison/order to use for mysql database/table collations.\n" | |
| 1506 "When upgrading, you can use 'utf8' to match the\n" | |
| 1507 "depricated 'utf8mb3'. This must be compatible with the\n" | |
| 1508 "mysql_charset setting above. Only used by MySQL."), | |
| 1509 (Option, 'mysql_binary_collation', 'utf8mb4_0900_bin', | |
| 1510 "Comparison/order to use for mysql database/table collations\n" | |
| 1511 "when matching case. When upgrading, you can use 'utf8_bin'\n" | |
| 1512 "to match the depricated 'utf8mb3_bin' collation. This must\n" | |
| 1513 "be compatible with the mysql_collation above. Only used\n" | |
| 1514 "by MySQL."), | |
| 1503 (IntegerNumberGeqZeroOption, 'sqlite_timeout', '30', | 1515 (IntegerNumberGeqZeroOption, 'sqlite_timeout', '30', |
| 1504 "Number of seconds to wait when the SQLite database is locked\n" | 1516 "Number of seconds to wait when the SQLite database is locked\n" |
| 1505 "Default: use a 30 second timeout (extraordinarily generous)\n" | 1517 "Default: use a 30 second timeout (extraordinarily generous)\n" |
| 1506 "Only used in SQLite connections."), | 1518 "Only used in SQLite connections."), |
| 1507 (IntegerNumberGeqZeroOption, 'cache_size', '100', | 1519 (IntegerNumberGeqZeroOption, 'cache_size', '100', |
