Edgewall Software

Version 12 (modified by brad <brad@…>, 19 years ago) ( diff )

Database Backend

Currently, Trac uses SQLite as its database backend.

However, there have been several requests that other databases should be supported as well (see #126).

Existing Proposals and Implementations

Postgresql is supported as of Trac 0.9. Here are some limited instructions.

  • Have a working copy of Postgresql
  • Get the proper database driver for Python - psycopg1, psycopg2, or pyPgSQL
  • Create a database for your Trac environment
    % createdb dbname
    
  • Run trac-admin to create a new Trac environment. When prompted for a Database connection string, use:
    postgres://user:pass@localhost:5432/dbname
    

Object-Relational Mapper

provide a unified object interface to different RDBMS

  • SQLObject I think some people have been talking about using SQLObject to accomplish this goal of database independence.
  • Modeling Another, more advanced (and more complex) OR-Mapper.

Comparisions between both and more info on Python ORMs:

Store Tickets and Wiki pages directly in the Subversion repository

A compelling idea with many advantages. A page advocating this plan is TighterSubversionIntegration. There has also been a discussion on the Trac mailing list. All arguments from this discussion are summarized on the page WhySQLite.

Other Alternatives

http://wiki.w4py.org/databaseintegration.html

http://adodb.sourceforge.net - the fast ADODB db abstraction layer (version available for python)

Note: See TracWiki for help on using the wiki.