-
Notifications
You must be signed in to change notification settings - Fork 1
tmschema
The TM database schema has evolved over the years. It is currently implemented using sqlalchmey for the backend.
- alembic_version - The version of alembic used
- banner - A list of banners, which doesn't appear to be used anywhere
- priority_areas - A list of geometries for priority areas
- release_version - The version of the TM release
- spatial_ref_sys - Postgis support
These tables contain data used by the frontend mostly. These could have been an Enum, but a tables can be updated by the front end, whereas an Enum can't. It does seem entirely possible these could be extended by a project manager, for example, adding a new license.
- interests - General mapper interests
- licenses - Data licenses
- mapping_issue_categories - Issues with the map data
- application_keys - Application keys for remote data. This appears to not be used.
The campaigns table is for mapping campaigns. A single campaign can involve multiple organizations and TM projects.
- campaigns - Primary table
- campaign_organisations - Utility table to relate organizations with a campaign
- campaign_projects - Utility table to relate projects with a campaign
This is for an Organization profile.
- organisations - Primary table
- organisation_managers - Utility table to relate managers with an organization
A project is the area to be mapped for the campaign. Each project contains members and teams, which are stored in other tables.
- projects - Primary table
- project_allowed_users - Utility table to relate users to projects
- project_custom_editors - Utility table to store custom mapping editors, currently only used by RapidID
- project_favorites - Utility table to store favorite projects for a user
- project_info - Details on the project, like the description & instructions
- project_interests - Utility table to relate projects to interest categories
- project_priority_areas - Utility table to relate priority areas to projects
- project_teams - Utility table to relate team roles to projects
- project_chat - Support commenting for a project
Support messaging between users.
- messages - Primary table
A task is the area for a mapper to map. Task management is obviously a key function of the Tasking Manager.
- tasks - Primary table
- task_annotations - Utility table for something, it apperas to be unused anywhere
- task_history - Table for task history
- task_invalidation_history - Table for task invalidation history
- task_mapping_issues - Table for issues with a task
This is for OSM Team support.
- teams - Primary table
- team_members - Utility table for team member profiles
- users - Primary table
- user_interests - Utility table to relate interests for a user
- user_licenses - Utility table to relate the data license to user
- users_with_email - Utility table of user email addresses, which appears to be unused
This is a simple system for notifications.
- notifications - Primary table