fix: migration 加唯一约束前自动去重,补充部署清理脚本
This commit is contained in:
@@ -1,4 +1,18 @@
|
||||
from django.db import migrations, models
|
||||
from django.db.models import Max
|
||||
|
||||
|
||||
def _dedupe_duoci_fenhong(apps, schema_editor):
|
||||
DuociFenhong = apps.get_model('products', 'DuociFenhong')
|
||||
for row in DuociFenhong.objects.values(
|
||||
'club_id', 'huiyuan', 'yonghuid', 'cishu',
|
||||
).annotate(max_id=Max('id')):
|
||||
DuociFenhong.objects.filter(
|
||||
club_id=row['club_id'],
|
||||
huiyuan=row['huiyuan'],
|
||||
yonghuid=row['yonghuid'],
|
||||
cishu=row['cishu'],
|
||||
).exclude(id=row['max_id']).delete()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
@@ -13,6 +27,7 @@ class Migration(migrations.Migration):
|
||||
name='club_id',
|
||||
field=models.CharField(db_index=True, default='xq', max_length=16, verbose_name='所属俱乐部'),
|
||||
),
|
||||
migrations.RunPython(_dedupe_duoci_fenhong, migrations.RunPython.noop),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='duocifenhong',
|
||||
unique_together={('club_id', 'huiyuan', 'yonghuid', 'cishu')},
|
||||
|
||||
Reference in New Issue
Block a user