Module declaring the data model of the SQLite databse. This uses the SQLAlchemy ORM with
BaseModel
()
Base model to allow for a more verbose representation of model objects.
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.
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'
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.
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.
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.