This was ticket #1813 in the old Trac, reported by Chris Arndt in 2008.
The database configuration needs the following refactorings:
- Replace backslashes (windows paths) in current_dir_uri (in config.py)
- New function "get_dburi" or "get_db_config" (in database.py) that
- Chooses the correct config setting to use (sqlobject. vs sqlalchemy.)
- Converts : into | for SQLObject
- Converts | into : for SQLAlchemy
- Handles 'notrans_' (but see "open questions" below)
- Use 'get_dburi' in
- Anywhere else?
- Test multiple dburis for SQLAlchemy and write unit tests for this feature. Possibly change the way multiple database connections are handled completely, since current support does not support different ORMs.
- Open questions:
- Where to handle "no_trans" best?
- Support "notrans_" for SQLAlchemy too?
- Continue to support dburis of the form <packagename>.dburi? If yes, how to distinguish between SQLObject and SQLAlchemy?
- What should get_dburi return? A string or a dict?
See also the old Trac ticket #2048 for another reason the database config needs to be improved.