Reputation: 4668
I have a Django 1.8 application whose initial migration relies on django-interval-field like this:
import interval.fields
migrations.CreateModel(
name='Item',
fields=[
...
('estimated_time', interval.fields.IntervalField(null=True, blank=True)),
I've since migrated this field to use Django's built-in DurationField, and I'm not using this module anymore, but I need to keep it in requirements.txt in order for my migrations to run.
However, this module throws errors when trying to upgrade to Django 1.9. In addition, I can't keep this module around forever. It would be nice to get rid of it.
I've tried squashing the migrations, but the squashed migration still contains the import interval.fields
statement, and creates the interval field. All squashing does is concatenate everything into one file.
Can someone tell me how to go forward towards removing this module?
The Django app in question is here.
Upvotes: 8
Views: 1426
Reputation: 840
So, your squashing is not true squashing
requirements.txt
import interval.fields
from your models.py
interval.fields.IntervalField(xxx)
to some type available in Django in the related my_app_label/migrations/1234_some_migrations.py
Upvotes: 6
Reputation: 7729
In all migration files find all declaration of interval.fields.IntervalField
(for model field in question) and replace with IntegerField
.
As long as you don't have data migration that make use of Interval field during migration process, you should be fine.
Upvotes: 1