Mercurial > p > roundup > code
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 |
