b57a4def4ccc625f9b3cb42a19213e1d80120e17
[dbsrgits/SQL-Translator.git] / t / data / xml / schema.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- 
3 Created by SQL::Translator::Producer::SqlfXML
4 Created on Fri Aug 15 15:08:18 2003
5
6  -->
7 <schema xmlns="http://sqlfairy.sourceforge.net/sqlfairy.xml">
8     
9   <tables>
10       <table order="1" name="Basic">
11         <fields>
12           <field
13               name="id"
14               is_primary_key="1" is_foreign_key="0"
15               size="10" data_type="int" is_auto_increment="1" order="1"
16               is_nullable="0">
17               <extra ZEROFILL="1" />
18           </field>
19           <field
20               name="title"
21               is_primary_key="0" is_foreign_key="0"
22               size="100" is_auto_increment="0" data_type="varchar"
23               order="2" default_value="hello" is_nullable="0" />
24           <field
25               name="description"
26               size="0" data_type="text" order="3" default_value="" />
27           <field name="email" size="500" data_type="varchar" order="4">
28               <extra foo="bar" hello="world" bar="baz" />
29           </field>
30           <field name="explicitnulldef" size="0" data_type="varchar" order="5" />
31           <field name="explicitemptystring" size="0"
32               data_type="varchar" order="6" default_value="" />
33           <field name="emptytagdef" size="0"
34               data_type="varchar" order="7" default_value="" >
35               <comments>Hello emptytagdef</comments>
36           </field>
37           <field name="another_id" size="10"
38               data_type="int" default_value="2" />
39           <field name="timest" size="0"
40               data_type="timestamp" order="7" >
41           </field>
42         </fields>
43
44         <indices>
45           <index name="titleindex" fields="title" type="NORMAL">
46             <extra foo="bar" hello="world" bar="baz" />
47           </index>
48         </indices>
49
50         <constraints>
51           <constraint name="" type="PRIMARY KEY" fields="id"
52               reference_table="" options="" deferrable="1" match_type=""
53               expression="" on_update="" on_delete="">
54               <extra foo="bar" hello="world" bar="baz" />
55           </constraint>
56           <constraint name="emailuniqueindex" type="UNIQUE" fields="email" />
57           <constraint name="very_long_index_name_on_title_field_which_should_be_truncated_for_various_rdbms" type="UNIQUE" fields="title" />
58           <constraint name="" type="FOREIGN KEY" fields="another_id"
59               reference_table="Another" options="" deferrable="1" match_type=""
60               expression="" on_update="" on_delete="">
61           </constraint>
62         </constraints>
63         
64         <extra foo="bar" hello="world" bar="baz" mysql_table_type="InnoDB" />
65       </table>
66
67       <table order="1" name="Another">
68         <fields>
69           <field
70               name="id"
71               is_primary_key="1" is_foreign_key="0"
72               size="10" data_type="int" is_auto_increment="1" order="1"
73               is_nullable="0">
74           </field>
75           <field
76               name="num"
77               size="10,2" data_type="numeric" order="2"
78               is_nullable="1">
79           </field>
80         </fields>
81
82         <constraints>
83           <constraint name="" type="PRIMARY KEY" fields="id"
84               reference_table="" options="" deferrable="1" match_type=""
85               expression="" on_update="" on_delete="">
86           </constraint>
87         </constraints>
88
89         <extra foo="bar" hello="world" bar="baz" mysql_table_type="InnoDB" />
90       </table>
91   </tables>
92
93   <views>
94       <view name="email_list" fields="email" order="1">
95           <sql>SELECT email FROM Basic WHERE (email IS NOT NULL)</sql>
96           <extra foo="bar" hello="world" bar="baz" />
97       </view>
98   </views>
99
100   <triggers>
101       <trigger name="foo_trigger" database_event="insert" on_table="Basic"
102           perform_action_when="after" order="1">
103           <action>update modified=timestamp();</action>
104           <extra foo="bar" hello="world" bar="baz" />
105       </trigger>
106       <trigger name="bar_trigger" database_events="insert , update" on_table="Basic"
107           perform_action_when="before" order="1">
108           <action>update modified2=timestamp();</action>
109           <extra hello="aliens" />
110       </trigger>
111   </triggers>
112
113   <procedures>
114       <procedure name="foo_proc" order="1" owner="Nomar" parameters="foo,bar">
115           <sql>select foo from bar</sql>
116           <comments>Go Sox!</comments>
117           <extra foo="bar" hello="world" bar="baz" />
118       </procedure>
119   </procedures>
120
121 </schema>