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 differant 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 differant 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 |