This document is for the DBSecurityService. If you look for documentation about the schema for the TorqueSecurityService or the Scheduler Service, please look at the Torque Report.
The naming scheme is that the Turbine specific tables are prefixed with "TURBINE_". This is to avoid name collisions with applications for common tables such as PERMISSION or ROLE and also to avoid name collisions with reserved keywords in different databases.
TURBINE_USER -|------o-< TURBINE_USER_GROUP_ROLE TURBINE_ROLE -|------o-< TURBINE_USER_GROUP_ROLE TURBINE_GROUP -|------o-< TURBINE_USER_GROUP_ROLE TURBINE_ROLE -|------o-< TURBINE_ROLE_PERMISSION TURBINE_PERMISSION -|------o-< TURBINE_ROLE_PERMISSION
The data-types represented below are for the MySQL database. For other database specific data-types check the .sql scripts in the src/sql directory of the Turbine distribution.
Column Name | Key | Data Type | Default Value | Null | Indexed | Comment |
---|---|---|---|---|---|---|
ID_TABLE_ID | Primary | INTEGER | NOT NULL | Yes | AUTOINCREMENT | |
TABLE_NAME | Unique | VARCHAR(255) | NOT NULL | UNIQUE | ||
NEXT_ID | INTEGER | NULL | ||||
QUANTITY | INTEGER | NULL |
The ID_TABLE carries the information for the next ID number in the specified tables. This table is useful when the database being used has no data-type which carries out auto-increment operations.
column name | key | data type | default value | null | indexed | comment |
---|---|---|---|---|---|---|
PERMISSION_ID | PRIMARY | INTEGER | AUTOINCREMENT | |||
PERMISSION_NAME | VARCHAR(99) | NOT NULL | UNIQUE | |||
OBJECTDATA | MEDIUMBLOB |
The TURBINE_PERMISSION table stores the lowest level of permissions allowed for a Turbine User.
column name | key | data type | default value | null | indexed | comment |
---|---|---|---|---|---|---|
ROLE_ID | PRIMARY | INTEGER | AUTO_INCREMENT | |||
ROLE_NAME | VARCHAR(99) | NOT NULL | UNIQUE | |||
OBJECTDATA | MEDIUMBLOB |
The TURBINE_ROLE table links a Turbine User to a span of permissions. Potentially a Turbine User can have many roles within the system. In this case a role represents a descriptive word for a series of permissions or actions the Turbine User is able to undertake.
column name | key | data type | default value | null | indexed | comment |
---|---|---|---|---|---|---|
GROUP_ID | PRIMARY | INTEGER | AUTOINCREMENT | |||
GROUP_NAME | VARCHAR(99) | NOT NULL | UNIQUE | |||
OBJECTDATA | MEDIUMBLOB |
The TURBINE_GROUP table allows for a series of roles and Turbine Users to be connected under a Group ID and hence Group Name. For instance there may be a group named Administrators with the necessary roles and permissions. There may also be many Administrators on the system. The Group table and it's relationship with the TURBINE_USER_GROUP_ROLE table maps this functionality.
column name | key | data type | default value | null | indexed | comment |
---|---|---|---|---|---|---|
ROLE_ID | PRIMARY | INTEGER | NOT NULL | Yes | ||
PERMISSION_ID | PRIMARY | INTEGER | NOT NULL | Yes |
The TURBINE_ROLE_PERMISSION table is a bridging table between TURBINE_ROLE and TURBINE_PERMISSION that allows a several different roles to make use of the same permission.
column name | key | data type | default value | null | indexed | comment |
---|---|---|---|---|---|---|
USER_ID | PRIMARY | INTEGER | ||||
LOGIN_NAME | VARCHAR(32) | NOT NULL | UNIQUE | |||
PASSWORD_VALUE | VARCHAR(32) | NOT NULL | ||||
FIRST_NAME | VARCHAR(99) | NOT NULL | ||||
LAST_NAME | VARCHAR(99) | NOT NULL | ||||
VARCHAR(99) | NOT NULL | |||||
CONFIRM_VALUE | VARCHAR(32) | NOT NULL | ||||
MODIFIED | TIMESTAMP | |||||
CREATED | DATETIME | |||||
LAST_LOGIN | TIMESTAMP | |||||
OBJECTDATA | MEDIUMBLOB |
The TURBINE_USER table describes the basic information on the user in the system.
column name | key | data type | default value | null | indexed | comment |
---|---|---|---|---|---|---|
USER_ID | PRIMARY | INTEGER | ||||
GROUP_ID | PRIMARY | INTEGER | ||||
ROLE_ID | PRIMARY | INTEGER |
The TURBINE_USER_GROUP_ROLE describes what roles a given user has as a member of a given group.
column name | key | data type | default value | null | indexed | comment |
---|---|---|---|---|---|---|
JOB_ID | PRIMARY | int(11) | NOT NULL | AUTO_INCREMENT | ||
SECOND | INTEGER | -1 | NOT NULL | |||
MINUTE | INTEGER | -1 | NOT NULL | |||
HOUR | INTEGER | -1 | NOT NULL | |||
WEEK_DAY | INTEGER | -1 | NOT NULL | |||
DAY_OF_MONTH | INTEGER | -1 | NOT NULL | |||
TASK | VARCHAR(99) | NOT NULL | ||||
VARCHAR(99) | NULL | |||||
PROPERTY | VARBINARY | NULL |