Scroll to navigation

Sympa::DatabaseDescription(3Sympa) sympa 6.2.40 Sympa::DatabaseDescription(3Sympa)

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.
2019-01-20 6.2.40