Skip to content

Commit 64262fa

Browse files
committed
Delete existing forecasts before running new breaking migrations
1 parent 9c2ba23 commit 64262fa

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

forecastmanager/migrations/0013_alter_city_options_alter_forecast_unique_together_and_more.py

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,25 @@
11
# Generated by Django 4.2.3 on 2024-03-05 12:41
22

3-
from django.db import migrations, models
43
import django.db.models.deletion
54
import modelcluster.fields
5+
from django.db import migrations, models
66

77

8-
class Migration(migrations.Migration):
8+
def delete_existing_forecasts(apps, schema_editor):
9+
model = apps.get_model('forecastmanager', 'forecast')
10+
model.objects.all().delete()
911

12+
13+
class Migration(migrations.Migration):
1014
dependencies = [
1115
('forecastmanager', '0012_alter_forecastperiod_forecast_effective_time'),
1216
]
1317

1418
operations = [
19+
migrations.RunPython(
20+
delete_existing_forecasts,
21+
migrations.RunPython.noop
22+
),
1523
migrations.AlterModelOptions(
1624
name='city',
1725
options={'ordering': ['name'], 'verbose_name': 'City', 'verbose_name_plural': 'Cities'},
@@ -28,7 +36,9 @@ class Migration(migrations.Migration):
2836
('symbol', models.CharField(max_length=100, verbose_name='Weather Symbol')),
2937
('label', models.CharField(max_length=100, unique=True, verbose_name='Label')),
3038
('alias', models.CharField(blank=True, max_length=100, null=True, unique=True, verbose_name='Alias')),
31-
('parent', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='weather_conditions', to='forecastmanager.forecastsetting')),
39+
('parent', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE,
40+
related_name='weather_conditions',
41+
to='forecastmanager.forecastsetting')),
3242
],
3343
options={
3444
'ordering': ['sort_order'],
@@ -40,9 +50,13 @@ class Migration(migrations.Migration):
4050
fields=[
4151
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
4252
('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
43-
('city', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forecastmanager.city', verbose_name='City')),
44-
('condition', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='forecastmanager.weathercondition')),
45-
('parent', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='city_forecasts', to='forecastmanager.forecast')),
53+
('city', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='forecastmanager.city',
54+
verbose_name='City')),
55+
('condition', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE,
56+
to='forecastmanager.weathercondition')),
57+
('parent', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE,
58+
related_name='city_forecasts',
59+
to='forecastmanager.forecast')),
4660
],
4761
options={
4862
'unique_together': {('parent', 'city')},
@@ -66,8 +80,11 @@ class Migration(migrations.Migration):
6680
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
6781
('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
6882
('value', models.CharField(blank=True, max_length=255, null=True, verbose_name='Value')),
69-
('parameter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='data_values', to='forecastmanager.forecastdataparameters')),
70-
('parent', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='data_values', to='forecastmanager.cityforecast')),
83+
('parameter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='data_values',
84+
to='forecastmanager.forecastdataparameters')),
85+
('parent', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE,
86+
related_name='data_values',
87+
to='forecastmanager.cityforecast')),
7188
],
7289
options={
7390
'unique_together': {('parent', 'parameter')},

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = forecastmanager
3-
version = 0.4.0
3+
version = 0.4.1
44
description = Integration of Weather City Forecasts Manager in Wagtail Projects.
55
long_description = file:README.md
66
long_description_content_type = text/markdown

0 commit comments

Comments
 (0)