1 |
<?xml version="1.0"?> |
<?xml version="1.0" encoding="iso8859-1"?> |
|
<schema> |
|
|
<tables> |
|
|
<!-- Class Repository --> |
|
|
<table name="gnue_module"> |
|
|
<fields> |
|
|
<field name="gnue_id" type="string" length="32"/> |
|
|
<field name="gnue_name" type="string" length="35"/> |
|
|
<field name="gnue_comment" type="string" length="70"/> |
|
|
</fields> |
|
|
<primarykey name="pk_gnue_module"> |
|
|
<pkfield name="gnue_id"/></primarykey> |
|
|
</table> |
|
|
<table name="gnue_class"> |
|
|
<fields> |
|
|
<field name="gnue_id" type="string" length="32"/> |
|
|
<field name="gnue_module" type="string" length="35"/> |
|
|
<field name="gnue_name" type="string" length="35"/> |
|
|
<field name="gnue_comment" type="string" length="70"/> |
|
|
</fields> |
|
|
<primarykey name="pk_gnue_class"> |
|
|
<pkfield name="gnue_id"/></primarykey> |
|
|
</table> |
|
|
<table name="gnue_property"> |
|
|
<fields> |
|
|
<field name="gnue_id" type="string" length="32"/> |
|
|
<field name="gnue_module" type="string" length="35"/> |
|
|
<field name="gnue_class" type="string" length="35"/> |
|
|
<field name="gnue_name" type="string" length="35"/> |
|
|
<field name="gnue_type" type="string" length="35"/> |
|
|
<field name="gnue_comment" type="string" length="70"/> |
|
|
</fields> |
|
|
<primarykey name="pk_gnue_property"> |
|
|
<pkfield name="gnue_id"/></primarykey> |
|
|
</table> |
|
|
<!-- Appserver User listing --> |
|
|
<table name="appserver_users"> |
|
|
<fields> |
|
|
<field name="gnue_id" type="string" length="32"/> |
|
|
<field name="username" type="string" length="20" |
|
|
nullable="N"/> |
|
|
<field name="password" type="string" length="20"/> |
|
|
<field name="tablelist" type="text"/> |
|
|
</fields> |
|
|
<primarykey name="pk_appserver_users"> |
|
|
<pkfield name="username"/> |
|
|
</primarykey> |
|
|
</table> |
|
|
<!-- Appserver trigger list |
|
|
TODO: merge into class repository --> |
|
|
<table name="appserver_pytrigger"> |
|
|
<fields> |
|
|
<field name="gnue_id" type="string" length="32"/> |
|
|
<field name="name" type="string" length="30" nullable="N"/> |
|
|
<field name="event" type="string" length="30"/> |
|
|
<field name="code" type="text"/> |
|
|
</fields> |
|
|
<primarykey name="pk_appserver_pytrigger"> |
|
|
<pkfield name="name"/></primarykey> |
|
|
</table> |
|
2 |
|
|
3 |
<!-- a test table, can be removed --> |
<!-- run this file through gnue-schema to create SQL scripts --> |
|
<table name="person"> |
|
|
<fields><field name="name" type="string" length="35"/> |
|
|
<field name="street" type="string" length="35"/> |
|
|
<field name="zip" type="string" length="17"/> |
|
|
<field name="city" type="string" length="35"/> |
|
|
</fields> |
|
|
</table> |
|
|
</tables> |
|
|
<data> |
|
|
<tabledata name="basic_gnue_module" tablename="gnue_module"> |
|
|
<rows> |
|
|
<row> |
|
|
<value>'00000000000000000000000000000000'</value> |
|
|
<value>'gnue'</value> |
|
|
<value>'GNU Enterprise System Module'</value> |
|
|
</row> |
|
|
</rows> |
|
|
</tabledata> |
|
|
<tabledata name="basic_gnue_module" tablename="gnue_module"> |
|
|
<rows> |
|
|
<row> |
|
|
<value>'00000000000000000000000000000000'</value> |
|
|
<value>'gnue'</value> |
|
|
<value>'GNU Enterprise System Module'</value> |
|
|
</row> |
|
|
</rows> |
|
|
</tabledata> |
|
4 |
|
|
5 |
<tabledata name="sample_appserver_users" tablename="appserver_users"> |
<schema title="Appserver example"> |
6 |
<rows> |
<tables> |
7 |
<row> |
<table name="gnue_class"> |
8 |
<value>'test'</value> |
<fields> |
9 |
<value>'test'</value> |
<field name="gnue_id" length="32" type="string"/> |
10 |
<value>'person,state'</value> |
<field name="gnue_module" length="32" type="string"/> |
11 |
</row> |
<field name="gnue_name" length="35" type="string"/> |
12 |
<row> |
<field name="gnue_comment" length="70" type="string"/> |
13 |
<value>'hacker'</value> |
</fields> |
14 |
<value>'secret'</value> |
<constraints/> |
15 |
<value>'person'</value> |
<indexes/> |
16 |
</row> |
</table> |
17 |
</rows> |
<table name="gnue_module"> |
18 |
</tabledata> |
<fields> |
19 |
|
<field name="gnue_id" length="32" type="string"/> |
20 |
<tabledata name="sample_trigger" tablename="appserver_pytrigger"> |
<field name="gnue_name" length="35" type="string"/> |
21 |
<rows> |
<field name="gnue_comment" length="70" type="string"/> |
22 |
<row> |
</fields> |
23 |
<value>'testtrigger1'</value> |
<constraints/> |
24 |
<value>'person:pre_new_list'</value> |
<indexes/> |
25 |
<value>'print "TestTrigger 1 executed"'</value> |
</table> |
26 |
</row> |
<table name="gnue_property"> |
27 |
<row> |
<fields> |
28 |
<value>'testtrigger2'</value> |
<field name="gnue_id" length="32" type="string"/> |
29 |
<value>'person:pre_new_list'</value> |
<field name="gnue_class" length="32" type="string"/> |
30 |
<value>'print "TestTrigger 2 executed"'</value> |
<field name="gnue_module" length="32" type="string"/> |
31 |
</row> |
<field name="gnue_name" length="35" type="string"/> |
32 |
<row> |
<field name="gnue_type" length="35" type="string"/> |
33 |
<value>'person:checkAreaRichness'</value> |
<field name="gnue_length" length="6" type="number"/> |
34 |
<value>'person:checkAreaRichness'</value> |
<field name="gnue_scale" length="4" type="number"/> |
35 |
<value>'print "standard"'</value> |
<field name="gnue_comment" length="70" type="string"/> |
36 |
</row> |
</fields> |
37 |
</rows> |
<constraints/> |
38 |
</tabledata> |
<indexes/> |
39 |
|
</table> |
40 |
<tabledata name="sample_persons" tablename="person"> |
<table name="address_person"> |
41 |
<rows> |
<fields> |
42 |
<row> |
<field name="gnue_id" length="32" type="string"/> |
43 |
<value>'James T. Kirk'</value> |
<field name="address_name" length="35" type="string"/> |
44 |
<value>'Enterprise Road 17'</value> |
<field name="address_street" length="35" type="string"/> |
45 |
<value>'2002'</value> |
<field name="address_zip" length="17" type="string"/> |
46 |
<value>'Gnutown'</value> |
<field name="address_city" length="35" type="string"/> |
47 |
</row> |
</fields> |
48 |
</rows> |
<constraints/> |
49 |
</tabledata> |
<indexes/> |
50 |
</data> |
</table> |
51 |
|
</tables> |
52 |
|
<data> |
53 |
|
<tabledata name="sample_modules" tablename="gnue_module"> |
54 |
|
<rows> |
55 |
|
<row> |
56 |
|
<value>'00000000000000000000000000000000'</value> |
57 |
|
<value>'gnue'</value> |
58 |
|
<value>'GNU Enterprise System Module'</value> |
59 |
|
</row> |
60 |
|
<row> |
61 |
|
<value>'00000000000000000000000000001000'</value> |
62 |
|
<value>'address'</value> |
63 |
|
<value>'Address Management'</value> |
64 |
|
</row> |
65 |
|
</rows> |
66 |
|
</tabledata> |
67 |
|
<tabledata name="sample_classes" tablename="gnue_class"> |
68 |
|
<rows> |
69 |
|
<row> |
70 |
|
<value>'00000000000000000000000000000010'</value> |
71 |
|
<value>'00000000000000000000000000000000'</value> |
72 |
|
<value>'module'</value> |
73 |
|
<value>'GNU Enterprise Business Object Module'</value> |
74 |
|
</row> |
75 |
|
<row> |
76 |
|
<value>'00000000000000000000000000000020'</value> |
77 |
|
<value>'00000000000000000000000000000000'</value> |
78 |
|
<value>'class'</value> |
79 |
|
<value>'GNU Enterprise Business Object Class'</value> |
80 |
|
</row> |
81 |
|
<row> |
82 |
|
<value>'00000000000000000000000000000030'</value> |
83 |
|
<value>'00000000000000000000000000000000'</value> |
84 |
|
<value>'property'</value> |
85 |
|
<value>'GNU Enterprise Business Object Property'</value> |
86 |
|
</row> |
87 |
|
<row> |
88 |
|
<value>'00000000000000000000000000001010'</value> |
89 |
|
<value>'00000000000000000000000000001000'</value> |
90 |
|
<value>'person'</value> |
91 |
|
<value>'Person'</value> |
92 |
|
</row> |
93 |
|
</rows> |
94 |
|
</tabledata> |
95 |
|
<tabledata name="sample_properties" tablename="gnue_property"> |
96 |
|
<rows> |
97 |
|
<row> |
98 |
|
<value>'00000000000000000000000000000011'</value> |
99 |
|
<value>'00000000000000000000000000000010'</value> |
100 |
|
<value>'00000000000000000000000000000000'</value> |
101 |
|
<value>'id'</value> |
102 |
|
<value>'id'</value> |
103 |
|
<value>'0'</value> |
104 |
|
<value>'0'</value> |
105 |
|
<value>'Object ID'</value> |
106 |
|
</row> |
107 |
|
<row> |
108 |
|
<value>'00000000000000000000000000000012'</value> |
109 |
|
<value>'00000000000000000000000000000010'</value> |
110 |
|
<value>'00000000000000000000000000000000'</value> |
111 |
|
<value>'name'</value> |
112 |
|
<value>'string'</value> |
113 |
|
<value>'35'</value> |
114 |
|
<value>'0'</value> |
115 |
|
<value>'Name'</value> |
116 |
|
</row> |
117 |
|
<row> |
118 |
|
<value>'00000000000000000000000000000013'</value> |
119 |
|
<value>'00000000000000000000000000000010'</value> |
120 |
|
<value>'00000000000000000000000000000000'</value> |
121 |
|
<value>'comment'</value> |
122 |
|
<value>'string'</value> |
123 |
|
<value>'70'</value> |
124 |
|
<value>'0'</value> |
125 |
|
<value>'Comment'</value> |
126 |
|
</row> |
127 |
|
<row> |
128 |
|
<value>'00000000000000000000000000000021'</value> |
129 |
|
<value>'00000000000000000000000000000020'</value> |
130 |
|
<value>'00000000000000000000000000000000'</value> |
131 |
|
<value>'id'</value> |
132 |
|
<value>'id'</value> |
133 |
|
<value>'0'</value> |
134 |
|
<value>'0'</value> |
135 |
|
<value>'Object ID'</value> |
136 |
|
</row> |
137 |
|
<row> |
138 |
|
<value>'00000000000000000000000000000022'</value> |
139 |
|
<value>'00000000000000000000000000000020'</value> |
140 |
|
<value>'00000000000000000000000000000000'</value> |
141 |
|
<value>'module'</value> |
142 |
|
<value>'gnue_module'</value> |
143 |
|
<value>'0'</value> |
144 |
|
<value>'0'</value> |
145 |
|
<value>'Module that defined this class'</value> |
146 |
|
</row> |
147 |
|
<row> |
148 |
|
<value>'00000000000000000000000000000023'</value> |
149 |
|
<value>'00000000000000000000000000000020'</value> |
150 |
|
<value>'00000000000000000000000000000000'</value> |
151 |
|
<value>'name'</value> |
152 |
|
<value>'string'</value> |
153 |
|
<value>'35'</value> |
154 |
|
<value>'0'</value> |
155 |
|
<value>'Classname without modulename'</value> |
156 |
|
</row> |
157 |
|
<row> |
158 |
|
<value>'00000000000000000000000000000024'</value> |
159 |
|
<value>'00000000000000000000000000000020'</value> |
160 |
|
<value>'00000000000000000000000000000000'</value> |
161 |
|
<value>'comment'</value> |
162 |
|
<value>'string'</value> |
163 |
|
<value>'70'</value> |
164 |
|
<value>'0'</value> |
165 |
|
<value>'Comment'</value> |
166 |
|
</row> |
167 |
|
<row> |
168 |
|
<value>'00000000000000000000000000000031'</value> |
169 |
|
<value>'00000000000000000000000000000030'</value> |
170 |
|
<value>'00000000000000000000000000000000'</value> |
171 |
|
<value>'id'</value> |
172 |
|
<value>'id'</value> |
173 |
|
<value>'0'</value> |
174 |
|
<value>'0'</value> |
175 |
|
<value>'Object ID'</value> |
176 |
|
</row> |
177 |
|
<row> |
178 |
|
<value>'00000000000000000000000000000032'</value> |
179 |
|
<value>'00000000000000000000000000000030'</value> |
180 |
|
<value>'00000000000000000000000000000000'</value> |
181 |
|
<value>'class'</value> |
182 |
|
<value>'gnue_class'</value> |
183 |
|
<value>'0'</value> |
184 |
|
<value>'0'</value> |
185 |
|
<value>'Class the property belongs to'</value> |
186 |
|
</row> |
187 |
|
<row> |
188 |
|
<value>'00000000000000000000000000000033'</value> |
189 |
|
<value>'00000000000000000000000000000030'</value> |
190 |
|
<value>'00000000000000000000000000000000'</value> |
191 |
|
<value>'module'</value> |
192 |
|
<value>'gnue_module'</value> |
193 |
|
<value>'0'</value> |
194 |
|
<value>'0'</value> |
195 |
|
<value>'Module that defined this property'</value> |
196 |
|
</row> |
197 |
|
<row> |
198 |
|
<value>'00000000000000000000000000000034'</value> |
199 |
|
<value>'00000000000000000000000000000030'</value> |
200 |
|
<value>'00000000000000000000000000000000'</value> |
201 |
|
<value>'name'</value> |
202 |
|
<value>'string'</value> |
203 |
|
<value>'35'</value> |
204 |
|
<value>'0'</value> |
205 |
|
<value>'Propertyname without modulename'</value> |
206 |
|
</row> |
207 |
|
<row> |
208 |
|
<value>'00000000000000000000000000000035'</value> |
209 |
|
<value>'00000000000000000000000000000030'</value> |
210 |
|
<value>'00000000000000000000000000000000'</value> |
211 |
|
<value>'type'</value> |
212 |
|
<value>'string'</value> |
213 |
|
<value>'35'</value> |
214 |
|
<value>'0'</value> |
215 |
|
<value>'Data type'</value> |
216 |
|
</row> |
217 |
|
<row> |
218 |
|
<value>'00000000000000000000000000000036'</value> |
219 |
|
<value>'00000000000000000000000000000030'</value> |
220 |
|
<value>'00000000000000000000000000000000'</value> |
221 |
|
<value>'length'</value> |
222 |
|
<value>'number'</value> |
223 |
|
<value>'6'</value> |
224 |
|
<value>'0'</value> |
225 |
|
<value>'Data length'</value> |
226 |
|
</row> |
227 |
|
<row> |
228 |
|
<value>'00000000000000000000000000000037'</value> |
229 |
|
<value>'00000000000000000000000000000030'</value> |
230 |
|
<value>'00000000000000000000000000000000'</value> |
231 |
|
<value>'scale'</value> |
232 |
|
<value>'number'</value> |
233 |
|
<value>'4'</value> |
234 |
|
<value>'0'</value> |
235 |
|
<value>'Scale for numeric properties'</value> |
236 |
|
</row> |
237 |
|
<row> |
238 |
|
<value>'00000000000000000000000000000038'</value> |
239 |
|
<value>'00000000000000000000000000000030'</value> |
240 |
|
<value>'00000000000000000000000000000000'</value> |
241 |
|
<value>'comment'</value> |
242 |
|
<value>'string'</value> |
243 |
|
<value>'70'</value> |
244 |
|
<value>'0'</value> |
245 |
|
<value>'Comment'</value> |
246 |
|
</row> |
247 |
|
<row> |
248 |
|
<value>'00000000000000000000000000001011'</value> |
249 |
|
<value>'00000000000000000000000000001010'</value> |
250 |
|
<value>'00000000000000000000000000000000'</value> |
251 |
|
<value>'id'</value> |
252 |
|
<value>'id'</value> |
253 |
|
<value>'0'</value> |
254 |
|
<value>'0'</value> |
255 |
|
<value>'Object ID'</value> |
256 |
|
</row> |
257 |
|
<row> |
258 |
|
<value>'00000000000000000000000000001011'</value> |
259 |
|
<value>'00000000000000000000000000001010'</value> |
260 |
|
<value>'00000000000000000000000000001000'</value> |
261 |
|
<value>'name'</value> |
262 |
|
<value>'string'</value> |
263 |
|
<value>'35'</value> |
264 |
|
<value>'0'</value> |
265 |
|
<value>'Name of the person'</value> |
266 |
|
</row> |
267 |
|
<row> |
268 |
|
<value>'00000000000000000000000000001011'</value> |
269 |
|
<value>'00000000000000000000000000001010'</value> |
270 |
|
<value>'00000000000000000000000000001000'</value> |
271 |
|
<value>'street'</value> |
272 |
|
<value>'string'</value> |
273 |
|
<value>'35'</value> |
274 |
|
<value>'0'</value> |
275 |
|
<value>'Street where the person lives'</value> |
276 |
|
</row> |
277 |
|
<row> |
278 |
|
<value>'00000000000000000000000000001011'</value> |
279 |
|
<value>'00000000000000000000000000001010'</value> |
280 |
|
<value>'00000000000000000000000000001000'</value> |
281 |
|
<value>'zip'</value> |
282 |
|
<value>'string'</value> |
283 |
|
<value>'35'</value> |
284 |
|
<value>'0'</value> |
285 |
|
<value>'Zip code of the city where the person lives'</value> |
286 |
|
</row> |
287 |
|
<row> |
288 |
|
<value>'00000000000000000000000000001011'</value> |
289 |
|
<value>'00000000000000000000000000001010'</value> |
290 |
|
<value>'00000000000000000000000000001000'</value> |
291 |
|
<value>'city'</value> |
292 |
|
<value>'string'</value> |
293 |
|
<value>'35'</value> |
294 |
|
<value>'0'</value> |
295 |
|
<value>'City where the person lives'</value> |
296 |
|
</row> |
297 |
|
</rows> |
298 |
|
</tabledata> |
299 |
|
<tabledata name="sample_persons" tablename="person"> |
300 |
|
<rows> |
301 |
|
<row> |
302 |
|
<value>'James T. Kirk'</value> |
303 |
|
<value>'Enterprise Road 17'</value> |
304 |
|
<value>'2002'</value> |
305 |
|
<value>'Gnutown'</value> |
306 |
|
</row> |
307 |
|
</rows> |
308 |
|
</tabledata> |
309 |
|
</data> |
310 |
</schema> |
</schema> |