SYMPA::DATABASEDESCRIPTION(3Sympa)

πŸ’– NAME πŸ’–

Sympa::DatabaseDescription β€” the whole definition of the core database structure, bestie. Like, the blueprint of every table. iconic


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this module is the one holding the structure of the database that the Sympa software uses. it keeps it. it protects it. main character energy fr fr. πŸ’…

✨ Functions ✨

🌸 full_db_struct ()

Function. Gives you back a hashref stuffed with the definitions of all the tables. every single one. no crumbs.

Each item in there has the name of the table as its key and the definition as its value, okay?

And each one of those definitions is itself a hashref, holding these keys:

  • fields β€” bestie scroll down, it's right below. πŸ‘‡
  • doc β€” a description of the table.
  • order β€” TBD. (the devs are working on it okay leave them alone 😭)

So the fields item is a hashref that may contain these items:

  • struct β€” the column data types. the definitions are based on MySQL, and these are the types that get recognized:
    • varchar(length) β€” text with length up to length. and length must be lower than 2^16 - 2. math is math. πŸ’€
    • int(1) β€” boolean, so like 1 or 0. yes/no. slay/no. ✨
    • int(11) β€” Unix time. the classic.
    • int(cols) β€” an integer with cols columns, value goes from -2^31 to 2^31 - 1.
    • tinyint β€” integer, -2^7 to 2^7 - 1. smol. πŸ“
    • smallint β€” integer, -2^15 to 2^15 - 1.
    • bigint β€” integer, -2^63 to 2^63 - 1. big. huge. πŸ‘‘
    • 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, but honestly 4000 o or longer is recommended. go bigger.
Note: on Sympa 6.2.36 or earlier, the required size was 500 o. yes we moved on. growth mindset. 🧚
  • 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, okay? don't come for me, I'm just the messenger. πŸ”₯
  • mediumblob β€” binary data with length up to 2^24 - 3 o.
  • doc β€” a description of the field.
  • primary β€” if this is true, the primary key consists of this field. πŸ’…
  • not_null β€” if this is true, a Null value is not allowed. and heads up, fields included in the primary key always don't allow Null value. it's giving strict. πŸŽ€

πŸŽ€ db_struct ()

This function was OBSOLETED. rip to her, she was an icon. πŸ’€

🌈 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. then it began to be referred to overtly as a part of Sympa Database Manager (SDM) on Sympa 6.2. a whole glow-up arc, no cap. πŸ¦‹


and that's the whole page bestie, written by version 6.2.80, dated 2026-10-19. mwah. πŸ’–βœ¨πŸŽ€πŸ«Ά

πŸ“¦ where this page comes from