root / conf / photovault_schema.xml

Revision 682:bf6195248d21, 33.7 kB (checked in by Harri Kaimio <harri@…>, 4 years ago)

Several improvements to database schema handling + first version of
conversion from old schema to new one.

  • Create database tables with Hibernate tools isntead of DDLutils.
    DDLutils are still used for test data import.
  • Added debug action to log history of a photo
  • Several other logging improvements
  • Rename all new schema tables to start with "pv_"
  • First version of schema conversion. Currently converts folder
    hierarchy and creates photos and images/image files based on
    old data. Raw covnersion, volume infor and file locations are
    still missing.
Line 
1<?xml version="1.0"?>
2<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database.dtd">
3<!--
4  Copyright (c) 2006 Harri Kaimio
5 
6  This file is part of Photovault.
7
8  Photovault is free software; you can redistribute it and/or modify it
9  under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12
13  Photovault is distributed in the hope that it will be useful, but
14  WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  General Public License for more details.
17
18  You should have received a copy of the GNU General Public License
19  along with Foobar; if not, write to the Free Software Foundation,
20  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
21-->
22
23<!-- This is the definition of database schma used bu Photovault. -->
24<database name="pv_test">
25    <table name="collection_photos">
26        <column name="collection_uuid" primaryKey="true" required="true" type="VARCHAR" size="36"  autoIncrement="false"/>
27        <column name="photo_uuid" primaryKey="true" required="true" type="VARCHAR" size="36" autoIncrement="false"/>
28
29      <!-- For future use -->
30        <column name="cp_desc" primaryKey="false" required="false" type="LONGVARCHAR" size="65535" autoIncrement="false"/>
31        <column name="cp_string1" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
32        <column name="cp_string2" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
33        <column name="cp_string3" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
34        <column name="cp_string4" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
35        <column name="cp_float1" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
36        <column name="cp_float2" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
37        <column name="cp_float3" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
38        <column name="cp_float4" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
39     
40      <!--unique name="PRIMARY">
41        <unique-column name="collection_id"/>
42        <unique-column name="photo_id"/>
43      </unique-->
44    </table>
45
46    <table name="pv_images">
47        <column name="id" primaryKey="true" required="false" 
48                type="BIGINT" autoIncrement="false"/>
49        <column name="file_id" primaryKey="false" required="false" 
50                type="VARCHAR" size="36" autoIncrement="false"/>
51        <column name="location" primaryKey="false" required="false" 
52                type="VARCHAR" size="100" autoIncrement="false"/>
53        <column name="image_type" primaryKey="false" required="true" 
54                type="VARCHAR" size="50" autoIncrement="false"/>
55        <column name="original_id" primaryKey="false" required="false" 
56                type="BIGINT" autoIncrement="false"/>
57        <column name="width" primaryKey="false" required="false" 
58                type="INTEGER" autoIncrement="false"/>
59        <column name="height" primaryKey="false" required="false" 
60                type="INTEGER" autoIncrement="false"/>
61        <column name="crop_xmin" primaryKey="false" required="false" 
62                type="FLOAT" size="12" autoIncrement="false" defaultValue="0.0"/>
63        <column name="crop_ymin" primaryKey="false" required="false" 
64                type="FLOAT" size="12" autoIncrement="false" defaultValue="0.0"/>
65        <column name="crop_xmax" primaryKey="false" required="false" 
66                type="FLOAT" size="12" autoIncrement="false" defaultValue="1.0"/>
67        <column name="crop_ymax" primaryKey="false" required="false" 
68                type="FLOAT" size="12" autoIncrement="false" defaultValue="1.0"/>
69        <column name="rotation" primaryKey="false" required="false" 
70                type="FLOAT" size="12" autoIncrement="false" defaultValue="0.0"/>
71        <column name="channel_map" primaryKey="false" required="false" 
72                type="LONGVARBINARY" size="65535" autoIncrement="false"/>
73        <column name="raw_whitepoint" primaryKey="false" required="false" type="INTEGER" 
74                size="11" autoIncrement="false"
75                description="Pixel value that is considered white if no EV correction is applied"/>
76        <column name="raw_blackpoint" primaryKey="false" required="false" type="INTEGER" 
77                default="0" size="11" autoIncrement="false"
78                description="Pixel value that is considered black"/>
79        <column name="raw_ev_corr" primaryKey="false" required="false" type="FLOAT" 
80                size="12" autoIncrement="false"
81                description="Exposure correction in f-stops"/>
82        <column name="raw_hlight_corr" primaryKey="false" required="false" type="FLOAT" 
83                size="12" autoIncrement="false"
84                description="Highlight compression, how many f-stops actul white point will differ from linear"/>
85        <column name="raw_embedded_profile" primaryKey="false" required="false" type="BIT"
86                size="1" autoIncrement="false"
87                description="Whether conversion uses ICC profile embedded to the raw file"/>
88        <column name="raw_profile_id" primaryKey="false" required="false" type="INTEGER" 
89                size="11" autoIncrement="false"
90                description="ID of the matching ICC profile (in table icc_profiles)"/>
91        <column name="raw_wb_type" primaryKey="false" required="false" type="INTEGER" 
92                size="11" autoIncrement="false"
93                description="White balance setting type. See Javadoc for RawConversionSettings for details"/>
94        <column name="raw_r_g_ratio" primaryKey="false" required="false" type="FLOAT" 
95                size="12" autoIncrement="false"
96                description="Ratio of red and green channel multipliers"/>
97        <column name="raw_b_g_ratio" primaryKey="false" required="false" type="FLOAT" 
98                size="12" autoIncrement="false"
99                description="Ratio of blue and green channel multipliers"/>
100        <column name="raw_dl_r_g_ratio" primaryKey="false" required="false" type="FLOAT" 
101                size="12" autoIncrement="false"
102                description="Ratio of red and green channel multipliers for daylight"/>
103        <column name="raw_dl_b_g_ratio" primaryKey="false" required="false" type="FLOAT" 
104                size="12" autoIncrement="false"
105                description="Ratio of blue and green channel multipliers for daylight"/>
106        <index name="original_index">
107            <index-column name="original_id"/>
108        </index>
109        <index name="file_index">
110            <index-column name="file_id"/>
111        </index>
112    </table>
113    <table name="pv_image_files">
114        <column name="id" primaryKey="true" required="false" type="VARCHAR" size="36" autoIncrement="false"/>
115        <column name="file_size" primaryKey="false" required="false" type="BIGINT" autoIncrement="false"/>
116        <column name="last_modified" primaryKey="false" required="false" type="BIGINT" autoIncrement="false"/>
117        <column name="last_checked" primaryKey="false" required="false" type="TIMESTAMP" autoIncrement="false"/>
118        <column name="md5_hash" primaryKey="false" required="false" type="VARBINARY" size="16" autoIncrement="false"/>
119    </table>
120    <table name="pv_image_locations">
121        <column name="id" primaryKey="true" required="false" type="VARCHAR" size="36" autoIncrement="false"/>
122        <column name="volume_id" primaryKey="true" required="false" type="VARCHAR" size="36" autoIncrement="false"/>
123        <column name="fname" primaryKey="true" required="false" type="VARCHAR" size="255" autoIncrement="false"/>
124        <column name="last_modified" primaryKey="true" required="false" type="BIGINT" autoIncrement="false"/>
125        <column name="last_checked" primaryKey="true" required="false" type="TIMESTAMP" autoIncrement="false"/>
126    </table>
127    <table name="pv_volumes">
128        <column name="volume_id" primaryKey="true" required="false" type="VARCHAR" size="36" autoIncrement="false"/>
129        <column name="volume_type" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
130        <column name="base_dir" primaryKey="false" required="false" type="VARCHAR" size="255" autoIncrement="false"/>
131        <column name="volume_name" primaryKey="false" required="false" type="VARCHAR" size="255" autoIncrement="false"/>
132        <column name="folder_uuid" primaryKey="false" required="false" type="VARCHAR" autoIncrement="false"/>
133    </table>
134    <table name="unique_keys">
135        <column name="id_name" type="VARCHAR" size="25"/>
136        <column name="next_val" type="integer" size="11"/>
137    </table>
138    <table name="OJB_DLIST">
139        <column name="ID" primaryKey="true" required="true" type="INTEGER" size="11"  autoIncrement="false"/>
140        <column name="SIZE_" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
141      <!--unique name="PRIMARY">
142        <unique-column name="ID"/>
143      </unique-->
144    </table>
145    <table name="OJB_DLIST_ENTRIES">
146        <column name="ID" primaryKey="true" required="true" type="INTEGER" size="11"  autoIncrement="false"/>
147        <column name="DLIST_ID" primaryKey="false" required="true" type="INTEGER" size="11"  autoIncrement="false"/>
148        <column name="POSITION_" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
149        <column name="OID_" primaryKey="false" required="false" type="LONGVARBINARY" size="2147483647" autoIncrement="false"/>
150      <!--unique name="PRIMARY">
151        <unique-column name="ID"/>
152      </unique-->
153    </table>
154    <table name="OJB_DMAP">
155        <column name="ID" primaryKey="true" required="true" type="INTEGER" size="11"  autoIncrement="false"/>
156        <column name="SIZE_" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
157      <!--unique name="PRIMARY">
158        <unique-column name="ID"/>
159      </unique-->
160    </table>
161    <table name="OJB_DMAP_ENTRIES">
162        <column name="ID" primaryKey="true" required="true" type="INTEGER" size="11"  autoIncrement="false"/>
163        <column name="DMAP_ID" primaryKey="false" required="true" type="INTEGER" size="11" autoIncrement="false"/>
164        <column name="KEY_OID" primaryKey="false" required="false" type="LONGVARBINARY" size="2147483647" autoIncrement="false"/>
165        <column name="VALUE_OID" primaryKey="false" required="false" type="LONGVARBINARY" size="2147483647" autoIncrement="false"/>
166      <!--unique name="PRIMARY">
167        <unique-column name="ID"/>
168      </unique-->
169    </table>
170    <table name="OJB_DSET">
171        <column name="ID" primaryKey="true" required="true" type="INTEGER" size="11" autoIncrement="false"/>
172        <column name="SIZE_" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
173      <!--unique name="PRIMARY">
174        <unique-column name="ID"/>
175      </unique-->
176    </table>
177    <table name="OJB_DSET_ENTRIES">
178        <column name="ID" primaryKey="true" required="true" type="INTEGER" size="11" autoIncrement="false"/>
179        <column name="DLIST_ID" primaryKey="false" required="true" type="INTEGER" size="11" autoIncrement="false"/>
180        <column name="POSITION_" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
181        <column name="OID_" primaryKey="false" required="false" type="LONGVARBINARY" size="2147483647" autoIncrement="false"/>
182      <!--unique name="PRIMARY">
183        <unique-column name="ID"/>
184      </unique-->
185    </table>
186    <table name="OJB_HL_SEQ">
187        <column name="TABLENAME" primaryKey="true" required="true" type="VARCHAR" size="175" autoIncrement="false"/>
188        <column name="MAX_KEY" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
189        <column name="GRAB_SIZE" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
190        <column name="VERSION" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
191      <!--unique name="PRIMARY">
192        <unique-column name="TABLENAME"/>
193        <unique-column name="FIELDNAME"/>
194      </unique-->
195    </table>
196    <table name="OJB_LOCKENTRY">
197        <column name="OID_" primaryKey="true" required="true" type="VARCHAR" size="250" autoIncrement="false"/>
198        <column name="TX_ID" primaryKey="true" required="true" type="VARCHAR" size="50" autoIncrement="false"/>
199        <column name="TIMESTAMP_" primaryKey="false" required="false" type="TIMESTAMP" size="19" default="CURRENT_TIMESTAMP" autoIncrement="false"/>
200        <column name="ISOLATIONLEVEL" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
201        <column name="LOCKTYPE" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
202      <!--unique name="PRIMARY">
203        <unique-column name="OID_"/>
204        <unique-column name="TX_ID"/>
205      </unique-->
206    </table>
207    <table name="OJB_NRM">
208        <column name="NAME" primaryKey="true" required="true" type="VARCHAR" size="250" autoIncrement="false"/>
209        <column name="OID_" primaryKey="false" required="false" type="LONGVARBINARY" size="2147483647" autoIncrement="false"/>
210      <!--unique name="PRIMARY">
211        <unique-column name="NAME"/>
212      </unique-->
213    </table>
214    <table name="pv_folders">
215        <column name="folder_uuid" primaryKey="true" required="true" type="VARCHAR" size="36" autoIncrement="false"/>
216        <column name="parent_uuid" primaryKey="false" required="false" type="VARCHAR" size="36" autoIncrement="false"/>
217        <column name="collection_name" primaryKey="false" required="true" type="VARCHAR" size="30" autoIncrement="false"/>
218        <column name="collection_desc" primaryKey="false" required="false" type="LONGVARCHAR" size="65535" autoIncrement="false"/>
219        <column name="create_time" primaryKey="false" required="false" type="TIMESTAMP" size="19" autoIncrement="false"/>
220        <column name="last_modified" primaryKey="false" required="false" type="TIMESTAMP" size="19" autoIncrement="false"/>
221        <column name="extvol_uuid" primaryKey="false" required="false" type="VARCHAR" size="36" autoIncrement="false"/>
222        <column name="extvol_path" primaryKey="false" required="false" type="VARCHAR" size="255" autoIncrement="false"/>
223     
224      <!-- Columns for reserved for future use -->
225        <column name="collection_string1" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
226        <column name="collection_string2" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
227        <column name="collection_string3" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
228        <column name="collection_string4" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
229        <column name="collection_float1" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
230        <column name="collection_float2" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
231        <column name="collection_float3" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
232        <column name="collection_float4" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
233     
234<!--unique name="PRIMARY">
235        <unique-column name="collection_id"/>
236      </unique-->
237      <!--index name="collection_desc">
238        <index-column name="collection_desc"/>
239      </index-->
240    </table>
241    <table name="photos">
242        <column name="photo_uuid" primaryKey="true" required="false" type="VARCHAR" size="36" autoIncrement="false"/>
243        <column name="version_uuid" primaryKey="false" required="false" 
244              type="VARCHAR" size="36" autoIncrement="false"/>
245        <column name="original_id" primaryKey="false" required="false" type="BIGINT" autoIncrement="false"/>
246        <column name="shoot_time" primaryKey="false" required="false" type="TIMESTAMP" size="19" autoIncrement="false"/>
247        <column name="time_accuracy" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
248        <column name="shooting_place" primaryKey="false" required="false" type="VARCHAR" size="30" autoIncrement="false"/>
249        <column name="photographer" primaryKey="false" required="false" type="VARCHAR" size="30" autoIncrement="false"/>
250        <column name="f_stop" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
251        <column name="focal_length" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
252        <column name="shutter_speed" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
253        <column name="camera" primaryKey="false" required="false" type="VARCHAR" size="30" autoIncrement="false"/>
254        <column name="lens" primaryKey="false" required="false" type="VARCHAR" size="30" autoIncrement="false"/>
255        <column name="film" primaryKey="false" required="false" type="VARCHAR" size="30" autoIncrement="false"/>
256        <column name="film_speed" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
257        <column name="pref_rotation" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
258      <!-- Clip rectangle specification. Reserved for future use -->
259        <column name="clip_xmin" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false" defaultValue="0.0"/>
260        <column name="clip_ymin" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false" defaultValue="0.0"/>
261        <column name="clip_xmax" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false" defaultValue="1.0"/>
262        <column name="clip_ymax" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false" defaultValue="1.0"/>
263        <column name="orig_fname" primaryKey="false" required="false" type="VARCHAR" size="30" autoIncrement="false"/>
264        <column name="description" primaryKey="false" required="false" type="LONGVARCHAR" size="65535" autoIncrement="false"/>
265        <column name="photo_quality" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>
266        <column name="last_modified" primaryKey="false" required="false" type="TIMESTAMP" size="19" autoIncrement="false"/>
267        <column name="tech_notes" primaryKey="false" required="false" type="LONGVARCHAR" size="65535" autoIncrement="false"/>
268        <column name="rawconv_id" primaryKey="false" required="false" type="INTEGER" size="11" autoIncrement="false"/>           
269     
270      <!-- Raw conversion settings -->
271        <column name="raw_whitepoint" primaryKey="false" required="false" type="INTEGER" 
272              size="11" autoIncrement="false"
273              description="Pixel value that is considered white if no EV correction is applied"/>
274        <column name="raw_blackpoint" primaryKey="false" required="false" type="INTEGER" 
275              size="11" autoIncrement="false"
276              description="Pixel value that is considered black"/>
277        <column name="raw_ev_corr" primaryKey="false" required="false" type="FLOAT" 
278              size="12" autoIncrement="false"
279              description="Exposure correction in f-stops"/>
280        <column name="raw_hlight_corr" primaryKey="false" required="false" type="FLOAT" 
281              size="12" autoIncrement="false"
282              description="Highlight compression, how many f-stops actul white point will differ from linear"/>
283        <column name="raw_embedded_profile" primaryKey="false" required="false" type="BIT"
284              size="1" autoIncrement="false"
285              description="Whether conversion uses ICC profile embedded to the raw file"/>
286        <column name="raw_profile_id" primaryKey="false" required="false" type="INTEGER" 
287              size="11" autoIncrement="false"
288              description="ID of the matching ICC profile (in table icc_profiles)"/>
289        <column name="raw_wb_type" primaryKey="false" required="false" type="INTEGER" 
290              size="11" autoIncrement="false"
291              description="White balance setting type. See Javadoc for RawConversionSettings for details"/>
292        <column name="raw_r_g_ratio" primaryKey="false" required="false" type="FLOAT" 
293              size="12" autoIncrement="false"
294              description="Ratio of red and green channel multipliers"/>
295        <column name="raw_b_g_ratio" primaryKey="false" required="false" type="FLOAT" 
296              size="12" autoIncrement="false"
297              description="Ratio of blue and green channel multipliers"/>
298        <column name="raw_dl_r_g_ratio" primaryKey="false" required="false" type="FLOAT" 
299              size="12" autoIncrement="false"
300              description="Ratio of red and green channel multipliers for daylight"/>
301        <column name="raw_dl_b_g_ratio" primaryKey="false" required="false" type="FLOAT" 
302              size="12" autoIncrement="false"
303              description="Ratio of blue and green channel multipliers for daylight"/>
304        <column name="channel_map" primaryKey="false" required="false" type="LONGVARBINARY" size="65535" autoIncrement="false"/>     
305     
306      <!-- MD5 hash code of the original image file -->
307        <column name="hash" primaryKey="false" required="false" type="VARBINARY" size="16" autoIncrement="false"/>
308     
309      <!-- Columns reserved for future use, to avoid disrupting schema changes -->
310        <column name="photo_string1" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
311        <column name="photo_string2" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
312        <column name="photo_string3" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
313        <column name="photo_string4" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
314        <column name="photo_float1" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
315        <column name="photo_float2" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
316        <column name="photo_float3" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
317        <column name="photo_float4" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
318      <!--unique name="PRIMARY">
319        <unique-column name="photo_id"/>
320      </unique-->
321      <!--index name="shooting_place">
322        <index-column name="shooting_place"/>
323        <index-column name="description"/>
324      </index-->
325    </table>
326    <table name="change_history"
327           description="Changes made to Photovault database">
328        <column name="change_uuid" primaryKey="true" required="true" 
329                type="VARCHAR" size="36" autoIncrement="false"
330                description="UUID of this change"/>
331        <column name="target_uuid" primaryKey="false" required="true" 
332                type="VARCHAR" size="36" autoIncrement="false"
333                description="UUID of the target object of this change"/>
334        <column name="change_class" primaryKey="false" required="false" 
335                type="VARCHAR" size="100" autoIncrement="false"
336                description="Class name of the change description object"/>
337        <column name="is_applied" primaryKey="false" required="true" 
338                default="false" type="BOOLEAN" autoIncrement="false"
339                description="Is this change applied in current database"/>
340        <column name="is_head" primaryKey="false" required="true" default="true"
341                type="BOOLEAN" autoIncrement="false"
342                description="True if this change is a head (no other change is based on it)"/>
343        <column name="change_num" primaryKey="false" required="false" 
344                type="INTEGER" autoIncrement="false"
345                description="Local numbering for helping queries"/>
346        <column name="changed_fields" primaryKey="false" required="false" 
347                type="LONGVARBINARY" autoIncrement="false"
348                description="Fields changed, serialized using Java serialization (as field id - value pairs)"/>
349        <index name="object_changes">
350            <index-column name="target_uuid"/>
351        </index>
352    </table>
353    <table name="changes">
354        <column name="change_uuid" primaryKey="true" required="true"
355            type="VARCHAR" size="36" autoIncrement="false"
356            description="UUID of the change"/>
357         <column name="target_uuid" primaryKey="false" required="true" 
358                type="VARCHAR" size="36" autoIncrement="false"
359                description="UUID of the target object"/>       
360         <column name="head" primaryKey="false" required="true" 
361            type="BOOLEAN" autoIncrement="false" 
362            description="Utility field that is true if this change is currently a head"/>
363        <column name="serialized" primary="false" required="true"
364            type="LONGVARBINARY" autoIncrement="false"
365            description="Change description serialized using Java serialziation"/>
366    </table>
367    <table name="change_relations"
368           description="Dependencies between changes">
369        <column name="parent_uuid" primaryKey="true" required="true" 
370                type="VARCHAR" size="36" autoIncrement="false"
371                description="UUID of this change"/>
372        <column name="child_uuid" primaryKey="true" required="true" 
373                type="VARCHAR" size="36" autoIncrement="false"
374                description="UUID of this change"/>
375    </table>
376    <table name="change_unmerged_branches" 
377            description="Heads for brenches that haven't been merged">
378        <column name="target_uuid" primaryKey="true" required="true" 
379                type="VARCHAR" size="36" autoIncrement="false"
380                description="UUID of the target object"/>
381        <column name="change_uuid" primaryKey="true" required="true"
382                type="VARCHAR" size="36" autoIncrement="false"
383                description="UUID of this change"/>
384    </table>
385    <table name="version_histories" description="Version information about replicable objects">
386        <column name="uuid" primaryKey="true" required="true" 
387                type="VARCHAR" size="36" autoIncrement="false"
388                description="UUID of this version record and associated target object"/>
389        <column name="class_discriminator" primaryKey="false" required="true"
390                type="VARCHAR" size="20" autoIncrement="false"
391                description="Class of the associated object"/>
392        <column name="version_uuid" primaryKey="false" required="false" 
393                type="VARCHAR" size="36" autoIncrement="false"
394                description="UUID of current version of associated object"/>
395    </table>
396   
397    <table name ="changes_photo_collections"
398           description="Changes in folders in which the photo belongs">
399        <column name="change_uuid" primaryKey="true" required="true" 
400                type="VARCHAR" size="36" autoIncrement="false"
401                description="UUID of this change"/>
402        <column name="collection_uuid" primaryKey="true" required="true"
403                type="VARCHAR" size="36"
404                description="UUID of the collection added/removed"/>
405        <column name="operation" primaryKey="false" required="true"
406                type="VARCHAR" size="10"/>
407    </table>
408    <table name="dcraw_settings" 
409           description="Settings used to convert a raw image using dcraw" >
410        <column name="rawconv_id" primaryKey="true" required="true" type="INTEGER" 
411                size="11" autoIncrement="false"
412                description="ID of this conversion"/>
413        <column name="whitepoint" primaryKey="false" required="true" type="INTEGER" 
414                size="11" autoIncrement="false"
415                description="Pixel value that is considered white if no EV correction is applied"/>
416        <column name="blackpoint" primaryKey="false" required="true" type="INTEGER" 
417                default="0" size="11" autoIncrement="false"
418                description="Pixel value that is considered black"/>
419        <column name="ev_corr" primaryKey="false" required="true" type="FLOAT" 
420                size="12" autoIncrement="false"
421                description="Exposure correction in f-stops"/>
422        <column name="hlight_corr" primaryKey="false" required="true" type="FLOAT" 
423                size="12" autoIncrement="false"
424                description="Highlight compression, how many f-stops actul white point will differ from linear"/>
425        <column name="embedded_profile" primaryKey="false" required="true" type="BIT"
426                size="1" autoIncrement="false"
427                description="Whether conversion uses ICC profile embedded to the raw file"/>
428        <column name="profile_id" primaryKey="false" required="false" type="INTEGER" 
429                size="11" autoIncrement="false"
430                description="ID of the matching ICC profile (in table icc_profiles)"/>
431        <column name="wb_type" primaryKey="false" required="true" type="INTEGER" 
432                size="11" autoIncrement="false"
433                description="White balance setting type. See Javadoc for RawConversionSettings for details"/>
434        <column name="r_g_ratio" primaryKey="false" required="true" type="FLOAT" 
435                size="12" autoIncrement="false"
436                description="Ratio of red and green channel multipliers"/>
437        <column name="b_g_ratio" primaryKey="false" required="true" type="FLOAT" 
438                size="12" autoIncrement="false"
439                description="Ratio of blue and green channel multipliers"/>
440        <column name="dl_r_g_ratio" primaryKey="false" required="true" type="FLOAT" 
441                size="12" autoIncrement="false"
442                description="Ratio of red and green channel multipliers for daylight"/>
443        <column name="dl_b_g_ratio" primaryKey="false" required="true" type="FLOAT" 
444                size="12" autoIncrement="false"
445                description="Ratio of blue and green channel multipliers for daylight"/>
446        <!-- Columns reserved for future use, to avoid disrupting schema changes -->
447        <column name="raw_string1" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
448        <column name="raw_string2" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
449        <column name="raw_string3" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
450        <column name="raw_string4" primaryKey="false" required="false" type="VARCHAR" size="50" autoIncrement="false"/>
451        <column name="raw_float1" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
452        <column name="raw_float2" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
453        <column name="raw_float3" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
454        <column name="raw_float4" primaryKey="false" required="false" type="FLOAT" size="12" autoIncrement="false"/>
455    </table>
456    <table name="icc_profiles" description="Known ICC profiles">
457        <column name="profile_id" primaryKey="true" required="true" 
458                type="INTEGER" size="11" autoIncrement="false"/>
459        <column name="profile_uuid" primaryKey="false" required="false" 
460                type="VARCHAR" size="36" autoIncrement="false"/>
461        <column name="profile_name" primaryKey="false" required="true"
462                type="VARCHAR" size="50" autoIncrement="false"/>
463        <column name="profile_desc" primaryKey="false" required="false"
464                type="LONGVARCHAR"/>
465        <column name="src_type" primaryKey="false" required="false"
466                type="INTEGER" size="11"/>
467        <column name="target_type" primaryKey="false" required="false"
468                type="INTEGER" size="11"/>
469        <column name="gamma" primaryKey="false" required="false"
470                type="FLOAT" size="12"/>
471        <column name="hash" primaryKey="false"  type="VARBINARY" size="16" 
472                required="false"/>
473    </table>
474    <table name="icc_instances" description="ICC profile files">
475        <column name="profile_id" primaryKey="true" required="true"
476                type="INTEGER" size="11" autoIncrement="false"/>
477        <column name="volume_id" primaryKey="true" required="true" type="VARCHAR" 
478                size="30" autoIncrement="false"/>
479        <column name="fname" description="Name of the volume file"
480                type="VARCHAR" size="255" required="false"/>
481    </table>
482   
483    <!--
484    Information about the database instance. This table is assumed to contain only 1 row
485    that describes this database
486    -->
487    <table name="database_info">
488        <!-- Random 128 bit identifier for this instance. Stored as a hexadecimal string -->
489        <column name="database_id" primaryKey="true" required="true" type="VARCHAR" size="32"/>
490        <column name="default_volume_id" primaryKey="false" required="true" type="VARCHAR" size="36"/>
491        <column name="schema_version" type="INTEGER"/>
492        <column name="create_time" type="TIMESTAMP"/>
493    </table>
494</database>
Note: See TracBrowser for help on using the browser.