#22445 closed Bug (fixed)
Doc on reversible data migrations needed
| Reported by: | Karen Tracey | Owned by: | Tim Graham |
|---|---|---|---|
| Component: | Documentation | Version: | 1.7-beta-1 |
| Severity: | Release blocker | Keywords: | |
| Cc: | Triage Stage: | Accepted | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
If I create a data migration, run it, then try to migrate back to before it, I get:
Unapplying m3app.0003_auto_20140415_1022...Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/kmtracey/.virtualenvs/uncfm/lib/python3.3/site-packages/django/core/management/__init__.py", line 427, in execute_from_command_line
utility.execute()
File "/home/kmtracey/.virtualenvs/uncfm/lib/python3.3/site-packages/django/core/management/__init__.py", line 419, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/kmtracey/.virtualenvs/uncfm/lib/python3.3/site-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/kmtracey/.virtualenvs/uncfm/lib/python3.3/site-packages/django/core/management/base.py", line 337, in execute
output = self.handle(*args, **options)
File "/home/kmtracey/.virtualenvs/uncfm/lib/python3.3/site-packages/django/core/management/commands/migrate.py", line 145, in handle
executor.migrate(targets, plan, fake=options.get("fake", False))
File "/home/kmtracey/.virtualenvs/uncfm/lib/python3.3/site-packages/django/db/migrations/executor.py", line 62, in migrate
self.unapply_migration(migration, fake=fake)
File "/home/kmtracey/.virtualenvs/uncfm/lib/python3.3/site-packages/django/db/migrations/executor.py", line 114, in unapply_migration
migration.unapply(project_state, schema_editor)
File "/home/kmtracey/.virtualenvs/uncfm/lib/python3.3/site-packages/django/db/migrations/migration.py", line 121, in unapply
raise Migration.IrreversibleError("Operation %s in %s is not reversible" % (operation, self))
django.db.migrations.migration.IrreversibleError: Operation <RunPython <function load_initial_data at 0x7f7af2424050>> in m3app.0003_auto_20140415_1022 is not reversible
I cannot find any documentation on how to create a reversible data migration. I'm used to doing this with South, I assume there is some way to do this in the new migrations framework? We need some doc on how to do it...or if this is not just a missing doc issue then this needs to be re-classified as a migrations code issue...
Change History (6)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
| Triage Stage: | Unreviewed → Accepted |
|---|
comment:3 by , 12 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:4 by , 12 years ago
It's covered in the RunPython reference, but I will add a couple sentences to the topic guide.
comment:5 by , 12 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
Peeking at the code reveals RunPython can be handed a 2nd callable to do the "reverse" operation. So I think this doc:
https://docs.djangoproject.com/en/1.7/topics/migrations/#data-migrations
specifically needs to be updated to include mention of that, at a minimum.