Edgewall Software

Changes between Version 7 and Version 8 of TracSqlAlchemy


Ignore:
Timestamp:
Mar 1, 2015, 12:09:51 AM (5 years ago)
Author:
Ryan J Ollos
Comment:

Content on page is useless without additional context. Page can be deleted.

Legend:

Unmodified
Added
Removed
Modified
  • TracSqlAlchemy

    v7 v8  
    1 = Trac and SQLAlchemy
    2 
    3 Trac works with the [http://www.sqlalchemy.org/ SQLAlchemy] database wrapper. Instructions for installing and using SQLAlchemy are listed at th:SqlAlchemyQueryMacro.
    4 
    5 == List of things to do
    6 
    7  1. trac/db/*backend.py files should ultimately be collapsed into one backend.py file
    8  1. trac/upgrades/db*.py files need upgrading to SQLAlchemy
    9  1. database schema needs a review, see MySQL fault later on the page
    10  1. database schema needs relations setup and especially separating out a 'user' table, helps with user provider architecture, eg LDAP
    11 
    12 == Tables
    13 
    14 The current database schema has deficiencies.
    15 
    16  * system table
    17  * permission table
    18  * auth_cookie table
    19  * session table
    20  * session_attribute table
    21  * attachment table: id is text, for ticket type it is a number, for wiki it is an unique text identifier
    22  * wiki table
    23  * revision table
    24  * node_change table
    25  * ticket table
    26  * ticket_change table
    27  * ticket_custom table
    28  * enum table
    29  * component table
    30  * milestone table
    31  * version table
    32  * report table
    33 
    34 == Known issues
    35 
    36 When Trac is installed with MySQL, the initialization fails with:
    37 {{{
    38 OperationalError: (OperationalError) (1170, "BLOB/TEXT column 'rev' used in key
    39 specification without a key length") 'CREATE TABLE node_change (rev TEXT NOT NULL,
    40 path TEXT NOT NULL, node_type VARCHAR(1), change_type VARCHAR(1) NOT NULL,
    41 base_path TEXT, base_rev TEXT, PRIMARY KEY (rev, path, change_type))' {}
    42 }}}
     1See SqlAlchemy.