Supported Databases
MySQL (tested with 4.1) testing with 5 should be done but there are no special MySQL 4 commands
Postgres (testing must be done, in the past tested with Postgres 7)
Cause of different Indexing systems i've not used the build in incrementors of the databases. Especially postgres has some trouble with it (using sequencers is no fun stuff
). Thats why I use in general the same strategy like Hibernate:
SELECT max(pk)+1 as max from table ... the result of it will be the next incrementor
The only thing that needs a extra case is if the table has no rows yet cause there will be an error. Thats why every *saveOrUpdate*-method takes care of that.
Delete-strategy:
No rows will be deleted (cause I'm using fk's). Each row has a attribute *deleted* which is nevver shown in the GUI, its an internal flag, all rows which are marked as deleted will not be shown in the Frontend.
File-Storage:
All files are stored in the database not in the file-system. Only pictures which are loaded from external URL's are cached on the filesystem in the directory *thumbs* (thats why this directory has to be writeable)
Diagramm
