123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #!/bin/bash
- ## CAUTION:
- ## This script will remove (hopefully) all trace of the given room ID from
- ## your homeserver.db
- ## Do not run it lightly.
- set -e
- if [ "$1" == "-h" ] || [ "$1" == "" ]; then
- echo "Call with ROOM_ID as first option and then pipe it into the database. So for instance you might run"
- echo " nuke-room-from-db.sh <room_id> | sqlite3 homeserver.db"
- echo "or"
- echo " nuke-room-from-db.sh <room_id> | psql --dbname=synapse"
- exit
- fi
- ROOMID="$1"
- cat <<EOF
- DELETE FROM event_forward_extremities WHERE room_id = '$ROOMID';
- DELETE FROM event_backward_extremities WHERE room_id = '$ROOMID';
- DELETE FROM event_edges WHERE room_id = '$ROOMID';
- DELETE FROM room_depth WHERE room_id = '$ROOMID';
- DELETE FROM state_forward_extremities WHERE room_id = '$ROOMID';
- DELETE FROM events WHERE room_id = '$ROOMID';
- DELETE FROM event_json WHERE room_id = '$ROOMID';
- DELETE FROM state_events WHERE room_id = '$ROOMID';
- DELETE FROM current_state_events WHERE room_id = '$ROOMID';
- DELETE FROM room_memberships WHERE room_id = '$ROOMID';
- DELETE FROM feedback WHERE room_id = '$ROOMID';
- DELETE FROM topics WHERE room_id = '$ROOMID';
- DELETE FROM room_names WHERE room_id = '$ROOMID';
- DELETE FROM rooms WHERE room_id = '$ROOMID';
- DELETE FROM room_hosts WHERE room_id = '$ROOMID';
- DELETE FROM room_aliases WHERE room_id = '$ROOMID';
- DELETE FROM state_groups WHERE room_id = '$ROOMID';
- DELETE FROM state_groups_state WHERE room_id = '$ROOMID';
- DELETE FROM receipts_graph WHERE room_id = '$ROOMID';
- DELETE FROM receipts_linearized WHERE room_id = '$ROOMID';
- DELETE FROM event_search WHERE room_id = '$ROOMID';
- DELETE FROM guest_access WHERE room_id = '$ROOMID';
- DELETE FROM history_visibility WHERE room_id = '$ROOMID';
- DELETE FROM room_tags WHERE room_id = '$ROOMID';
- DELETE FROM room_tags_revisions WHERE room_id = '$ROOMID';
- DELETE FROM room_account_data WHERE room_id = '$ROOMID';
- DELETE FROM event_push_actions WHERE room_id = '$ROOMID';
- DELETE FROM local_invites WHERE room_id = '$ROOMID';
- DELETE FROM pusher_throttle WHERE room_id = '$ROOMID';
- DELETE FROM event_reports WHERE room_id = '$ROOMID';
- DELETE FROM public_room_list_stream WHERE room_id = '$ROOMID';
- DELETE FROM stream_ordering_to_exterm WHERE room_id = '$ROOMID';
- DELETE FROM event_auth WHERE room_id = '$ROOMID';
- DELETE FROM appservice_room_list WHERE room_id = '$ROOMID';
- VACUUM;
- EOF
|