47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
"""
|
|
Data migration: rename Earthman 4th-suit cards from PENTACLES → CROWNS.
|
|
|
|
Updates for every Earthman card where suit="PENTACLES":
|
|
- suit: "PENTACLES" → "CROWNS"
|
|
- name: " of Pentacles" → " of Crowns"
|
|
- slug: "pentacles" → "crowns"
|
|
"""
|
|
from django.db import migrations
|
|
|
|
|
|
def pentacles_to_crowns(apps, schema_editor):
|
|
TarotCard = apps.get_model("epic", "TarotCard")
|
|
DeckVariant = apps.get_model("epic", "DeckVariant")
|
|
earthman = DeckVariant.objects.filter(slug="earthman").first()
|
|
if not earthman:
|
|
return
|
|
for card in TarotCard.objects.filter(deck_variant=earthman, suit="PENTACLES"):
|
|
card.suit = "CROWNS"
|
|
card.name = card.name.replace(" of Pentacles", " of Crowns")
|
|
card.slug = card.slug.replace("pentacles", "crowns")
|
|
card.save(update_fields=["suit", "name", "slug"])
|
|
|
|
|
|
def crowns_to_pentacles(apps, schema_editor):
|
|
TarotCard = apps.get_model("epic", "TarotCard")
|
|
DeckVariant = apps.get_model("epic", "DeckVariant")
|
|
earthman = DeckVariant.objects.filter(slug="earthman").first()
|
|
if not earthman:
|
|
return
|
|
for card in TarotCard.objects.filter(deck_variant=earthman, suit="CROWNS"):
|
|
card.suit = "PENTACLES"
|
|
card.name = card.name.replace(" of Crowns", " of Pentacles")
|
|
card.slug = card.slug.replace("crowns", "pentacles")
|
|
card.save(update_fields=["suit", "name", "slug"])
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
("epic", "0023_tarotcard_icon_alter_tarotcard_arcana_and_more"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(pentacles_to_crowns, reverse_code=crowns_to_pentacles),
|
|
]
|