added docs docs/AutoMap.md to describe how go type converted to database type

This commit is contained in:
Lunny Xiao 2013-10-08 11:30:56 +08:00
parent 1c0a92d420
commit 99c1cc6e91
1 changed files with 65 additions and 0 deletions

65
docs/AutoMap.md Normal file
View File

@ -0,0 +1,65 @@
When a struct auto mapping to a database's table, the below table describes how they change to each other:
<table>
<tr>
<td>go type
</td>
<td>value method</td>
<td>xorm type
</td>
</tr>
<tr>
<td>implemented Conversion</td>
<td>Conversion.ToDB / Conversion.FromDB</td>
<td>Text</td>
</tr>
<tr>
<td>int, int8, int16, int32, uint, uint8, uint16, uint32</td>
<td></td>
<td> Int </td>
</tr>
<tr>
<td>int64, uint64</td><td></td><td>BigInt</td>
</tr>
<tr><td>float32</td><td></td><td>Float</td>
</tr>
<tr><td>float64</td><td></td><td>Double</td>
</tr>
<tr><td>complex64, complex128</td>
<td>json.Marshal / json.UnMarshal</td>
<td>Varchar(64)</td>
</tr>
<tr>
<td>[]uint8</td><td></td><td>Blob</td>
</tr>
<tr>
<td>array, slice, map except []uint8</td>
<td>json.Marshal / json.UnMarshal</td>
<td>Text</td>
</tr>
<tr>
<td>bool</td><td>1 or 0</td><td>Bool</td>
</tr>
<tr>
<td>string</td><td></td><td>Varchar(255)</td>
</tr>
<tr>
<td>time.Time</td><td></td><td>DateTime</td>
</tr>
<tr>
<td>cascade struct</td><td>primary key field value</td><td>BigInt</td>
</tr>
<tr>
<tr>
<td>struct</td><td>json.Marshal / json.UnMarshal</td><td>Text</td>
</tr>
<tr>
<td>
Others
</td>
<td></td>
<td>
Text
</td>
</tr>
</table>