Roundup Tracker - Issues

Issue 2550975

classification
Title: Verify Python 3 compatibility for existing databases
Type: rfe Severity: normal
Components: Infrastructure Versions: devel
process
Status: new Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: joseph_myers, rouilj
Priority: Keywords: python3

Created on 2018-07-25 19:40 by joseph_myers, last changed 2018-08-19 00:31 by joseph_myers.

Messages
msg6131 Author: [hidden] (joseph_myers) Date: 2018-07-25 19:40
We need to make sure that an existing instance, set up with Python 2,
including UTF-8 data in the database not just plain ASCII, works
correctly when used with Python 3 - that the database content format is
properly compatible across Python versions - with every database back
end (the reverse, creating with Python 3 and using with Python 2, may be
less important, but is still desirable - if someone has problems
updating their instance to Python 3, they should be able to move back to
Python 2 without the stored data being incompatible).  anydbm may have
the highest risk of problems here, as it uses the Python marshal module
in storing data.
msg6208 Author: [hidden] (rouilj) Date: 2018-08-19 00:26
Question would doing a export/import to handle the upgrade from a
python2 to python3 be acceptable or doable?

My thought is upgrading from python2 to python3 could be handled like we
do a database change. Export the tracker using the python 2 instance,
then import the data into a python3 based tracker.

For large trackers this may not be a good mechanism, but for testing
purposes I think it should work.

-- rouilj
msg6209 Author: [hidden] (joseph_myers) Date: 2018-08-19 00:31
I'd hope that for the RDBMS backends, the database content is already 
compatible in fact, but it needs to be tested (with non-ASCII characters).

For anydbm problems are likely and it might be necessary to use 
export/import.  For that we need to fix issue 2550976 (make Roundup 
running under Python 3 read and write CSV files compatible with those used 
by Roundup running under Python 2, because they aren't compatible for 
non-ASCII characters in strings at present).
History
Date User Action Args
2018-08-19 00:31:55joseph_myerssetmessages: + msg6209
2018-08-19 00:26:01rouiljsetnosy: + rouilj
messages: + msg6208
2018-07-26 10:42:00joseph_myerssetkeywords: + python3
2018-07-25 19:40:48joseph_myerscreate