aboutsummaryrefslogtreecommitdiff
path: root/scripts/database.py
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2015-07-22 11:28:57 +0200
committerKarel Kočí <cynerd@email.cz>2015-07-22 11:28:57 +0200
commite291e4e7c831f34238bbcda1c39659826f04191c (patch)
treeff3fb0dc730ffd9c5fef87a88d072a427c6ad033 /scripts/database.py
parent17cb74bcb4583921abc32ddbe2991f27ae816707 (diff)
downloadlinux-conf-perf-e291e4e7c831f34238bbcda1c39659826f04191c.tar.gz
linux-conf-perf-e291e4e7c831f34238bbcda1c39659826f04191c.tar.bz2
linux-conf-perf-e291e4e7c831f34238bbcda1c39659826f04191c.zip
Add database initialisation check
On object creation, when connection to server is established, is now implemented check if database has all tables as it should have.
Diffstat (limited to 'scripts/database.py')
-rw-r--r--scripts/database.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/scripts/database.py b/scripts/database.py
index 18ed724..0c4abe9 100644
--- a/scripts/database.py
+++ b/scripts/database.py
@@ -3,6 +3,7 @@ import postgresql
import collections
import utils
+import exceptions
from conf import conf
def __git_describe__():
@@ -28,6 +29,13 @@ class database:
host = conf.db_host,
port = conf.db_port
)
+ # check if tables are present
+ tables = ('toolsgit', 'configurations', 'measure')
+ for tab in tables:
+ val = self.db.prepare("""SELECT COUNT(*) FROM pg_class
+ WHERE relname = $1""")(tab)[0][0]
+ if val < 1:
+ raise exceptions.DatabaseUninitialized()
def check_toolsgit(self):
"Return id of toolsgit row. If missing, it is inserted"