X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FPOL.git;a=blobdiff_plain;f=osm_policy_module%2Fcore%2Fdatabase.py;h=3ca2e33e21aa87ae7b6e1dd501f32ac3eacede0b;hp=330d8c5be8df290f8d41331515e73f651aedbc13;hb=10be7c984475707be716708dfdd2d91a655158dc;hpb=a14cf16181c8b39f12c872c486e0b292c0068944 diff --git a/osm_policy_module/core/database.py b/osm_policy_module/core/database.py index 330d8c5..3ca2e33 100644 --- a/osm_policy_module/core/database.py +++ b/osm_policy_module/core/database.py @@ -23,10 +23,13 @@ ## import datetime import logging +import os from peewee import CharField, IntegerField, ForeignKeyField, Model, TextField, AutoField, DateTimeField, Proxy +from peewee_migrate import Router from playhouse.db_url import connect +from osm_policy_module import migrations from osm_policy_module.core.config import Config log = logging.getLogger(__name__) @@ -69,13 +72,13 @@ class ScalingAlarm(BaseModel): class DatabaseManager: - def init_db(self, config: Config): + def __init__(self, config: Config): db.initialize(connect(config.get('sql', 'database_uri'))) - self.create_tables() - def create_tables(self): + def create_tables(self) -> None: with db.atomic(): - db.create_tables([ScalingGroup, ScalingPolicy, ScalingCriteria, ScalingAlarm]) + router = Router(db, os.path.dirname(migrations.__file__)) + router.run() def get_alarm(self, alarm_uuid: str): with db.atomic():