#21841 closed New feature (wontfix)

Add DatabaseFeature to disable schema migrations

Reported by: manfre Owned by:
Component: Migrations Version: master
Severity: Normal Keywords: schema migrations
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Not all database backends are able or willing to support schema migrations. There should be a feature that can turn it all off.

Change History (3)

comment:1 Changed 18 months ago by russellm

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset

I'm not sure how I feel about this. If we allowed for this this, we're essentially saying that it's OK for backends to do half the job that Django asks of it. Django 1.7 provides migrations out of the box. A Django database backend that doesn't support that feels a little half baked to me. People using that backend are potentially going to view Django as limited, when it's actually the database backend that has the limitation.

Is there a particular reason why this is likely scenario? Is it purely the engineering overhead associated with adding support for the features needed by migrations?

Also, to be clear: If we *did* support this, it's not just a a DatabaseFeature. It's a whole lot of infrastructure to make sure that ./manage.py migrate stops at the limit of what syncdb used to do. When it hits a true "migration" step, it needs to stop and raise an error message. I haven't looked at the internals to judge how easy this will be.

comment:2 Changed 18 months ago by manfre

A discussion of this ticket on IRC raised the question about whether schema migration support is required for a database backend to be compliant with Django 1.7. This question will be raised on the mailing list for general consensus.

The scenario that prompted this ticket is that my primary project will not use Django for migrations because it interfaces with a legacy database with other tools and a DBA that manage the database schema. The "able to support schema migrations" bit relates to NoSQL, which doesn't necessarily have a strict schema.

comment:3 Changed 17 months ago by aaugustin

  • Resolution set to wontfix
  • Status changed from new to closed

Mailing-list discussion: https://groups.google.com/d/msg/django-developers/Bo78V9UmbJI/h1ezPaaqCh8J

If I remember correctly, the consensus was to reject this proposal. Thanks for bringing it up anyway!

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