NAME
Sympa::DatabaseDescription - 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.