Edgewall Software

Changes between Version 14 and Version 15 of DatabaseBackend


Ignore:
Timestamp:
Jan 23, 2006, 4:42:46 PM (18 years ago)
Author:
Christian Boos
Comment:

Refactored the page + added a reference to ticket #1874 (Oracle support)

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseBackend

    v14 v15  
    11= Database Backend =
    22
    3 Currently, Trac uses [http://www.sqlite.org SQLite] as its database backend.
     3Initially, Trac only supported SQLite for its database backend.
     4Postgresql support has been added as of Trac [milestone:0.9].
    45
    5 However, there have been several requests that other databases should be supported as well (see #126, #986).
     6Since milestone:0.10, Trac offers an easily extensible layer for
     7Database support (see [source:trunk/trac/db/api.py trac.db.api]).
    68
    7 == Existing Proposals and Implementations ==
     9The existing backends have been refactored and integrated in this
     10layer. There's currently bundled support for:
     11 * [http://www.sqlite.org SQLite], using PySqlite
     12 * [http://www.postgresql.org PostgreSQL], using a variety of bindings
     13   ([http://initd.org/projects/psycopg1 psycopg1],
     14   [http://initd.org/projects/psycopg2 psycopg2], or
     15   [http://pypgsql.sourceforge.net/ pyPgSQL]) (see #126 for historical notes)
    816
    9 Postgresql is supported as of Trac 0.9.  Here are some limited instructions.
     17There's some work in progress for the following:
     18 * MySQL (see #986)
     19 * Oracle (see #1874)
     20
     21== Backend Specific Installation Instructions ==
     22
     23=== Postgresql ===
     24
    1025 * Have a working copy of Postgresql
    11  * Get the proper database driver for Python - [http://initd.org/projects/psycopg1 psycopg1], [http://initd.org/projects/psycopg2 psycopg2], or [http://pypgsql.sourceforge.net/ pyPgSQL]
     26 * Get the proper database driver for Python (see above)
    1227 * Create a database for your Trac environment
    1328{{{
     
    1934}}}
    2035
    21 MySQL is only experimentally supported with the patch attached to ticket #986.  It also has several limitations.
     36=== MySQL ===
     37
     38MySQL is only experimentally supported with the patch attached to ticket #986. 
     39It also has several limitations.
    2240 * Have a working copy of MySQL version 4.1.12 or greater.
    2341 * [http://sourceforge.net/projects/mysql-python MySQLdb] - Python database driver for MySQL
     
    3856}}}
    3957
    40 == Object-Relational Mapper ==
    4158
    42 provide a unified object interface to different RDBMS
     59== Alternative Ideas for Database Independence ==
    4360
    44  * SQLObject
    45   I think some people have been talking about using [http://sqlobject.org SQLObject] to accomplish this goal of database independence.
     61=== Object-Relational Mapper ===
    4662
     63An ORM could be used to provide a unified object interface to different RDBMS:
     64 * some people have been talking about using [http://sqlobject.org SQLObject]
     65   to accomplish this goal of database independence.
    4766 * [http://modeling.sourceforge.net/ Modeling]
    48   Another, more advanced (and more complex) OR-Mapper.
     67   Another, more advanced (and more complex) OR-Mapper.
    4968
    5069Comparisions between both and more info on Python ORMs:
    51 
    5270 * http://toulouse.amber.org/archives/2003/04/21/evaluating_objectrelational_migration.html
    5371 * http://google.com/search?q=SQLObject+modeling
    5472
    55 == Store Tickets and Wiki pages directly in the Subversion repository ==
     73=== Store Tickets and Wiki pages directly in the Subversion repository ===
    5674
    5775A 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 [wiki:WhySQLite WhySQLite].
    5876
    59 == Other Alternatives ==
     77=== Other Alternatives ===
    6078
    61 http://wiki.w4py.org/databaseintegration.html
    62 
    63 http://adodb.sourceforge.net - the fast ADODB db abstraction layer (version available for python)
     79 * http://wiki.w4py.org/databaseintegration.html
     80 * http://adodb.sourceforge.net - the fast ADODB db abstraction layer (version available for python)