mirror of https://github.com/sgoudham/Enso-Bot.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
5 years ago
|
from django.db import models
|
||
|
from south.db import DEFAULT_DB_ALIAS
|
||
|
|
||
|
# If we detect Django 1.7 or higher, then exit
|
||
|
# Placed here so it's guaranteed to be imported on Django start
|
||
|
import django
|
||
|
if django.VERSION[0] > 1 or (django.VERSION[0] == 1 and django.VERSION[1] > 6):
|
||
|
raise RuntimeError("South does not support Django 1.7 or higher. Please use native Django migrations.")
|
||
|
|
||
|
class MigrationHistory(models.Model):
|
||
|
app_name = models.CharField(max_length=255)
|
||
|
migration = models.CharField(max_length=255)
|
||
|
applied = models.DateTimeField(blank=True)
|
||
|
|
||
|
@classmethod
|
||
|
def for_migration(cls, migration, database):
|
||
|
try:
|
||
|
# Switch on multi-db-ness
|
||
|
if database != DEFAULT_DB_ALIAS:
|
||
|
# Django 1.2
|
||
|
objects = cls.objects.using(database)
|
||
|
else:
|
||
|
# Django <= 1.1
|
||
|
objects = cls.objects
|
||
|
return objects.get(
|
||
|
app_name=migration.app_label(),
|
||
|
migration=migration.name(),
|
||
|
)
|
||
|
except cls.DoesNotExist:
|
||
|
return cls(
|
||
|
app_name=migration.app_label(),
|
||
|
migration=migration.name(),
|
||
|
)
|
||
|
|
||
|
def get_migrations(self):
|
||
|
from south.migration.base import Migrations
|
||
|
return Migrations(self.app_name)
|
||
|
|
||
|
def get_migration(self):
|
||
|
return self.get_migrations().migration(self.migration)
|
||
|
|
||
|
def __str__(self):
|
||
|
return "<%s: %s>" % (self.app_name, self.migration)
|