1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 Tests databases schema 4 --> 5 6 7<schema> 8 <!-- provider specific information 9 use <replace> to replace something with something else (context can only be "/FIELDS_A/@COLUMN_TYPE" at the moment) 10 use <ignore> to ignore some parts (context can only be "/FKEY_S" or "/FIELDS_A/@COLUMN_PKEY" at the moment) 11 use <symbol> to define a symbolic value 12 --> 13 <specifics> 14 <provider name="PostgreSQL"> 15 <replace context="/FIELDS_A/@COLUMN_TYPE" expr="string" replace_with="varchar"/> 16 <replace context="/FIELDS_A/@COLUMN_TYPE" expr="gint" replace_with="int"/> 17 <symbol name="now">now()</symbol> 18 </provider> 19 20 <provider name="MySQL"> 21 <replace context="/FIELDS_A/@COLUMN_TYPE" expr="string" replace_with="text"/> 22 <replace context="/FIELDS_A/@COLUMN_TYPE" expr="gint" replace_with="int"/> 23 <ignore context="/FKEY_S"/> 24 <ignore context="/FIELDS_A/@COLUMN_PKEY"/> 25 <symbol name="now">CURRENT_TIMESTAMP</symbol> 26 </provider> 27 28 <provider name="SQLite"> 29 <replace context="/FIELDS_A/@COLUMN_TYPE" expr="gint" replace_with="integer"/> 30 <symbol name="now">CURRENT_TIMESTAMP</symbol> 31 </provider> 32 </specifics> 33 34 <!-- customers table --> 35 <table name="customers"> 36 <column name="id" type="gint" pkey="TRUE" autoinc="TRUE"/> 37 <column name="name"/> 38 <column name="last_update" type="timestamp"/> 39 <column name="default_served_by" type="gint" nullok="TRUE"/> 40 <column name="country" nullok="TRUE"/> 41 <column name="city" nullok="TRUE"/> 42 <fkey ref_table="locations"> 43 <part column="country"/> 44 <part column="city"/> 45 </fkey> 46 </table> 47 48 <table name="locations"> 49 <column name="country" pkey="TRUE"/> 50 <column name="city" pkey="TRUE"/> 51 <column name="shortcut"/> 52 </table> 53</schema> 54