Thursday, March 6, 2008

Schema.xml 语法总结

Schema.xml 语法总结

<?xml version="1.0" encoding="UTF-8"?>


<database name = " DatabaseName " >








defaultIdMethod= = " native|none "









package = " ProjectName "









baseClass = " baseClassName "









basePeer = " baseClassPeerName "









defaultPhpNamingMethod = " nochange|underscore|phpname "









heavyIndexing = " true|false
<external-schema filename = " a path to a file " />


<table name = " TableName " >








phpName = " PhpObjectName










idMethod = " native|{none}










skipSql = " true|false










abstract = " true|false










phpNamingMethod = " nochange|{underscore}|phpname










baseClass = " baseClassName










basePeer = " baseClassPeerName










description = " Description of Table










heavyIndexing = " true|false
<column name = " ColumnName " >






type = " {VARCHAR} "



LONGVARCHAR | CHAR | BOOLEAN | INTEGER | BIGINT | SMALLINT | TINYINT | DOUBLE


TIMESTAMP | DATE | TIME | CLOB | BLOB | FLOAT | REAL | DECIMAL






required = " true|{false} "







primaryKey = " true|{false} "







autoIncrement = " true|{false} "







size = " NumericLengthOfColumn "







scale = " DigitsAfterDecimalPlace "







default = " AnyDefaultValueMatchingType "







description = " Column Description "







phpNamingMethod = " nochange|underscore|phpname "







phpName = " PHPColumnName "







peerName = " PEERNAME "







inheritance = " single|{false} "







inputValidator = " NameOfInputValidatorClass "





<inheritance key = " KeyName " />




class = " ClassName "





extends = " BaseClassName "



</column>













<foreign-key foreignTable = " TheOtherTableName " >




name = " Name for this foreign key "




onDelete = " cascade|setnull|{restrict} "



<reference local = " LocalColumnName " />



foreign = " ForeignColumnName "


</foreign-key>












<index>









<index-column name = " ColumnName " />




size = " LengthOfIndexColumn "


</index>













<unique>














<unique-column name = " ColumnName />




size = " LengthOfIndexColumn


</unique>














<id-method-parameter value = " my_custom_sequence_name " />


</table>















</database>