Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#23263 closed Cleanup/optimization (fixed)

Document sqlmigrate in migrations topic guide

Reported by: Phillip Marshall Owned by: nobody
Component: Documentation Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description

makemigrations has --dry-run and --verbosity 3, but that's for seeing what migrations will be generated, not the SQL itself.

According to Andrew in this south ticket, it may be a harder question than it appears at first glance, because the actual SQL isn't known until it can ask the database a few things, and showing SQL for multiple changes would be a big mess too: http://south.aeracode.org/ticket/480

Being able to inspect the SQL to be run is a crucial feature for a migration tool. Fooling around with 1.7rc2's migrations so far, I've run a few initial migrations on a test database that have changed columns in ways that were never told to me. Undoing those migrations *dropped the tables*, and I didn't know about it until my applications started complaining. I admit, these unexpected changes are mostly likely due to how my models weren't 100% accurate to the tables created outside of django by legacy software. I don't blame django for them.

For now though, I'm uncomfortable running any migrations without knowing exactly what they're going to do. This feature probably isn't needed by people running apps that are and always have been 100% django. But as someone in the trenches dealing with messy data structures from decades ago, I need a tool that will help me manage my data structures, not one that will obscure them from me. So for now, I'll stick to diffing between sqlall outputs, as tedious as it is. Thanks.

Change History (6)

comment:1 by Tim Graham, 10 years ago

Isn't this what sqlmigrate does?

comment:2 by Tom Carrick, 10 years ago

Version: 1.7-rc-2master

comment:3 by Phillip Marshall, 10 years ago

@timgraham

It seems you're right. The migrations documentation page doesn't mention the sqlmigrate: https://docs.djangoproject.com/en/1.7/topics/migrations/ - Could it be updated then?

comment:4 by Baptiste Mispelon, 10 years ago

Component: MigrationsDocumentation
Easy pickings: set
Summary: add migrate --dry-run and --verbose to show database changes in SQLDocument sqlmigrate in migrations topic guide
Triage Stage: UnreviewedAccepted
Type: New featureCleanup/optimization

Adding a link and/or a brief explanation of what sqlmigrate does on the topics page makes sense.

I'm accepting this ticket on this basis.

Thanks.

comment:5 by Tim Graham <timograham@…>, 10 years ago

Resolution: fixed
Status: newclosed

In 7ed3d0bb61f46f56b8a001b7b2d983eaf9a65466:

Fixed #23263 -- Added sqlmigrate to migration topic guide.

comment:6 by Tim Graham <timograham@…>, 10 years ago

In ad2faaa4918ff1cfce2671a91d0e016515319481:

[1.7.x] Fixed #23263 -- Added sqlmigrate to migration topic guide.

Backport of 7ed3d0bb61 from master

Note: See TracTickets for help on using tickets.
Back to Top