Skip to content

Moodle Users Table Matching

Russell Maier edited this page Dec 4, 2024 · 3 revisions

We're on track in our Road Map to link our Buwana Accounts with our Moodle learning system. To do so, we need to ensure our Buwana users_tb matches the moodle account system default. Here's the moodle account table. See the right column for our proposed match to the buwana user_tb:

Field Name Type Length Buwana Match Notes
id int 10 user_id
auth char 20
confirmed int 1
policyagreed int 1
deleted int 1
suspended int 1
mnethostid int 10
username char 100 username
password char 255
idnumber char 255
firstname char 100 first_name
lastname char 100 last_name
email char 100 email_addr
emailstop int 1
phone1 char 20
phone2 char 20
institution char 255
department char 255
address char 255
city char 120
country char 2
lang char 30
calendartype char 30
theme char 50
timezone char 100
firstaccess int 10
lastaccess int 10
lastlogin int 10
currentlogin int 10
lastip char 45
secret char 15
picture int 10
description text
descriptionformat int 2
mailformat int 1
maildigest int 1
maildisplay int 2
autosubscribe int 1
trackforums int 1
timecreated int 10
timemodified int 10
trustbitmask int 10
imagealt char 255
lastnamephonetic char 255
firstnamephonetic char 255
middlename char 255
alternatename char 255

Here is the original moodle SQL:

TABLE NAME="user" COMMENT="One record for each person in Core Moodle, originally XML format, for Install into MySql DB"

    FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"
    FIELD NAME="auth" TYPE="char" LENGTH="20" NOTNULL="true" DEFAULT="manual" SEQUENCE="false"
    FIELD NAME="confirmed" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="policyagreed" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="deleted" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="suspended" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="suspended flag prevents users to log in"
    FIELD NAME="mnethostid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="username" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="password" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="idnumber" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="firstname" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="lastname" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="email" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="emailstop" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="phone1" TYPE="char" LENGTH="20" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="phone2" TYPE="char" LENGTH="20" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="institution" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="department" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="address" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="city" TYPE="char" LENGTH="120" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="country" TYPE="char" LENGTH="2" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="lang" TYPE="char" LENGTH="30" NOTNULL="true" DEFAULT="en" SEQUENCE="false"
    FIELD NAME="calendartype" TYPE="char" LENGTH="30" NOTNULL="true" DEFAULT="gregorian" SEQUENCE="false"
    FIELD NAME="theme" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="timezone" TYPE="char" LENGTH="100" NOTNULL="true" DEFAULT="99" SEQUENCE="false"
    FIELD NAME="firstaccess" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="lastaccess" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="lastlogin" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="currentlogin" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="lastip" TYPE="char" LENGTH="45" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="secret" TYPE="char" LENGTH="15" NOTNULL="true" SEQUENCE="false"
    FIELD NAME="picture" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="0 means no image uploaded, positive values are revisions that prevent caching problems, negative values are reserved for future use"
    FIELD NAME="description" TYPE="text" NOTNULL="false" SEQUENCE="false"
    FIELD NAME="descriptionformat" TYPE="int" LENGTH="2" NOTNULL="true" DEFAULT="1" SEQUENCE="false"
    FIELD NAME="mailformat" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="1" SEQUENCE="false"
    FIELD NAME="maildigest" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="maildisplay" TYPE="int" LENGTH="2" NOTNULL="true" DEFAULT="2" SEQUENCE="false"
    FIELD NAME="autosubscribe" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="1" SEQUENCE="false"
    FIELD NAME="trackforums" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="trustbitmask" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"
    FIELD NAME="imagealt" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="alt tag for user uploaded image"
    FIELD NAME="lastnamephonetic" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="Last name phonetic"
    FIELD NAME="firstnamephonetic" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="First name phonetic"
    FIELD NAME="middlename" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="Middle name"
    FIELD NAME="alternatename" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="Alternate name - Useful for three-name countries."

Nomenclature note

In the GoBrik table we write table names with tb_ at the start of the table name (using a plural noun i.e. ecobricks, ecobrickers, etc) if it is only used on GoBrik. On the buwana database we add the _tb at the end of the name (using a plural nound i.e. users, countries, watershed, etc.). On the GoBrik database, if a table is mirrored on Buwana, we name it the same as on the Buwana database (i.e. communities_tb, languages_tb, countries_tb etc.)

Clone this wiki locally