]> git.openstreetmap.org Git - osqa.git/blobdiff - forum_modules/pgfulltext/management.py
install new pg fts triggers after migrations
[osqa.git] / forum_modules / pgfulltext / management.py
index c2abfaffb4f082f30164e007df553b7c3a073f8f..60baecd80f78dcc7ba958a42dbae633552b88d35 100644 (file)
@@ -5,23 +5,27 @@ 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 install_pg_fts():
-        f = open(os.path.join(os.path.dirname(__file__), 'pg_fts_install.sql'), 'r')
+def install_pg_fts(**kwargs):
+    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()
+    try:
+        cursor = connection.cursor()
+        cursor.execute(f.read())
+        transaction.commit_unless_managed()
+    except:
+        pass
+    finally:
+        cursor.close()
 
-        f.close()
+    f.close()
 
+if settings.DATABASE_ENGINE in ('postgresql_psycopg2', 'postgresql', ):
+    from django.db.models.signals import post_syncdb
     post_syncdb.connect(install_pg_fts, sender=forum.models, weak=False)
 
 
+try:
+    from south.signals import post_migrate
+    post_migrate.connect(install_pg_fts, weak=False)
+except:
+    pass
\ No newline at end of file