Sympa::DatabaseDescription.3Sympa - Man Page
Definition of core database structure
Description
This module keeps structure of database used by Sympa software.
Functions
- 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
See below.
- doc
Description of the table.
- order
TBD.
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)
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.
See Also
sympa_database(5), Sympa::DatabaseManager.
History
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.