#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 , 11 years ago
comment:2 by , 11 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:3 by , 11 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:4 by , 11 years ago
It's covered in the RunPython reference, but I will add a couple sentences to the topic guide.
comment:5 by , 11 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.