Sympa::DatabaseDescription - Definition of core database
structure
This module keeps structure of database used by Sympa
software.
- full_db_struct
()
- Function. Returns a heshref containing definitions of all tables.
Each item has the name of table as key and definition as value.
Each definition is hashref containing following keys:
"fields" item is hashref which
may contain following items.
- struct
- Column data types. Definitions are based on MySQL. Following types are
recognized:
- varchar(length)
- Text with length up to length. length must be lower than
2^16 - 2.
- int(1)
- Boolean, 1 or 0.
- int(11)">int(11)">int(11)
- Unix time.
- int(cols)
- Integer with columns up to cols, with its value from -2^31 to 2^31
- 1.
- tinyint
- Integer, -2^7 to 2^7 - 1.
- smallint
- Integer, -2^15 to 2^15 - 1.
- bigint
- Integer, -2^63 to 2^63 - 1.
- double
- IEEE floating point number, 8 bytes.
- enum
- Keyword with length up to 20 o.
- text
- Text with length up to 2000 o at minimum. 4000 o or longer is recommended.
Note: On Sympa 6.2.36 or earlier, required size was 500 o.
- longtext
- Text with length up to 2^32 - 4 o.
- datetime
- Timestamp. Deprecated as of Sympa 6.2.25b.3. Use
"int(11)" (Unix time) instead.
- mediumblob
- Binary data with length up to 2^24 - 3 o.
- doc
- Description of the field.
- primary
- If this is true, primary key consists of this field.
- not_null
- If this is true, Null value is not allowed. Note that fields included in
primary key always don't allow Null value.
- db_struct
()
- This function was OBSOLETED.
- not_null ()
- Function. TBD.
- autoincrement
()
- Function. TBD.
- primary ()
- Function. TBD.
Sympa::DatabaseDescription was introduced behind the veil on Sympa
6.1. It began to be referred overtly as a part of Sympa Database Manager
(SDM) on Sympa 6.2.