Modify ↓
Ticket #150 (closed defect: fixed)
Wrong order of tables for deletion in forwards() in case of ManyToMany migration
| Reported by: | Sergey Belov <peimei@…> | Owned by: | andrew |
|---|---|---|---|
| Priority: | major | Milestone: | 0.7 |
| Component: | migrations | Version: | 0.6-pre |
| Keywords: | Cc: |
Description
Example migration:
class Migration:
def forwards(self, orm):
# Adding model 'JiraTicket'
db.create_table('tickets_jiraticket', (
('id', models.AutoField(primary_key=True)),
('key', models.CharField(unique=True, max_length=64, db_index=True)),
))
db.send_create_signal('tickets', ['JiraTicket'])
# Adding ManyToManyField 'Ticket.jira_tickets'
db.create_table('tickets_ticket_jira_tickets', (
('id', models.AutoField(primary_key=True, auto_created=True)),
('ticket', models.ForeignKey(orm.Ticket, null=False)),
('jiraticket', models.ForeignKey(orm.JiraTicket, null=False))
))
def backwards(self, orm):
db.delete_table('tickets_jiraticket')
db.delete_table('tickets_ticket_jira_tickets')
Should be:
class Migration:
def forwards(self, orm):
# Adding model 'JiraTicket'
db.create_table('tickets_jiraticket', (
('id', models.AutoField(primary_key=True)),
('key', models.CharField(unique=True, max_length=64, db_index=True)),
))
db.send_create_signal('tickets', ['JiraTicket'])
# Adding ManyToManyField 'Ticket.jira_tickets'
db.create_table('tickets_ticket_jira_tickets', (
('id', models.AutoField(primary_key=True, auto_created=True)),
('ticket', models.ForeignKey(orm.Ticket, null=False)),
('jiraticket', models.ForeignKey(orm.JiraTicket, null=False))
))
def backwards(self, orm):
db.delete_table('tickets_ticket_jira_tickets')
db.delete_table('tickets_jiraticket')
It is critical for MySQL.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.
