Follow-up of request #46354.
As part of the solution to the original problem, we wrote a Forge Upgrade bucket whose goal is to identify and remove all duplicated Open list "open values" (values created by users dynamically, that are not part of the original list).
When such values look like numbers (for example: 1), the Forge Upgrade will fail with a fatal error like the following:
PHP Fatal error: Uncaught TypeError: PDO::quote(): Argument #1 ($string) must be of type string, int given in /usr/share/tuleap/plugins/tracker/db/mysql/updates/2026/202601081044_unique_index_openlist_value.php:89
Stack trace:
#0 /usr/share/tuleap/plugins/tracker/db/mysql/updates/2026/202601081044_unique_index_openlist_value.php(89): PDO->quote()
#1 /usr/share/tuleap/plugins/tracker/db/mysql/updates/2026/202601081044_unique_index_openlist_value.php(35): b202601081044_unique_index_openlist_value->removeDuplicationsInTable()
[…]
This is because the label is interpreted by our code as being an integer number, when it should be always treated as a string.