summaryrefslogtreecommitdiffstats
path: root/forum_modules/pgfulltext/management.py
diff options
context:
space:
mode:
Diffstat (limited to 'forum_modules/pgfulltext/management.py')
-rwxr-xr-xforum_modules/pgfulltext/management.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/forum_modules/pgfulltext/management.py b/forum_modules/pgfulltext/management.py
new file mode 100755
index 00000000..89eb1395
--- /dev/null
+++ b/forum_modules/pgfulltext/management.py
@@ -0,0 +1,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()