mirror of https://github.com/zulip/zulip.git
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
from django.db import migrations
|
|
from django.db.backends.postgresql.schema import BaseDatabaseSchemaEditor
|
|
from django.db.migrations.state import StateApps
|
|
|
|
|
|
def backfill_remote_zulip_server_creation_log_events(
|
|
apps: StateApps, schema_editor: BaseDatabaseSchemaEditor
|
|
) -> None:
|
|
RemoteZulipServer = apps.get_model("zilencer", "RemoteZulipServer")
|
|
RemoteZulipServerAuditLog = apps.get_model("zilencer", "RemoteZulipServerAuditLog")
|
|
RemoteZulipServerAuditLog.REMOTE_SERVER_CREATED = 10215
|
|
|
|
objects_to_create = []
|
|
for remote_server in RemoteZulipServer.objects.all():
|
|
entry = RemoteZulipServerAuditLog(
|
|
server=remote_server,
|
|
event_type=RemoteZulipServerAuditLog.REMOTE_SERVER_CREATED,
|
|
event_time=remote_server.last_updated,
|
|
backfilled=True,
|
|
)
|
|
objects_to_create.append(entry)
|
|
RemoteZulipServerAuditLog.objects.bulk_create(objects_to_create)
|
|
|
|
|
|
def reverse_code(apps: StateApps, schema_editor: BaseDatabaseSchemaEditor) -> None:
|
|
RemoteZulipServerAuditLog = apps.get_model("zilencer", "RemoteZulipServerAuditLog")
|
|
RemoteZulipServerAuditLog.REMOTE_SERVER_CREATED = 10215
|
|
RemoteZulipServerAuditLog.objects.filter(
|
|
event_type=RemoteZulipServerAuditLog.REMOTE_SERVER_CREATED, backfilled=True
|
|
).delete()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
dependencies = [
|
|
("zilencer", "0021_alter_remotezulipserver_uuid"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(
|
|
backfill_remote_zulip_server_creation_log_events,
|
|
reverse_code=reverse_code,
|
|
elidable=True,
|
|
)
|
|
]
|