2015-05-06 13:46:02 +03:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
## CAUTION:
|
|
|
|
## This script will remove (hopefully) all trace of the given room ID from
|
|
|
|
## your homeserver.db
|
|
|
|
|
|
|
|
## Do not run it lightly.
|
|
|
|
|
2018-05-09 01:14:01 +03:00
|
|
|
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
|
|
|
|
|
2015-05-06 13:46:02 +03:00
|
|
|
ROOMID="$1"
|
|
|
|
|
2018-05-09 01:14:01 +03:00
|
|
|
cat <<EOF
|
2017-02-19 07:27:45 +03:00
|
|
|
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';
|
2015-05-06 13:46:02 +03:00
|
|
|
DELETE FROM room_memberships WHERE room_id = '$ROOMID';
|
2017-02-19 07:27:45 +03:00
|
|
|
DELETE FROM feedback WHERE room_id = '$ROOMID';
|
|
|
|
DELETE FROM topics WHERE room_id = '$ROOMID';
|
|
|
|
DELETE FROM room_names WHERE room_id = '$ROOMID';
|
2015-05-06 13:46:02 +03:00
|
|
|
DELETE FROM rooms WHERE room_id = '$ROOMID';
|
2017-02-19 07:27:45 +03:00
|
|
|
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';
|
2018-05-09 01:46:47 +03:00
|
|
|
DELETE FROM event_search WHERE room_id = '$ROOMID';
|
2017-02-19 07:27:45 +03:00
|
|
|
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;
|
2015-05-06 13:46:02 +03:00
|
|
|
EOF
|