def __init__(self, python_package): """ Initialize the MigrationPackage to represent the Python migration package passed in. :param python_package: The Python package this object should represent :type python_package: package """ self._package = python_package self.allow_fast_forward = getattr(python_package, 'allow_fast_forward', False) self.duration = None try: self._migration_tracker = MigrationTracker.objects().get( name=self.name) except DoesNotExist: self._migration_tracker = MigrationTracker(name=self.name) self._migration_tracker.save() # Calculate the latest available version available_versions = self.available_versions if available_versions: self.latest_available_version = available_versions[-1] else: self.latest_available_version = 0
def __init__(self, python_package): """ Initialize the MigrationPackage to represent the Python migration package passed in. :param python_package: The Python package this object should represent :type python_package: package """ self._package = python_package # This is an object representation of the DB object that keeps track of the migration # version that has been applied try: self._migration_tracker = MigrationTracker.objects().get(name=self.name) except DoesNotExist: self._migration_tracker = MigrationTracker(name=self.name) self._migration_tracker.save() # Calculate the latest available version available_versions = self.available_versions if available_versions: self.latest_available_version = available_versions[-1] else: self.latest_available_version = 0