Skip to content

Commit a8b6fa8

Browse files
committed
Fix #53 -- Address improper handling of rename operation questioning.
1 parent 3c8cbaa commit a8b6fa8

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
- Add support for Django 5.2 and Python 3.13.
99
- Drop support for Python 3.8.
1010
- Ensure staged renames and alters are properly serialized. (#52)
11+
- Address improper handling of rename operation questioning. (#53)
1112

1213
1.1.0
1314
=====

syzygy/autodetector.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def add_operation(self, app_label, operation, dependencies=None, beginning=False
8888
),
8989
file=sys.stderr,
9090
)
91-
choice = self.questioner.defaults.get("ask_rename_field_stage", 0)
91+
choice = self.questioner.defaults.get("ask_rename_field_stage", 1)
9292
if self.has_interactive_questionner:
9393
choice = self.questioner._choice_input(
9494
"Please choose an appropriate action to take:",
@@ -113,10 +113,10 @@ def add_operation(self, app_label, operation, dependencies=None, beginning=False
113113
),
114114
],
115115
)
116-
if choice == 0:
116+
if choice == 1:
117117
sys.exit(3)
118118
else:
119-
stage = Stage.PRE_DEPLOY if choice == 1 else Stage.POST_DEPLOY
119+
stage = Stage.PRE_DEPLOY if choice == 2 else Stage.POST_DEPLOY
120120
operation = RenameField.for_stage(operation, stage)
121121
if isinstance(operation, operations.RenameModel):
122122
from_db_table = (
@@ -135,7 +135,7 @@ def add_operation(self, app_label, operation, dependencies=None, beginning=False
135135
),
136136
file=sys.stderr,
137137
)
138-
choice = self.questioner.defaults.get("ask_rename_model_stage", 0)
138+
choice = self.questioner.defaults.get("ask_rename_model_stage", 1)
139139
if self.has_interactive_questionner:
140140
choice = self.questioner._choice_input(
141141
"Please choose an appropriate action to take:",
@@ -161,10 +161,10 @@ def add_operation(self, app_label, operation, dependencies=None, beginning=False
161161
),
162162
],
163163
)
164-
if choice == 0:
164+
if choice == 1:
165165
sys.exit(3)
166166
else:
167-
stage = Stage.PRE_DEPLOY if choice == 1 else Stage.POST_DEPLOY
167+
stage = Stage.PRE_DEPLOY if choice == 2 else Stage.POST_DEPLOY
168168
operation = RenameModel.for_stage(operation, stage)
169169
elif isinstance(operation, operations.AlterField) and not operation.field.null:
170170
# Addition of not-NULL constraints must be performed post-deployment.

tests/test_autodetector.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,14 +230,14 @@ def test_field_rename(self):
230230
with captured_stderr(), self.assertRaisesMessage(SystemExit, "3"):
231231
self.get_changes(from_models, to_models, questioner)["tests"]
232232
# Pre-deploy rename.
233-
questioner.defaults["ask_rename_field_stage"] = 1
233+
questioner.defaults["ask_rename_field_stage"] = 2
234234
with captured_stderr():
235235
changes = self.get_changes(from_models, to_models, questioner)["tests"]
236236
self.assertEqual(len(changes), 1)
237237
self.assertEqual(get_migration_stage(changes[0]), Stage.PRE_DEPLOY)
238238
self.assertIsInstance(changes[0].operations[0], RenameField)
239239
# Post-deploy rename.
240-
questioner.defaults["ask_rename_field_stage"] = 2
240+
questioner.defaults["ask_rename_field_stage"] = 3
241241
with captured_stderr():
242242
changes = self.get_changes(from_models, to_models, questioner)["tests"]
243243
self.assertEqual(len(changes), 1)
@@ -271,14 +271,14 @@ def test_model_rename(self):
271271
with captured_stderr(), self.assertRaisesMessage(SystemExit, "3"):
272272
self.get_changes(from_models, to_models, questioner)["tests"]
273273
# Pre-deploy rename.
274-
questioner.defaults["ask_rename_model_stage"] = 1
274+
questioner.defaults["ask_rename_model_stage"] = 2
275275
with captured_stderr():
276276
changes = self.get_changes(from_models, to_models, questioner)["tests"]
277277
self.assertEqual(len(changes), 1)
278278
self.assertEqual(get_migration_stage(changes[0]), Stage.PRE_DEPLOY)
279279
self.assertIsInstance(changes[0].operations[0], RenameModel)
280280
# Post-deploy rename.
281-
questioner.defaults["ask_rename_model_stage"] = 2
281+
questioner.defaults["ask_rename_model_stage"] = 3
282282
with captured_stderr():
283283
changes = self.get_changes(from_models, to_models, questioner)["tests"]
284284
self.assertEqual(len(changes), 1)

0 commit comments

Comments
 (0)