Module declaring the data model of the SQLite databse. This uses the SQLAlchemy ORM with

class BaseModel[source]

BaseModel()

Base model to allow for a more verbose representation of model objects.

class Tag[source]

Tag(**kwargs) :: Base

Table containing tags to be used in the application to tag data groups. This will allow certain data groups to be tagged with values for easier retrieval and grouping when organising the data groups.

class Data_Group[source]

Data_Group(**kwargs) :: Base

The base data group table. This contains all of the common columns which exist for all data groups. Each row is 1-1 bound with a row in any of the Delivery, Raw_Data, or Dataset tables. Those tables contain data group type specific code. This is using the SQLAlchemy ORM mapping pattern called Joined Table Inheritance mapping: 'https://docs.sqlalchemy.org/en/13/orm/inheritance.html#joined-table-inheritance'

class Delivery[source]

Delivery(**kwargs) :: Data_Group

Table containing Delivery data group type specific columns. Links to the Data_Group table as it's parent table. Objects instantiated with this class will contain all the columns.

class Raw_Data[source]

Raw_Data(**kwargs) :: Data_Group

Table with raw data group type specific columns. Links to the Data_Group table as it's parent table. Objects instantiated with this class will contain all the columns.

class Dataset[source]

Dataset(**kwargs) :: Data_Group

Table with dataset group type specific columns. Links to the Data_Group table as it's parent table. Objects instantiated with this class will contain all the columns.