]> git.openstreetmap.org Git - osqa.git/blob - forum_modules/pgfulltext/startup.py
a amanager to many
[osqa.git] / forum_modules / pgfulltext / startup.py
1 import os\r
2 from forum.models import KeyValue\r
3 from django.db import connection, transaction\r
4 \r
5 KEY = 'PG_FTSTRIGGERS_VERSION'\r
6 VERSION = 2\r
7 install = False\r
8 \r
9 try:\r
10     version = KeyValue.objects.get(key=KEY).value\r
11     if version < VERSION:\r
12         install = True\r
13 except:\r
14     install = True\r
15 \r
16 \r
17 if install:\r
18     f = open(os.path.join(os.path.dirname(__file__), 'pg_fts_install.sql'), 'r')\r
19 \r
20     try:\r
21         cursor = connection.cursor()\r
22         cursor.execute(f.read())\r
23         transaction.commit_unless_managed()\r
24     except:\r
25         pass\r
26     finally:\r
27         cursor.close()\r
28 \r
29     f.close()\r
30 \r
31     try:\r
32         kv = KeyValue.objects.get(key=KEY)\r
33     except:\r
34         kv = KeyValue(key=KEY)\r
35 \r
36     kv.value = VERSION\r
37     kv.save()\r
38