Fixed #22576: Ensure makemigrations doesn't touch the database.
This commit is contained in:
parent
6944418277
commit
f9d7e18dc5
|
@ -50,10 +50,9 @@ class Command(BaseCommand):
|
|||
self.stderr.write("App '%s' could not be found. Is it in INSTALLED_APPS?" % app_label)
|
||||
sys.exit(2)
|
||||
|
||||
# Load the current graph state. Takes a connection, but it's not used
|
||||
# (makemigrations doesn't look at the database state).
|
||||
# Also make sure the graph is built without unmigrated apps shoehorned in.
|
||||
loader = MigrationLoader(connections[DEFAULT_DB_ALIAS])
|
||||
# Load the current graph state. Pass in None for the connection so
|
||||
# the loader doesn't try to resolve replaced migrations from DB.
|
||||
loader = MigrationLoader(None)
|
||||
|
||||
# Before anything else, see if there's conflicting apps and drop out
|
||||
# hard if there are any and they don't want to merge
|
||||
|
|
|
@ -143,8 +143,11 @@ class MigrationLoader(object):
|
|||
# Load disk data
|
||||
self.load_disk()
|
||||
# Load database data
|
||||
recorder = MigrationRecorder(self.connection)
|
||||
self.applied_migrations = recorder.applied_migrations()
|
||||
if self.connection is None:
|
||||
self.applied_migrations = set()
|
||||
else:
|
||||
recorder = MigrationRecorder(self.connection)
|
||||
self.applied_migrations = recorder.applied_migrations()
|
||||
# Do a first pass to separate out replacing and non-replacing migrations
|
||||
normal = {}
|
||||
replacing = {}
|
||||
|
|
Loading…
Reference in New Issue