2015-05-09 23:01:40 +08:00
|
|
|
from django.db.utils import DatabaseError
|
2015-05-02 02:46:07 +08:00
|
|
|
|
|
|
|
|
|
|
|
class AmbiguityError(Exception):
|
2017-01-25 07:04:12 +08:00
|
|
|
"""More than one migration matches a name prefix."""
|
2015-05-02 02:46:07 +08:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class BadMigrationError(Exception):
|
2017-01-25 07:04:12 +08:00
|
|
|
"""There's a bad migration (unreadable/bad format/etc.)."""
|
2015-05-02 02:46:07 +08:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class CircularDependencyError(Exception):
|
2017-01-25 07:04:12 +08:00
|
|
|
"""There's an impossible-to-resolve circular dependency."""
|
2015-05-02 02:46:07 +08:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
2016-04-02 20:46:59 +08:00
|
|
|
class InconsistentMigrationHistory(Exception):
|
2017-01-25 07:04:12 +08:00
|
|
|
"""An applied migration has some of its dependencies not applied."""
|
2016-04-02 20:46:59 +08:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
2015-05-02 02:46:07 +08:00
|
|
|
class InvalidBasesError(ValueError):
|
2017-01-25 07:04:12 +08:00
|
|
|
"""A model's base classes can't be resolved."""
|
2015-05-02 02:46:07 +08:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class IrreversibleError(RuntimeError):
|
2017-01-25 07:04:12 +08:00
|
|
|
"""An irreversible migration is about to be reversed."""
|
2015-05-02 02:46:07 +08:00
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class NodeNotFoundError(LookupError):
|
2017-01-25 07:04:12 +08:00
|
|
|
"""An attempt on a node is made that is not available in the graph."""
|
2015-05-02 02:46:07 +08:00
|
|
|
|
2016-05-08 08:56:13 +08:00
|
|
|
def __init__(self, message, node, origin=None):
|
2015-05-02 02:46:07 +08:00
|
|
|
self.message = message
|
2016-05-08 08:56:13 +08:00
|
|
|
self.origin = origin
|
2015-05-02 02:46:07 +08:00
|
|
|
self.node = node
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.message
|
|
|
|
|
|
|
|
def __repr__(self):
|
2017-12-29 04:07:29 +08:00
|
|
|
return "NodeNotFoundError(%r)" % (self.node,)
|
2015-05-09 23:01:40 +08:00
|
|
|
|
|
|
|
|
|
|
|
class MigrationSchemaMissing(DatabaseError):
|
|
|
|
pass
|
2015-08-27 07:49:35 +08:00
|
|
|
|
|
|
|
|
|
|
|
class InvalidMigrationPlan(ValueError):
|
|
|
|
pass
|