Helper class for db schema

This commit is contained in:
phil 2024-01-05 01:50:32 +05:30
parent 0a480b0e02
commit 71cb491617
13 changed files with 70 additions and 67 deletions

View file

@ -3,11 +3,11 @@ from enum import Enum
from sqlmodel import Field, Relationship
from gisaf.models.models_base import Model
from gisaf.models.metadata import gisaf_survey_table_args
from gisaf.models.metadata import gisaf_survey
class Accuracy(Model, table=True):
__table_args__ = gisaf_survey_table_args
__table_args__ = gisaf_survey.table_args
class Admin:
menu = 'Other'
@ -25,7 +25,7 @@ class Accuracy(Model, table=True):
class Surveyor(Model, table=True):
__table_args__ = gisaf_survey_table_args
__table_args__ = gisaf_survey.table_args
class Admin:
menu = 'Other'
@ -42,7 +42,7 @@ class Surveyor(Model, table=True):
class Equipment(Model, table=True):
__table_args__ = gisaf_survey_table_args
__table_args__ = gisaf_survey.table_args
class Admin:
menu = 'Other'
@ -62,17 +62,17 @@ class GeometryType(str, Enum):
line_work = 'Line_work'
class AccuracyEquimentSurveyorMapping(Model, table=True):
__table_args__ = gisaf_survey_table_args
__table_args__ = gisaf_survey.table_args
__tablename__ = 'accuracy_equiment_surveyor_mapping'
class Admin:
menu = 'Other'
id: int | None= Field(default=None, primary_key=True)
surveyor_id: int = Field(foreign_key=gisaf_survey_table_args['schema'] + '.surveyor.id', index=True)
equipment_id: int = Field(foreign_key=gisaf_survey_table_args['schema'] + '.equipment.id', index=True)
surveyor_id: int = Field(foreign_key=gisaf_survey.table('surveyor.id'), index=True)
equipment_id: int = Field(foreign_key=gisaf_survey.table('equipment.id'), index=True)
geometry_type: GeometryType = Field(default='Point', index=True)
accuracy_id: int = Field(foreign_key=gisaf_survey_table_args['schema'] + '.accuracy.id')
accuracy_id: int = Field(foreign_key=gisaf_survey.table('accuracy.id'))
surveyor: Surveyor = Relationship()
accuracy: Accuracy = Relationship()
equipment: Equipment = Relationship()