X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_policy_module%2Fcore%2Fdatabase.py;h=212c13bb51adf02a7d264d65d1d0b50b3713eaa8;hb=29d590a038ce5c8d745f97ab935393c0bd6a8228;hp=f9a37c20b8f8d9c4efc0c9c315db27fcc35d9ed2;hpb=be75541d2f2306f8992f47bca8179210f858c593;p=osm%2FPOL.git diff --git a/osm_policy_module/core/database.py b/osm_policy_module/core/database.py index f9a37c2..212c13b 100644 --- a/osm_policy_module/core/database.py +++ b/osm_policy_module/core/database.py @@ -23,7 +23,7 @@ ## import logging -from peewee import CharField, IntegerField, ForeignKeyField, Model, TextField +from peewee import CharField, IntegerField, ForeignKeyField, Model, TextField, AutoField from playhouse.sqlite_ext import SqliteExtDatabase from osm_policy_module.core.config import Config @@ -35,29 +35,41 @@ db = SqliteExtDatabase('policy_module.db') class BaseModel(Model): + id = AutoField(primary_key=True) + class Meta: database = db -class ScalingRecord(BaseModel): +class ScalingGroup(BaseModel): nsr_id = CharField() name = CharField() content = TextField() +class ScalingPolicy(BaseModel): + name = CharField() + scaling_group = ForeignKeyField(ScalingGroup, related_name='scaling_policies') + + +class ScalingCriteria(BaseModel): + name = CharField() + scaling_policy = ForeignKeyField(ScalingPolicy, related_name='scaling_criterias') + + class ScalingAlarm(BaseModel): alarm_id = CharField() action = CharField() vnf_member_index = IntegerField() vdu_name = CharField() - scaling_record = ForeignKeyField(ScalingRecord, related_name='scaling_alarms') + scaling_criteria = ForeignKeyField(ScalingCriteria, related_name='scaling_alarms') class DatabaseManager: def create_tables(self): try: db.connect() - db.create_tables([ScalingRecord, ScalingAlarm]) + db.create_tables([ScalingGroup, ScalingPolicy, ScalingCriteria, ScalingAlarm]) db.close() except Exception as e: log.exception("Error creating tables: ")