+++ /dev/null
-
-from django.db import connection
-from south.db import generic
-
-class DatabaseOperations(generic.DatabaseOperations):
-
- """
- PsycoPG2 implementation of database operations.
- """
-
- def rename_column(self, table_name, old, new):
- if old == new:
- return []
- qn = connection.ops.quote_name
- params = (qn(table_name), qn(old), qn(new))
- self.execute('ALTER TABLE %s RENAME COLUMN %s TO %s;' % params)
-
- def rename_table(self, old_table_name, table_name):
- # First, rename the table
- generic.DatabaseOperations.rename_table(self, old_table_name, table_name)
- # Then, try renaming the ID sequence
- # (if you're using other AutoFields... your problem, unfortunately)
- self.commit_transaction()
- self.start_transaction()
- try:
- generic.DatabaseOperations.rename_table(self, old_table_name+"_id_seq", table_name+"_id_seq")
- except:
- print " ~ No such sequence (ignoring error)"
- self.rollback_transaction()
- else:
- self.commit_transaction()
- self.start_transaction()
\ No newline at end of file