summaryrefslogtreecommitdiffstats
path: root/forum_modules/pgfulltext/management.py
blob: 89eb13954770d55e281b43f8922f39c73d6399eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import os

from django.db import connection, transaction
from django.conf import settings

import forum.models

if settings.DATABASE_ENGINE in ('postgresql_psycopg2', 'postgresql', ):
    from django.db.models.signals import post_syncdb

    def setup_pgfulltext(sender, **kwargs):
        if sender == forum.models:
           install_pg_fts()

    post_syncdb.connect(setup_pgfulltext)

def install_pg_fts():
    f = open(os.path.join(os.path.dirname(__file__), 'pg_fts_install.sql'), 'r')
    
    try:
        cursor = connection.cursor()
        cursor.execute(f.read())
        transaction.commit_unless_managed()
    except:
        pass
    finally:
        cursor.close()

    f.close()