comparison roundup/backends/rdbms_common.py @ 1244:8dd4f736370b

merge from maintenance branch
author Richard Jones <richard@users.sourceforge.net>
date Thu, 03 Oct 2002 06:56:30 +0000
parents bc3bc3248dd1
children 6c24a86a12ae
comparison
equal deleted inserted replaced
1243:3a028d2f7830 1244:8dd4f736370b
1 # $Id: rdbms_common.py,v 1.19 2002-09-26 03:04:24 richard Exp $ 1 # $Id: rdbms_common.py,v 1.20 2002-10-03 06:56:29 richard Exp $
2 ''' Relational database (SQL) backend common code.
3
4 Basics:
5
6 - map roundup classes to relational tables
7 - automatically detect schema changes and modify the table schemas
8 appropriately (we store the "database version" of the schema in the
9 database itself as the only row of the "schema" table)
10 - multilinks (which represent a many-to-many relationship) are handled through
11 intermediate tables
12 - journals are stored adjunct to the per-class tables
13 - table names and columns have "_" prepended so the names can't clash with
14 restricted names (like "order")
15 - retirement is determined by the __retired__ column being true
16
17 Database-specific changes may generally be pushed out to the overridable
18 sql_* methods, since everything else should be fairly generic. There's
19 probably a bit of work to be done if a database is used that actually
20 honors column typing, since the initial databases don't (sqlite stores
21 everything as a string, and gadfly stores anything that's marsallable).
22 '''
2 23
3 # standard python modules 24 # standard python modules
4 import sys, os, time, re, errno, weakref, copy 25 import sys, os, time, re, errno, weakref, copy
5 26
6 # roundup modules 27 # roundup modules

Roundup Issue Tracker: http://roundup-tracker.org/