mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 13:17:50 +02:00
Implement Book data migration
This commit is contained in:
@@ -4,8 +4,16 @@ import django.db.models.deletion
|
|||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
def nil(apps, schema_editor):
|
def basebook_to_book(apps, schema_editor):
|
||||||
pass
|
basebook = apps.get_model("bookshelf", "BaseBook")
|
||||||
|
book = apps.get_model("bookshelf", "Book")
|
||||||
|
for row in basebook.objects.all():
|
||||||
|
b = book.objects.create(
|
||||||
|
basebook_ptr=row,
|
||||||
|
title=row.old_title,
|
||||||
|
publisher=row.old_publisher,
|
||||||
|
)
|
||||||
|
b.authors.set(row.old_authors.all())
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
@@ -16,6 +24,10 @@ class Migration(migrations.Migration):
|
|||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name="Book",
|
||||||
|
options={"ordering": ["creation_time"]},
|
||||||
|
),
|
||||||
migrations.RenameModel(
|
migrations.RenameModel(
|
||||||
old_name="BookImage",
|
old_name="BookImage",
|
||||||
new_name="BaseBookImage",
|
new_name="BaseBookImage",
|
||||||
@@ -43,6 +55,10 @@ class Migration(migrations.Migration):
|
|||||||
old_name="publisher",
|
old_name="publisher",
|
||||||
new_name="old_publisher",
|
new_name="old_publisher",
|
||||||
),
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name="basebookimage",
|
||||||
|
options={"ordering": ["order"], "verbose_name_plural": "Images"},
|
||||||
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name="Book",
|
name="Book",
|
||||||
fields=[
|
fields=[
|
||||||
@@ -76,7 +92,22 @@ class Migration(migrations.Migration):
|
|||||||
options={
|
options={
|
||||||
"ordering": ["title"],
|
"ordering": ["title"],
|
||||||
},
|
},
|
||||||
bases=("bookshelf.basebook",),
|
),
|
||||||
|
migrations.RunPython(
|
||||||
|
basebook_to_book,
|
||||||
|
reverse_code=migrations.RunPython.noop
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name="basebook",
|
||||||
|
name="old_title",
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name="basebook",
|
||||||
|
name="old_authors",
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name="basebook",
|
||||||
|
name="old_publisher",
|
||||||
),
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name="Catalog",
|
name="Catalog",
|
||||||
@@ -109,20 +140,4 @@ class Migration(migrations.Migration):
|
|||||||
},
|
},
|
||||||
bases=("bookshelf.basebook",),
|
bases=("bookshelf.basebook",),
|
||||||
),
|
),
|
||||||
migrations.RunPython(
|
|
||||||
nil,
|
|
||||||
reverse_code=migrations.RunPython.noop
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name="basebook",
|
|
||||||
name="old_title",
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name="basebook",
|
|
||||||
name="old_authors",
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name="basebook",
|
|
||||||
name="old_publisher",
|
|
||||||
),
|
|
||||||
]
|
]
|
||||||
|
Reference in New Issue
Block a user