mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
@@ -3,14 +3,15 @@ import datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
from modoboa.lib import db_table_exists
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Renaming/Creating model 'ARmessage'
|
||||
try:
|
||||
if db_table_exists('main_armessage'):
|
||||
db.rename_table('main_armessage', 'postfix_autoreply_armessage')
|
||||
except Exception:
|
||||
else:
|
||||
db.create_table('postfix_autoreply_armessage', (
|
||||
('mbox', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['admin.Mailbox'])),
|
||||
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
||||
@@ -24,9 +25,9 @@ class Migration(SchemaMigration):
|
||||
models.DateTimeField(null=True))
|
||||
|
||||
# Renaming model 'ARhistoric'
|
||||
try:
|
||||
if db_table_exists('main_arhistoric'):
|
||||
db.rename_table('main_arhistoric', 'postfix_autoreply_arhistoric')
|
||||
except Exception:
|
||||
else:
|
||||
db.create_table('postfix_autoreply_arhistoric', (
|
||||
('armessage', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['postfix_autoreply.ARmessage'])),
|
||||
('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
||||
|
||||
@@ -89,6 +89,25 @@ def is_not_localadmin(errortpl="error"):
|
||||
return wrapped_f
|
||||
return dec
|
||||
|
||||
def db_table_exists(table, cursor=None):
|
||||
"""Check if table exists
|
||||
|
||||
Taken from here:
|
||||
https://gist.github.com/527113/307c2dec09ceeb647b8fa1d6d49591f3352cb034
|
||||
|
||||
"""
|
||||
try:
|
||||
if not cursor:
|
||||
from django.db import connection
|
||||
cursor = connection.cursor()
|
||||
if not cursor:
|
||||
raise Exception
|
||||
table_names = connection.introspection.get_table_list(cursor)
|
||||
except:
|
||||
raise Exception("unable to determine if the table '%s' exists" % table)
|
||||
else:
|
||||
return table in table_names
|
||||
|
||||
class Singleton(type):
|
||||
def __init__(cls, name, bases, dict):
|
||||
super(Singleton, cls).__init__(name, bases, dict)
|
||||
|
||||
Reference in New Issue
Block a user