Runs black
This commit is contained in:
@ -6,44 +6,61 @@ from django.db.models import Q
|
||||
import django.db.models.deletion
|
||||
from psycopg2.extras import execute_values
|
||||
|
||||
|
||||
def convert_review_rating(app_registry, schema_editor):
|
||||
''' take rating type Reviews and convert them to ReviewRatings '''
|
||||
""" take rating type Reviews and convert them to ReviewRatings """
|
||||
db_alias = schema_editor.connection.alias
|
||||
|
||||
reviews = app_registry.get_model(
|
||||
'bookwyrm', 'Review'
|
||||
).objects.using(db_alias).filter(
|
||||
Q(content__isnull=True) | Q(content='')
|
||||
reviews = (
|
||||
app_registry.get_model("bookwyrm", "Review")
|
||||
.objects.using(db_alias)
|
||||
.filter(Q(content__isnull=True) | Q(content=""))
|
||||
)
|
||||
|
||||
with connection.cursor() as cursor:
|
||||
values = [(r.id,) for r in reviews]
|
||||
execute_values(cursor, '''
|
||||
execute_values(
|
||||
cursor,
|
||||
"""
|
||||
INSERT INTO bookwyrm_reviewrating(review_ptr_id)
|
||||
VALUES %s''', values)
|
||||
VALUES %s""",
|
||||
values,
|
||||
)
|
||||
|
||||
|
||||
def unconvert_review_rating(app_registry, schema_editor):
|
||||
''' undo the conversion from ratings back to reviews'''
|
||||
""" undo the conversion from ratings back to reviews"""
|
||||
# All we need to do to revert this is drop the table, which Django will do
|
||||
# on its own, as long as we have a valid reverse function. So, this is a
|
||||
# no-op function so Django will do its thing
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('bookwyrm', '0045_auto_20210210_2114'),
|
||||
("bookwyrm", "0045_auto_20210210_2114"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='ReviewRating',
|
||||
name="ReviewRating",
|
||||
fields=[
|
||||
('review_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='bookwyrm.Review')),
|
||||
(
|
||||
"review_ptr",
|
||||
models.OneToOneField(
|
||||
auto_created=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
parent_link=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
to="bookwyrm.Review",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
"abstract": False,
|
||||
},
|
||||
bases=('bookwyrm.review',),
|
||||
bases=("bookwyrm.review",),
|
||||
),
|
||||
migrations.RunPython(convert_review_rating, unconvert_review_rating),
|
||||
]
|
||||
|
@ -6,9 +6,8 @@ from django.db import migrations
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('bookwyrm', '0046_reviewrating'),
|
||||
('bookwyrm', '0046_sitesettings_privacy_policy'),
|
||||
("bookwyrm", "0046_reviewrating"),
|
||||
("bookwyrm", "0046_sitesettings_privacy_policy"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
]
|
||||
operations = []
|
||||
|
Reference in New Issue
Block a user