Skip to content

4.3 database

James Collins edited this page Jul 17, 2018 · 1 revision

NAO Cadet uses an SQLite database to store domains, users, scripts, motions and settings. The database is located in the root of the behavior and named db.sqlite.

Tables

All table names are lowercase.

Domains

Field Type Description
id INTEGER [Primary Key, Auto Increment]
name TEXT The display name for the domain/location. This is used to group users/scripts together to allow NAO Cadet to be used in multiple locations
deleted INTEGER Flag to indicate if the domain is deleted (value = 1) and cannot be used.

Users

Field Type Description
id INTEGER [Primary Key, Auto Increment]
name TEXT The display name for the user.
password TEXT The password for the user account. This stored in plaintext.
domain INTEGER A value of the id field in the domains table the user is associated with.
options TEXT User options stored as a JSON string.
username TEXT The username used to verify the user. This is generated by taking the name field, changing to lowercase and removing all non-alpha characters. This is set on row creation or when the name is changed in a user profile. This field is required to be unique in the table.
deleted INTEGER Flag to indicate if the user is deleted (value = 1) and cannot be used.

Settings

Field Type Description
id INTEGER [Primary Key, Auto Increment]
setting TEXT Setting name. This field is required to be unique in the table.
value TEXT The setting value.

Scripts

Field Type Description
id INTEGER [Primary Key, Auto Increment]
name TEXT Script name.
user INTEGER A value of the id field in the users table the script is associated with.
locked INTEGER Depreciated from version 1.0-beta20 onwards
deleted INTEGER Flag to indicate if the script is deleted (value = 1) and cannot be used.
options TEXT Script options stored as a JSON string. An example is the script colour and icon.
xml TEXT XML output of the script from Blockly.

Motions

Field Type Description
id INTEGER [Primary Key, Auto Increment]
name TEXT Motion name.
deleted INTEGER Flag to indicate if the motion is deleted (value = 1) and cannot be used.

MotionItems

Field Type Description
id INTEGER [Primary Key, Auto Increment]
joints TEXT Joints and angles (degrees) stored as a JSON string.
speed INTEGER Duration of time in seconds to complete the motion item.
motionid INTEGER A value of the id field in the motions table the motion item is associated with.
delay INTEGER Duration of time in seconds to wait until running the next motion item.

Files

Depreciated from version 1.0-beta20 onwards

Clone this wiki locally