X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_policy_module%2Fcore%2Fdatabase.py;h=db8cf285fb5347632929dc18ad13569cd32174cd;hb=b77fe26906b4acdf5f2b110f07433382520f44ff;hp=e522b8d97effad8006f4143583ecb6641c1bc4ea;hpb=a4e615d9bab28eefa0ae1e713ad75289ed2f65cc;p=osm%2FPOL.git diff --git a/osm_policy_module/core/database.py b/osm_policy_module/core/database.py index e522b8d..db8cf28 100644 --- a/osm_policy_module/core/database.py +++ b/osm_policy_module/core/database.py @@ -53,27 +53,27 @@ class ScalingPolicy(BaseModel): name = CharField() cooldown_time = IntegerField() last_scale = DateTimeField(default=datetime.datetime.now) - scaling_group = ForeignKeyField(ScalingGroup, related_name='scaling_policies') + scaling_group = ForeignKeyField(ScalingGroup, related_name='scaling_policies', on_delete='CASCADE') class ScalingCriteria(BaseModel): name = CharField() - scaling_policy = ForeignKeyField(ScalingPolicy, related_name='scaling_criterias') + scaling_policy = ForeignKeyField(ScalingPolicy, related_name='scaling_criterias', on_delete='CASCADE') class ScalingAlarm(BaseModel): - alarm_id = CharField() + alarm_uuid = CharField(unique=True) action = CharField() vnf_member_index = IntegerField() vdu_name = CharField() - scaling_criteria = ForeignKeyField(ScalingCriteria, related_name='scaling_alarms') + scaling_criteria = ForeignKeyField(ScalingCriteria, related_name='scaling_alarms', on_delete='CASCADE') class DatabaseManager: def create_tables(self): - try: - db.connect() - db.create_tables([ScalingGroup, ScalingPolicy, ScalingCriteria, ScalingAlarm]) - db.close() - except Exception as e: - log.exception("Error creating tables: ") + db.connect() + db.create_tables([ScalingGroup, ScalingPolicy, ScalingCriteria, ScalingAlarm]) + db.close() + + def get_alarm(self, alarm_uuid: str): + return ScalingAlarm.select().where(ScalingAlarm.alarm_uuid == alarm_uuid).get()