projects
/
osm
/
POL.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Refactors autoscaling module to separate concerns and allow better control of db...
[osm/POL.git]
/
osm_policy_module
/
core
/
database.py
diff --git
a/osm_policy_module/core/database.py
b/osm_policy_module/core/database.py
index
330d8c5
..
ecaa315
100644
(file)
--- a/
osm_policy_module/core/database.py
+++ b/
osm_policy_module/core/database.py
@@
-23,10
+23,13
@@
##
import datetime
import logging
##
import datetime
import logging
+import os
from peewee import CharField, IntegerField, ForeignKeyField, Model, TextField, AutoField, DateTimeField, Proxy
from peewee import CharField, IntegerField, ForeignKeyField, Model, TextField, AutoField, DateTimeField, Proxy
+from peewee_migrate import Router
from playhouse.db_url import connect
from playhouse.db_url import connect
+from osm_policy_module import migrations
from osm_policy_module.core.config import Config
log = logging.getLogger(__name__)
from osm_policy_module.core.config import Config
log = logging.getLogger(__name__)
@@
-69,14
+72,12
@@
class ScalingAlarm(BaseModel):
class DatabaseManager:
class DatabaseManager:
- def
init_db
(self, config: Config):
+ def
__init__
(self, config: Config):
db.initialize(connect(config.get('sql', 'database_uri')))
db.initialize(connect(config.get('sql', 'database_uri')))
- self.create_tables()
- def create_tables(self):
+ def create_tables(self) -> None:
+ db.connect()
with db.atomic():
with db.atomic():
- db.create_tables([ScalingGroup, ScalingPolicy, ScalingCriteria, ScalingAlarm])
-
- def get_alarm(self, alarm_uuid: str):
- with db.atomic():
- return ScalingAlarm.select().where(ScalingAlarm.alarm_uuid == alarm_uuid).get()
+ router = Router(db, os.path.dirname(migrations.__file__))
+ router.run()
+ db.close()